私はng-map指示文を使用してマップを持っていますが、<drawing-manager>
もあり、地図上に図形を描くことができます。Googleマップで描いたポリゴンを取り除く方法
は、私はちょうど私のユーザーが地図上の1つのポリゴンを描画できるようにしたい、ここに私のHTMLです:
<div ng-controller="CreateOrderController as vm" map-lazy-load="https://maps.google.com/maps/api/js"
map-lazy-load-params="{{googleMapsUrl}}">
<ng-map zoom="4" center="33.134394, 53.664248"
map-type-id="ROADMAP">
<drawing-manager
on-overlaycomplete="vm.onMapOverlayCompleted()"
drawing-control-options="{position: 'TOP_CENTER',drawingModes:['polygon']}"
drawingControl="true"
drawingMode="null">
</drawing-manager>
</ng-map>
</div>
これは私のコントローラです:
var vm = this;
$scope.googleMapsUrl="https://maps.googleapis.com/maps/api/js?key=myKeyIsHere&sensor=false&libraries=drawing";
NgMap.getMap().then(function(map) {
vm.map = map;
});
vm.onMapOverlayCompleted = function(e){
var shapePath=e.overlay.getPath().getArray(); //This returns an array of drawn polygon cordinates
//Just for example, here I want to delete the drawn polygon:
$scope.deletePolygon();
};
$scope.deletePolygon = function() {
//According to Google's docs: https://developers.google.com/maps/documentation/javascript/examples/polyline-remove
vm.map.setMap(null);
};
deletePolygon
関数がエラーを返します。
Uncaught TypeError: vm.map.setMap is not a function
マップオブジェクトには、setMap
関数、bu t Google docsは、ポリゴンシェイプを削除する方法を教えてくださいsetMap(null)
ポリゴンシェイプを削除/削除する方法はありますか?
からすべてのあなたの多角形、円形、行を削除しますあなたにこのエラーについての考えを持っていてください! Uncaught TypeError:定義されていない –
@Llgのプロパティ 'onMapOverlayCompleted'を読み取ることができません。定義された答えをご覧ください。それはあなたを助けますか? – M98
ありがとうございます私は問題を解決しました:)あなたはこれを見てくださいできますか?http://stackoverflow.com/questions/43748609/draw-polygon-using-ngmap –