J'essaie de dessiner un polygone sur ma carte en utilisant ngmap
. La carte est correctement affichée comme this exemple montre, mais quand je termine le tirage au sort, voici ce que je reçois:Dessiner un polygone en utilisant ngmap
ng-map.min.js:25 Uncaught TypeError: Cannot read property 'onMapOverlayCompleted' of undefined
J'utilise le même code de l'exemple.
Mes questions:
1- Comment puis-je résoudre cette erreur?
2- Si je veux laisser l'utilisateur dessiner seulement une forme de polygone, j'ai essayé de définir la valeur de drawingMode
sur "polygone" mais j'ai toujours les autres options de dessin (cercle ...). Comment ne laisser que le polygone dessiner?
3- Comment autoriser l'utilisateur à effacer le polygone dessiné?
4- Est-il possible de détecter l'action de mettre (dessin) tous les points. Je veux dire que pour dessiner une ligne dans le polygone par exemple j'ai besoin d'au moins deux points. Puis-je détecter quand l'utilisateur dessine le premier point puis le second et obtient ses coordonnées?
Modifier
Ceci est toute erreur que je vois quand j'inclus ng-map.js
au lieu de 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
Je résolu la première question:
Mon problème était que J'utilise des routes dans l'app.js. Donc, le html
et le controller
sont liés. Pour résoudre le problème, je mets $scope.onMapOverlayCompleted
au lieu de var vm = this;
vm.onMapOverlayCompleted
parce que je n'écris pas le ng-controller="DrawingManagerCtrl as vm"
dans mon HTML
. Puis dans le HTML
je mets on-overlaycomplete="onMapOverlayCompleted()"
et cela fonctionne.
Je résolu aussi la deuxième question en utilisant:
drawing-control-options="{position: 'TOP_CENTER',drawingModes:['polygon']}"
Je suis veulent maintenant résoudre les autres problèmes.
Une aide s'il vous plaît?
Veuillez inclure 'ng-map.js' pour voir le détail de l'erreur, pas' ng-ma-.min.js'. – Pengyy
@Pengyy s'il vous plaît voir mon edit –
Vous devez partager plus de votre code pour que nous puissions vous aider. Surtout le contrôleur et HTML contenant la carte –