google 映射 API JavaScript 而不是 html 文件中的 运行 但在 w3schools 中运行

google maps API JavaScript not running in html file but runs in w3schools

我试图获取我的当前位置并显示在 google 地图中。 为此:

https://developers.google.com/maps/documentation/javascript/examples/map-geolocation

当我在浏览器中 运行 html 文件时,我收到一个警告,提示错误 InvalidKeyOrUnauthorizedURL,但似乎我做的一切都是正确的,实际上我似乎真的做到了,因为当我 运行 W3School 教程 ("Try it your self") 中的确切代码时,结果显示了我的位置。

所以在这个上下文之后,我想知道为什么我不能直接在浏览器上 运行 这段代码,我的意思是,使用 w3schools 没问题,但它不是正确的方式,它是质疑为什么它无效。

观察: 请注意,该文件不是托管的,它是我自己的计算机。 我尝试在 Opera 中 运行 和 Chrome 浏览器 - 但它们都失败了。 我 运行 google 的代码直接在浏览器上成功映射 api 但他们不需要任何密钥。

谢谢

这是因为您没有将其托管在本地服务器上。

即使您允许所有网站跟踪您的位置,您的浏览器也不会允许位置请求通过。

在本地主机界面上设置一个服务器,然后尝试运行。它应该工作得很好。

PS。当任何位置请求被阻止时,您的浏览器会告诉您。在 Chrome 中,在请求位置后,URL 栏的右侧会出现一个小图标。