如何从 Android 上的 Google 地图共享 url 获取坐标

Posted

技术标签:

【中文标题】如何从 Android 上的 Google 地图共享 url 获取坐标【英文标题】:How to get coordinates from Google Maps share url on Android 【发布时间】:2019-01-02 19:31:05 【问题描述】:

我正在尝试解码此网址:https://www.google.com/maps/place//data=!4m2!3m1!1s0x4745bd4af4e60a51:0xd62aba005d92953d?utm_source=mstt_1LM_pY9N8KOrk5pGERKQRIPXvuU12TY

我猜“0x4745bd4af4e60a51:0xd62aba005d92953d”是存储坐标的部分,但我不知道如何解码。我试图将它从十六进制转换为十进制,但它没有给我坐标值。

【问题讨论】:

【参考方案1】:

坐标在 UTM 中列出,而不是在纬度/经度中。有在线转换器可以帮助进行这种转换。当您单击该链接时,您将看到以下 URL: https://www.google.com/maps/place/Westfield/@46.225795,21.2673783,17z/data=!3m1!4b1!4m5!3m4!1s0x4745bd4af4e60a51:0xd62aba005d92953d!8m2!3d46.225795!4d21.269567.

坐标如下:46.225795,21.2673783 您有几个选择,1) 下载 Google 地球并在搜索框中输入坐标。从标签中,您可以检索纬度/经度 2) 打开谷歌地图并输入这些坐标,您将看到该搜索框下方列出的纬度/经度。

【讨论】:

Google 地球或 Google 地图对我没有帮助,因为我需要在我的 android 应用中获取坐标。【参考方案2】:

经过更多研究,我发现this SO post 包含我的问题的确切答案。

两种方法都有效:

    调用https://maps.googleapis.com/maps/api/place/details/json?key=YOUR_API_KEY&ftid=0xd62377123a70817:0x85e89b65fcf7c648 并从“几何”中提取坐标 将“0x85e89b65fcf7c648”(冒号后的第二个数字)转换为十进制

【讨论】:

以上是关于如何从 Android 上的 Google 地图共享 url 获取坐标的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android Marshmallow 上的 Google 地图上显示当前位置?

如何通过滑行在 Google 地图上的 infoWindow 中获取图像 - Android

为啥我在 Google 地图上的当前位置在 Android 应用中不正确? [复制]

Android Studio - 真正的 Android 设备上的 Google 地图在发布 apk 时仍为空白

来自 JSON 的 Google 地图上的标记

Google Maps Android API v2 - 检测地图上的触摸