2017-02-22 42 views
0

当我在示例页面https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete上键入查询Mountainview chem-dry时,我得到结果。当我在jsfiddle中打开它时,放入我自己的api键,然后再次运行它,结果没有结果。我查看了请求,除了密钥和一些其他奇数查询参数(1d-33.936405187906715等),请求是相同的。代码中唯一的区别是api键。Google地方的自动完成取决于密钥显示不同的结果

回答

1

Mountainview Chem-Dry被定义为服务区域业务。请注意,服务区域商家不应通过地点自动填充来提供。

这些地方的响应通常有0,0个坐标,没有意义显示在地图上没有精确坐标的地方。

如果您在使用Google的API密钥执行示例页面时查看网络活动,您将看到Mountainview Chem-Dry的地点ID为ChIJG-kOFY4NiYgRc2BFHIDJ7eg。

现在,执行到位的细节要求:

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJG-kOFY4NiYgRc2BFHIDJ7eg&key=YOUR_API_KEY

您将看到以下响应:

... 
"geometry":{ 
    "location":{ 
    "lat":0, 
    "lng":0 
    }, 
    "location_type":"APPROXIMATE" 
}, 
... 

,表示这是一个SAB。还要注意其中的例子显示这个地方(这是(0,0)大西洋靠近非洲坐标)

enter image description here

这实在是令人困惑的。我想Google的示例页面不应该使用内部API密钥来显示所有地方,因为您可以在开发人员控制台中生成的普通API密钥过滤掉所有SAB。

+0

我认为这与它是一个SAB有关,但不太确定示例页面中使用的密钥是否具有额外的权限或权限等等。不过,这很有道理。 – SgtPepper43

相关问题