HeIIo,使用带有搜索功能的谷歌地图 API,我可以找到某个地方,然后存储它的详细信息。但是,该数组不包含谷歌地图链接,该链接会在谷歌地图上打开这个地方。
通过 API,我收到 place_id,我觉得应该足以构建完整的谷歌地图链接;但是,我找不到这样做的方法。任何人都可以建议我如何做到这一点。
感谢您的时间。
HeIIo,使用带有搜索功能的谷歌地图 API,我可以找到某个地方,然后存储它的详细信息。但是,该数组不包含谷歌地图链接,该链接会在谷歌地图上打开这个地方。
通过 API,我收到 place_id,我觉得应该足以构建完整的谷歌地图链接;但是,我找不到这样做的方法。任何人都可以建议我如何做到这一点。
感谢您的时间。
试试下面的语法。我希望它有帮助
https://www.google.com/maps/place/?q=place_id:ChIJp4JiUCNP0xQR1JaSjpW_Hms
这是一个官方网址,用于搜索 a如果不存在则placeId
回退到 aaddress
placeId
https://www.google.com/maps/search/?api=1&query=<address>&query_place_id=<placeId>
无需令牌,适用于 Android、iOS(以及 iOS 11)和网络
有一种方法可以始终获取正确的 URL,但它确实需要额外的请求。
您可以使用 place_id 来获取地点详细信息
https://maps.googleapis.com/maps/api/place/details/json?key=YOURAPIKEY&placeid=THEPLACEID
来自它的响应有一个 ['result']['url'] 字段,它总是打开正确的位置。例如。https://maps.google.com/?cid=10254754059248426663
https://www.google.com/maps/place上没有有关预期参数的文档,因此这可能只是一种解决方法(至少它目前对我有用)。
在大多数情况下,以下 URL 格式似乎可以提供所需的结果:
https://www.google.com/maps/place/[place-name]/@[latitude],[longitude],[zoom]z/
您可以根据地名和地点几何创建此 URL
function initialize() {
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');
if (!place.geometry) {
link.textContent = '';
} else {
var zoom = 17,
url = 'https://www.google.com/maps/place/' +
encodeURIComponent(place.name) + '/@' +
place.geometry.location.toUrlValue() + ',' +
zoom + 'z/';
link.href = link.textContent = url;
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3&libraries=places">
</script>
<input id="pac" />
<br/>
<a id="link" href="" target="_blank"></a>
您可以使用 google embed API,并将 src 作为链接:例如:
没有 place_id 对我有用的是什么
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
您可以使用 google embed API,并将 src 作为链接:例如:
https://www.google.com/maps/embed/v1/place?key=YOUR_API_KEY
&q=place_id:YOUR_PLACE_ID
文档: https ://developers.google.com/maps/documentation/embed/guide#place_mode