Google 地图:按坐标打开 URL 但显示位置名称
Google Maps: open URL by coordinates but show the location name
我一直在尝试从坐标 URL 打开 Google 地图(特别是 Android,但不一定),例如
https://www.google.com/maps/search/?api=1&query=51.5055,-0.0754
但是当地图打开时,我希望它显示位置名称,例如"Tower Bridge"。不是坐标 51.5055,-0.0754
我试过
https://www.google.com/maps/search/?api=1&query=51.5055,-0.0754&query_place_id=Tower+Bridge
运气不好。当地图打开时,它显示坐标,而不是地名。
我同意 "injecting" 位置名称(类似于 https://....&location_name=Traitors+Gate
),and/or 地图从坐标显示位置名称(反向地理编码)。
动机: 坐标比地名更准确,更不易含糊。例如,有俄亥俄州耶路撒冷和以色列耶路撒冷,它们相隔半个地球。或者,"Palais de Louvre"这只是一栋建筑,但却是一座跨越四条街的巨大建筑,有多个入口。坐标解决了这些问题,但它们不是 "Human readable"。您不能向用户显示“49.3697,0.8711”并期望他们认出奥马哈海滩。
谢谢
很遗憾,Google 地图 URL 不支持这种发送标签。您应该发送一个有效的地点 ID 值,以便在 Google 地图应用程序中获得正确的地点标题。
您将需要一个额外的步骤来执行此操作。对坐标执行反向地理编码请求并获取地点 ID。
https://maps.googleapis.com/maps/api/geocode/json?latlng=51.5055%2C-0.0754&language=en&key=YOUR_API_KEY
这将 return 塔桥的地点 ID ChIJlRsEuUgDdkgRSM7ciIhVooM
。在 Geocoder 工具中查看此示例:
https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D51.5055%252C-0.0754
Google 地图 API Web 服务有一个 Java 客户端库,您可以在 GitHub:
上找到
https://github.com/googlemaps/google-maps-services-java
您可以使用此库执行地理编码请求,或者您也可以使用 Places API 附近搜索来获取最近的地点。请注意,Web 服务需要不同的 API 密钥,因为它们不支持您在地图 Android API 的 API 密钥中使用的 Android 应用程序限制。
获得地点 ID 值后,只需创建 Google 地图 URL link。例如
https://www.google.com/maps/search/?api=1&query=51.5055,-0.0754&query_place_id=ChIJlRsEuUgDdkgRSM7ciIhVooM
希望对您有所帮助!
我一直在尝试从坐标 URL 打开 Google 地图(特别是 Android,但不一定),例如
https://www.google.com/maps/search/?api=1&query=51.5055,-0.0754
但是当地图打开时,我希望它显示位置名称,例如"Tower Bridge"。不是坐标 51.5055,-0.0754
我试过
https://www.google.com/maps/search/?api=1&query=51.5055,-0.0754&query_place_id=Tower+Bridge
运气不好。当地图打开时,它显示坐标,而不是地名。
我同意 "injecting" 位置名称(类似于 https://....&location_name=Traitors+Gate
),and/or 地图从坐标显示位置名称(反向地理编码)。
动机: 坐标比地名更准确,更不易含糊。例如,有俄亥俄州耶路撒冷和以色列耶路撒冷,它们相隔半个地球。或者,"Palais de Louvre"这只是一栋建筑,但却是一座跨越四条街的巨大建筑,有多个入口。坐标解决了这些问题,但它们不是 "Human readable"。您不能向用户显示“49.3697,0.8711”并期望他们认出奥马哈海滩。
谢谢
很遗憾,Google 地图 URL 不支持这种发送标签。您应该发送一个有效的地点 ID 值,以便在 Google 地图应用程序中获得正确的地点标题。
您将需要一个额外的步骤来执行此操作。对坐标执行反向地理编码请求并获取地点 ID。
https://maps.googleapis.com/maps/api/geocode/json?latlng=51.5055%2C-0.0754&language=en&key=YOUR_API_KEY
这将 return 塔桥的地点 ID ChIJlRsEuUgDdkgRSM7ciIhVooM
。在 Geocoder 工具中查看此示例:
https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D51.5055%252C-0.0754
Google 地图 API Web 服务有一个 Java 客户端库,您可以在 GitHub:
上找到https://github.com/googlemaps/google-maps-services-java
您可以使用此库执行地理编码请求,或者您也可以使用 Places API 附近搜索来获取最近的地点。请注意,Web 服务需要不同的 API 密钥,因为它们不支持您在地图 Android API 的 API 密钥中使用的 Android 应用程序限制。
获得地点 ID 值后,只需创建 Google 地图 URL link。例如
https://www.google.com/maps/search/?api=1&query=51.5055,-0.0754&query_place_id=ChIJlRsEuUgDdkgRSM7ciIhVooM
希望对您有所帮助!