您可以通过Plus 代码 APIlat/lng
将 Plus 代码转换为格式。如果您有完整的(“+”字符前的 8 位数字,例如您的位置)加码,您可以在本地(无需任何互联网请求)以这种方式使用方法:8F6CCQCW+2F
OpenLocationCode.decode()
...
OpenLocationCode olc = new OpenLocationCode("8F6CCQCW+2F");
Log.d(TAG, "Lat = " + olc.decode().getCenterLatitude() + " Lng = " + olc.decode().getCenterLongitude());
...
如果您有短加码(“+”字符前少于 8 位数字,例如CCQCW+2F Gafsa
对于您的位置,Gafsa 是该区域,并且使用它而不是使用完整的加码),您可以HttpURLConnection
使用
`https://plus.codes/api?address=CCQCW%2B2F Gafsa&key=YOUR_GEOCODING_API_KEY`
(%2B
用于 for+
符号)
(注意!您需要地理编码部分的地理编码 API 密钥Gafsa
,即区域,您需要一个带有短加码的区域)并从其 JSON 响应中获取location.lat
和标记:location.lng
{
"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"
}
对于“替代”(以加码格式保存我的地理位置),您可以(完全本地)使用类encode()
方法OpenLocationCode
:
OpenLocationCode.encode(34.43125, 8.77625)