Javascript 从place_id获取谷歌地图链接

Javascript 从place_id获取谷歌地图链接,javascript,google-maps,google-maps-api-3,google-maps-urls,Javascript,Google Maps,Google Maps Api 3,Google Maps Urls,嗨,使用谷歌地图API和搜索,我可以找到一个特定的地方,然后存储它的详细信息。但是,该阵列不包含谷歌地图链接,该链接将在谷歌地图上打开此位置 通过API,我收到了place_id,我觉得这应该足以建立一个完整的谷歌地图链接;然而,我找不到一个方法来做到这一点。谁能告诉我怎么做 谢谢您的时间。上没有关于预期参数的文档,因此这可能只是一种解决方法(至少目前对我有效) 在大多数情况下,以下URL格式似乎可以提供所需的结果: https://www.google.com/maps/place/[plac

嗨,使用谷歌地图API和搜索,我可以找到一个特定的地方,然后存储它的详细信息。但是,该阵列不包含谷歌地图链接,该链接将在谷歌地图上打开此位置

通过API,我收到了place_id,我觉得这应该足以建立一个完整的谷歌地图链接;然而,我找不到一个方法来做到这一点。谁能告诉我怎么做


谢谢您的时间。

上没有关于预期参数的文档,因此这可能只是一种解决方法(至少目前对我有效)

在大多数情况下,以下URL格式似乎可以提供所需的结果:

https://www.google.com/maps/place/[place-name]/@[latitude],[longitude],[zoom]z/
您可以基于地名和地名几何图形创建此URL

函数初始化(){
var ac=new google.maps.places.Autocomplete(document.getElementById('pac');
google.maps.event.addListener(ac,'place_changed',function(){
var place=this.getPlace(),
link=document.getElementById('link');
如果(!place.geometry){
link.textContent='';
}否则{
var zoom=17,
url='1〕https://www.google.com/maps/place/' +
encodeURIComponent(place.name)+'/@'+
place.geometry.location.toUrlValue()+','+
缩放+z/;
link.href=link.textContent=url;
}
});
}
google.maps.event.addDomListener(窗口“加载”,初始化)



有一种方法可以始终获取正确的URL,但它确实需要额外的请求

您可以使用place_id获取地点详细信息
https://maps.googleapis.com/maps/api/place/details/json?key=YOURAPIKEY&placeid=THEPLACEID

来自的响应有一个['result']['url']字段,它总是打开正确的位置。
例如,
https://maps.google.com/?cid=10254754059248426663

您可以使用google嵌入API,并将src作为链接: 例如:

文件:
试试下面的语法。我希望有帮助

https://www.google.com/maps/place/?q=place_id:ChIJp4JiUCNP0xQR1JaSjpW_Hms

这里是一个官方url,用于搜索
placeId
,如果
placeId
不存在,则返回到
地址

https://www.google.com/maps/search/?api=1&query=&query_place_id=


无需令牌,可在Android、iOS(以及iOS 11)和web上运行

您可以使用google嵌入API,并将src作为链接:例如:


什么对我有效而没有地方标识

https://www.google.com/maps/search/<search term>/@<coordinates>,<zoom level>z

我正在开发的安卓应用程序也有同样的问题。如果下面的答案是正确的,那么必须使用返回的place_id来创建另一个URL请求以获得正确的CIDI将获得无效的请求,您需要使用ServerAPIKey。回答很简单,没有对服务器的额外请求。android上的谷歌地图说:
不支持的链接:谷歌地图无法打开此链接
@KirillKulakov对此表示抱歉(已确认-工作正常!地址部分是必需的,但似乎没有做任何事情。我可以在其中输入任何内容,并使查找仍然有效。该地址是一个备份,如果google place ID将被删除,google maps将回退到该地址。您可以尝试通过提供无效的place idBest解决方案-在桌面上打开Goog手机上的乐地图网站(Android和iOS)打开了谷歌地图应用程序。这个解决方案很有效,谢谢,但我得到了“混合内容”当我最终登录到列表时出现警告:
Mixed Content:the page at'https://www.google.com/maps/search/?api=1&query=%3Caddress%3E&query_place_id=ChIJoT5E1FlgLxMR1qP3Z4NRVBY'已通过HTTPS加载,但请求了不安全的映像'http://www.google.com/maps/vt/data=zYuhVnS8JosXRxoH3bbPoEAByijPZHC_yNruvFpujaxqT6-OKmrS1cV2ft0f8dQNh7_HX2epahFbnLuLDgS39EdmrW_ZHt-eAfKRxDSXoaOf3BHtn5RaLfE26v_G06; JA4OLDxNSI_nubeVjJPp0.此内容还应通过HTTPS提供。
这需要API密钥,这对很多人来说并不理想。
https://www.google.com/maps/search/<search term>/@<coordinates>,<zoom level>z
https://www.google.com/maps/search/Jouvay+Night+Club/@40.6961111,-73.8041667,15z