Ich versuche, Polygon auf meiner Karte mit ngmap
zu zeichnen. Die Karte wird korrekt angezeigt, wie this Beispiel zeigt, aber wenn ich die Auslosung zu beenden, das ist, was ich bekomme:Zeichnen Sie Polygon mit ngmap
ng-map.min.js:25 Uncaught TypeError: Cannot read property 'onMapOverlayCompleted' of undefined
habe ich den gleichen Code des Beispiels.
Meine Fragen:
1- Wie kann ich diesen Fehler beheben?
2- Wenn ich den Benutzer nur Polygonform zeichnen lassen möchte, habe ich versucht, den Wert drawingMode
auf "Polygon" zu setzen, aber ich habe immer die anderen Zeichenoptionen (Kreis ...). Wie kann nur das Polygon gezeichnet werden?
3- Wie kann ich den Benutzer das gezeichnete Polygon löschen lassen?
4- Ist es möglich, die Aktion des Puttens (Zeichnens) jedes Punktes zu erkennen? Ich meine, dass zum Zeichnen einer Linie im Polygon zum Beispiel ich mindestens zwei Punkte brauche. Kann ich erkennen, wenn der Benutzer den ersten Punkt und dann den zweiten Punkt zeichnet und seine Koordinaten erhält?
bearbeiten
Das ist der ganze Fehler, den ich sehe, wenn ich schließen ng-map.js
statt ng-map.min.js
:
Uncaught TypeError: Cannot read property 'onMapOverlayCompleted' of undefined
at index (http://localhost:8080/bower_components/ngmap/build/scripts/ng-map.js:2690:44)
at Array.reduce (native)
at Uw.<anonymous> (http://localhost:8080/bower_components/ngmap/build/scripts/ng-map.js:2691:39)
at P4._.z.trigger (https://maps.google.com/maps/api/js?key=MY_API_KEY&libraries=placeses,visualization,drawing,geometry,places:99:121)
at P4.<anonymous> (https://maps.google.com/maps/api/js?key=MY_API_KEY&libraries=placeses,visualization,drawing,geometry,places:37:81)
at C4._.z.trigger (https://maps.google.com/maps/api/js?key=MY_API_KEY&libraries=placeses,visualization,drawing,geometry,places:99:121)
at C4.<anonymous> (https://maps.google.com/maps/api/js?key=MY_API_KEY&libraries=placeses,visualization,drawing,geometry,places:37:81)
at Object._.z.trigger (https://maps.google.com/maps/api/js?key=MY_API_KEY&libraries=placeses,visualization,drawing,geometry,places:99:121)
at F4 (https://maps.google.com/maps-api-v3/api/js/28/14/drawing_impl.js:7:70)
at G4 (https://maps.google.com/maps-api-v3/api/js/28/14/drawing_impl.js:4:249)
Edit 2
ich die erste Frage gelöst:
Mein Problem war das Ich verwende Routen in der App.js. So sind die html
und die controller
darin verlinkt. Um das Problem zu lösen, setze ich $scope.onMapOverlayCompleted
anstelle von var vm = this;
vm.onMapOverlayCompleted
weil ich die ng-controller="DrawingManagerCtrl as vm"
in meinem HTML
nicht schreibe. Dann in der HTML
stelle ich on-overlaycomplete="onMapOverlayCompleted()"
und es funktioniert.
Ich löste auch die zweite Frage mit:
drawing-control-options="{position: 'TOP_CENTER',drawingModes:['polygon']}"
ich jetzt die anderen Probleme lösen wollen.
Irgendwelche Hilfe bitte?
Bitte 'ng-map.js' einbeziehen, um Details des Fehlers zu sehen, nicht' ng-ma-.min.js'. – Pengyy
@Pengyy siehe meine Bearbeitung –
Sie müssen mehr von Ihrem Code für uns teilen, um zu helfen. Vor allem der Controller und HTML mit der Karte –