私はマップ(ngMap)と一緒にフォームを持っています。フォームに入力してマップにマーカーを挿入した後、送信をクリックすると保存されます。しかし、もう一度追加すると、マーカーは以前の座標の場所に既に存在します。ページを手動でリロードすると、マーカーがマップから外れます。ページを手動でリロードせずに削除または非表示にする方法。
HTML
<ng-map zoom="13" center="{{coordinates.lat}},{{coordinates.lng}}" map-type-id="TERRAIN">
<marker></marker>
<shape name="polygon" on-click="drawPolygon()" paths={{rectangle}} stroke-color="#ff3232" stroke-opacity="0.8" stroke-weight="2" fill-color="#ff4c4c" fill-opacity="0.35">
</shape>
<drawing-manager on-overlaycomplete="insertMarker()" drawing-control-options="{position: 'TOP_CENTER',drawingModes:['marker']}" markerOptions="{icon:'http://www1.durban.gov.za/beachwater/images/markers/orange-dot.png'}" drawingControl="true" drawingMode="null">
</drawing-manager>
</ng-map>
コントローラ
$scope.drawingControlOptions = {
position: 'TOP_CENTER',
drawingModes: ['polygon', 'marker']
};
$scope.placesCounter = 0;
$scope.insertMarker = function(e) {
if (e.type == google.maps.drawing.OverlayType.MARKER) {
$scope.placesCounter++;
if ($scope.placesCounter > 1)
e.overlay.setMap(null); //disable marker from diplaying ..
var pos = e.overlay.getPosition();
$scope.markercoordinates = pos.toString();
}
};
また、私は成功の約束でこのように試みましたが、うまくいきませんでした
$scope.positions= [];
place.coordinates=$scope.positions[0];
私はui-routerを使用していたので、このようにプログラムでページをリロードしようとしましたが、これ$state.transitionTo('dashboard.places.list', null, { reload: true, inherit: false, notify: true });
も機能しませんでした。誰でも私を助けてくれませんか