Google Maps API-Demo – Google undefiniert
P粉269847997
2023-09-02 18:33:34
<p>Ich versuche, die Google Maps API zu implementieren und habe die offizielle Demo verfolgt. </p>
<p>Ich habe den Code kopiert und nur eine Änderung vorgenommen: </p>
<pre class="brush:php;toolbar:false;">// Löst einen Fehler aus: Zugriff auf das Skript unter „file:///D:/Desktop/Stuff/map-test/test.js“ vom Ursprung aus „null“ wurde durch die CORS-Richtlinie blockiert: Cross-Origin-Anfragen werden nur für Protokollschemata unterstützt: http, data, isolierte App, Chrome-Erweiterung, Chrome, https, Chrome-untrusted.
<script type="module" src="./index.js"></script>
// In dieses geändert
<script src="./index.js"></script></pre>
<p>Als Ergebnis erhalte ich die folgende Fehlermeldung: </p>
<pre class="brush:php;toolbar:false;">ReferenceError: Google ist bei initMap nicht definiert</pre>
<p>Ich vermute, dass das daran liegt, dass <code>type="module"</code> entfernt wurde? Wie implementieren die meisten Leute es, da es so aussieht, als müssten Sie das Modul selbst hosten, um es dafür importieren zu können? </p>
<p>Ich habe den Code wie folgt geändert, aber es wird eine Warnung ausgegeben. </p>
<pre class="brush:php;toolbar:false;"><script type="text/javascript"https://maps.googleapis.com/maps/api/js?key= API_KEY"></script>
// Warnung: Die Google Maps-JavaScript-API wurde direkt ohne Rückruf geladen. Dies wird nicht unterstützt und kann zu Race-Bedingungen und einer suboptimalen Leistung führen. Informationen zu unterstützten Lademustern finden Sie unter https://goo.gle/js-api-loading< /pre>
<p>Vielen Dank! </p>
<p>Herausgeber:</p>
<p>Ich habe die vorherigen Antworten zur Verwendung eines HTTP-Servers zum Hosten von Dateien gelesen und falsch verstanden, was sie mit dem Hosten von JS-Dateien meinen. Stattdessen sollten Sie die HTML-Datei zu Testzwecken lokal hosten, anstatt sie direkt zu öffnen (d. h. durch Doppelklick im Datei-Explorer). </p>
<p>Verwenden Sie also Python3:</p>
<pre class="brush:php;toolbar:false;"># im Verzeichnis, das index.html enthält:
python3 -m http.server 8080</pre>
<p>Der Besuch von http://localhost:8080/index.html funktioniert bei mir. Danke! </p>
我阅读了之前关于使用 HTTP 服务器托管文件的答案,我误解了他们的意思是托管 JS 文件。相反,您应该在本地托管 HTML 文件以进行测试,而不是直接打开 HTML 文件(即在文件资源管理器中双击它)。
所以使用 python3:
访问 http://localhost:8080/index.html 对我有用。谢谢!