TLDR
当我以file://<path>/index.html
访问我的笔记本电脑时,我的代码工作得很好,但是在我的笔记本电脑上运行时没有运行Apache服务器作为http://<path>/index.html
,也不能在我的真实(生产)服务器上运行。我在控制台上看不到任何错误,但地图只是一个灰色矩形。
我编写任何Google地图应用程序已有几年了。
看来,截至去年,现在需要拥有一个API密钥,通过提供信用卡详细信息,并为其提供每个API调用。
不幸的是,有很多关于此的信息,其中大部分/大部分已经过时和/或相互矛盾。
任何人都可以指向规范指南,最好是截图,如何配置这个?
我想绘制一张地图,并添加一些需要反向地理编码的制作者,这样我就可以提供街道地址并将其转换为纬度/经度来放置标记。
听起来很简单,但成千上万的“有用”网站中哪一个已经做对了?
例如,似乎是the current Google help page所说的
从“导航”菜单中,选择“API和服务”>“凭据”。 在“凭据”页面上,单击“创建凭据”>“API密钥”
但我甚至看不到菜单选项:-(
[更新]如果它有帮助,开发人员控制台中的错误消息说:
地理编码服务:您必须使用API密钥对Google Maps Platform API的每个请求进行身份验证。有关其他信息,请参阅http://g.co/dev/maps-no-account有关身份验证和Google Maps JavaScript API服务的详细信息,请参阅:https://developers.google.com/maps/documentation/javascript/get-api-key
[更新]我试图像这样访问API
<script src="maps.google.com/maps/api/…>
和
var url = 'https://maps.googleapis.com/maps/api/geocode/json?address=' + comapnyLocation +'&key=XXXX';
$ http.get(URL)
[Update ++]在开发者控制台中,我看到了一堆错误:
aliextension.com/wp-content/uploads/2017/08/JAR.png:1获取https://aliextension.com/wp-content/uploads/2017/08/JAR.png net :: ERR_CONNECTION_TIMED_OUT
我不知道aliextension
是什么,它也不会出现在我的代码中(也许在一些缩小的JS中?)
好吧,这与AliExpress(阿里巴巴)有关。我删除了它,超时消息消失了,但我仍然有问题。
如果我将index.html
作为file://
加载到Chrome中,那么它的工作正常。但是,如果我加载它`http://,我运行Xampp Apache服务器,地图框仍然是灰色的,虽然我看不到任何错误消息。我的真实服务器上发生了同样的事情:-(
这个页面应该是你的起点:https://developers.google.com/maps/documentation/javascript/tutorial它可以帮助你使用谷歌地图JavaScript API。
要将Google地图嵌入您的网站,请阅读上述链接中的概述页面。
要在Google地图中添加标记,请阅读此页:https://developers.google.com/maps/documentation/javascript/adding-a-google-map
要做反向地理编码,请阅读此页:https://developers.google.com/maps/documentation/javascript/geocoding
这就是我需要使用谷歌地图。我想你也可以这样做。
造成这种情况的原因很可能是API key restriction。
为了允许这些主机名或IP地址,您必须:
a)转到credentials panel并选择相应的项目,然后单击“Api键”。
b)在那里你可以放宽对HTTP referrers
的限制(对于网站)
...或者IP addresses
(如果这些是服务器端请求)。