Ich versuche, die Google Maps APIs v3 zu verwenden, aber ich habe immer einen Fehler
Ich habe das Skript auf der Seite hinzugefügt:
%Vor%und ich habe implementiert:
%Vor%Ich habe immer den gleichen Fehler:
Uncaught TypeError: Die Eigenschaft 'DrawingManager' von undefined
kann nicht gelesen werden
'Die Konzepte in diesem Dokument beziehen sich auf Funktionen, die nur in der google.maps.Drawing-Bibliothek verfügbar sind. Diese Bibliothek wird beim Laden der Google Maps Javascript-API nicht standardmäßig geladen, sondern muss explizit mit einem Bootstrap-Parameter der Bibliothek angegeben werden: '
Es scheint, dass Ihr Code ausgeführt wird, bevor die Bibliothek geladen wurde. Wenn Sie asynchron laden, sollten Sie die Bibliothek in den gleichen API-Aufruf aufnehmen, der einen Rückruf für Ihre Map-Initialisierungsfunktion angibt (die vermutlich Ihr Codefragment enthält / aufruft). Wenn Ihre Initialisierungsfunktion initMap
heißt, dann tun Sie dies:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/jskey=YOUR_API_KEY?libraries=drawing&callback=initMap"></script>
Ich habe den gleichen Fehler bekommen, indem ich 2 Script-Tags habe; eine, die die Zeichnungsbibliothek lädt (wie Ihre, ohne Rückruf) und eine andere nur mit dem Rückruf. Ich habe es behoben, nachdem Google freundlicherweise folgendes in meine Konsole geschrieben hat:
You have included the Google Maps API multiple times on this page. This may cause unexpected errors.
Abgesehen davon, dass Ihr Codebeispiel nicht vollständig ist (ich nehme an, Sie haben gerade die schließenden Klammern verpasst, als Sie es kopiert haben), sehe ich nichts Offensichtliches. Ich habe die Zeichnungsbibliothek nicht verwendet, aber es scheint, als ob Sie die Dokumentation korrekt befolgt haben. Ich würde Firebug verwenden, um zu prüfen, ob Javascript von Google geladen wird, und ob es etwas über die DrawingManager-Klasse gibt.
Tags und Links google-maps google-maps-api-3