首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将Google Maps plus代码转换为Lng和Lat坐标

如何将Google Maps plus代码转换为Lng和Lat坐标
EN

Stack Overflow用户
提问于 2019-05-23 22:38:51
回答 2查看 13.9K关注 0票数 4

我正在做一个项目,我正在使用一些旧的谷歌地图的东西。例如,它需要经度和纬度的gps坐标来获得医院的位置。

我找不到以'lng,lat‘格式检索信息方法

例如:(34.417514,8.7518123)

新的谷歌地图唯一拥有的就是加代码(由https://plus.codes/使用),它们使用这些代码作为位置坐标。

你们能不能帮我找个办法把它们转换成lng lat格式,或者直接从Google Maps网站上检索lng和lng。

或者在android studio (当然是在数据库中)中以加码格式保存我的地理位置,而不是使用后来的lng

https://www.up-00.com/i/00125/m4kadq6c7aeb.png

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-28 03:13:12

您可以通过Plus codes API将Plus代码转换为lat/lng格式。如果您有完整的( "+“字符前的8位数字,例如表示您所在位置的8F6CCQCW+2F )和代码,您可以通过以下方式在本地(无需任何互联网请求)使用OpenLocationCode.decode()方法:

代码语言:javascript
运行
复制
...
OpenLocationCode olc = new OpenLocationCode("8F6CCQCW+2F");
Log.d(TAG, "Lat = " + olc.decode().getCenterLatitude() + "  Lng = " + olc.decode().getCenterLongitude());
...

如果您有短加码( "+“字符前少于8位数字,例如,CCQCW+2F Gafsa表示您的位置,Gafsa是区域,使用它而不是使用完整的加码),则可以将HttpURLConnection用于

代码语言:javascript
运行
复制
`https://plus.codes/api?address=CCQCW%2B2F Gafsa&key=YOUR_GEOCODING_API_KEY`

(%2B用于for +符号)

(注意!你需要Geocoding API Key来对Gafsa部分进行地理编码,这是一个区域,你需要一个带有简短加号的区域),并从它的JSON响应中获取location.latlocation.lng标签:

代码语言:javascript
运行
复制
{
  "plus_code": {
    "global_code": "8F6CCQJG+",
    "geometry": {
      "bounds": {
        "northeast": {
          "lat": 34.432500000000005,
          "lng": 8.777500000000003
        },
        "southwest": {
          "lat": 34.43000000000001,
          "lng": 8.775000000000006
        }
      },
      "location": {
        "lat": 34.431250000000006,
        "lng": 8.776250000000005
      }
    },
    "locality": {}
  },
  "status": "OK"
}

对于"alternative“(以加代码格式保存我的地理位置),您可以(完全本地)使用OpenLocationCode类的encode()方法:

代码语言:javascript
运行
复制
OpenLocationCode.encode(34.43125, 8.77625)
票数 4
EN

Stack Overflow用户

发布于 2020-07-08 22:53:04

Python解决方案:

代码语言:javascript
运行
复制
>>> import openlocationcode
>>> openlocationcode.decode('8F6CCQCW+2F')
[34.42, 8.796125, 34.420125, 8.79625, 34.4200625, 8.7961875, 10]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56277636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档