我正在尝试实现Google Maps API,并且一直在关注官方的Demo。
我复制了代码,只做了一个更改:
// Raises an error: Access to script at 'file:///D:/Desktop/Stuff/map-test/test.js' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, isolated-app, chrome-extension, chrome, https, chrome-untrusted.
<script type="module" src="./index.js"></script>
// Changed to this
<script src="./index.js"></script>
结果,我收到以下错误:
ReferenceError: google is not defined at initMap
我猜这是由于从脚本中删除了 type="module" 造成的?大多数人如何实现它,因为似乎您需要自己托管模块才能为此导入它?
我已将代码更改为以下内容,但这会引发警告。
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=API_KEY"></script> // Warning: Google Maps JavaScript API has been loaded directly without a callback. This is not supported and can lead to race conditions and suboptimal performance. For supported loading patterns please see https://goo.gle/js-api-loading
谢谢!
编辑:
我阅读了之前关于使用 HTTP 服务器托管文件的答案,我误解了他们的意思是托管 JS 文件。相反,您应该在本地托管 HTML 文件以进行测试,而不是直接打开 HTML 文件(即在文件资源管理器中双击它)。
所以使用 python3:
# in the directory that contains index.html: python3 -m http.server 8080
访问 http://localhost:8080/index.html 对我有用。谢谢!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我阅读了之前关于使用 HTTP 服务器托管文件的答案,我误解了他们的意思是托管 JS 文件。相反,您应该在本地托管 HTML 文件以进行测试,而不是直接打开 HTML 文件(即在文件资源管理器中双击它)。
所以使用 python3:
访问 http://localhost:8080/index.html 对我有用。谢谢!