当我在示例页https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete上输入查询Mountainview chem-dry
时,我得到了结果。当我在jsfiddle中打开它时,输入我自己的api密钥,再次运行它,我得不到任何结果。我查看了请求,除了密钥和其他一些奇怪的查询参数(1d-33.936405187906715
等),请求是相同的。代码中唯一的区别是api密钥。
答案 0 :(得分:1)
Mountainview Chem-Dry被定义为服务区域业务。请注意,服务区域业务不应通过地点自动填充功能提供。
这些地方通常在回复中有0,0个坐标,没有意义在地图上显示没有精确坐标的地方。
如果您在使用Google的API密钥执行示例页面时查看网络活动,您会看到Mountainview Chem-Dry的地点ID是ChIJG-kOFY4NiYgRc2BFHIDJ7eg。
现在执行地点详细信息请求:
您将在响应中看到以下内容:
...
"geometry":{
"location":{
"lat":0,
"lng":0
},
"location_type":"APPROXIMATE"
},
...
表示这是SAB。还要注意示例显示这个地方的位置(它在非洲大西洋的0,0坐标)
这真令人困惑。我猜Google的示例页面不应该使用能够显示所有位置的内部API密钥,因为您可以在开发人员控制台中生成的普通API密钥会过滤掉所有SAB。