Вы можете конвертировать коды Plus в формат lat/lng
с помощью API кодов 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
для вашего местоположения), вы можете использовать HttpURLConnection
с
`https://plus.codes/api?address=CCQCW%2B2F Gafsa&key=YOUR_GEOCODING_API_KEY`
(NB! вам нужен ключ API геокодирования для геокода Gafsa
часть) и получить теги location.lat
и location.lng
из его ответа JSON:
{
"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)