1

私はマップ(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 });
も機能しませんでした。誰でも私を助けてくれませんか

4

1 に答える 1

2

これはgithubで議論されており、この問題は ngMap バージョン 1.17.1 で修正されています。

于 2016-04-07T06:14:22.123 に答える