Согласно руководству по оптимизации карт можно сократить использование Google Places с помощью API GeoCoding для получения местоположения места по идентификатору места.
API геокодирования
Если ваше приложение обрабатывает введенные пользователем адреса, адреса иногда бывают неоднозначными (неполными, с ошибками или плохо отформатированы).Вы можете устранить неоднозначность адресов с помощью автозаполнения.Затем используйте идентификаторы мест, чтобы получить их местоположение.
Мобильный
Карты
Для мобильных приложений используйте Maps SDK для Android или Maps SDK для iOS при отображении карты,Мобильные SDK бесплатны и имеют неограниченную квоту.Используйте Maps Static API или Maps JavaScript API, когда требования исключают использование мобильных SDK.
Возможна ли такая оптимизация с использованием Android?
Пакет геокодера в расположении Android не предоставляет никаких данных.метод для извлечения адреса из placeId только из лат, long или name:
List<Address> getFromLocation(double latitude, double longitude, int maxResults);
List<Address> getFromLocationName(String locationName, int maxResults);
List<Address> getFromLocationName(String locationName, int maxResults, double lowerLeftLatitude, double lowerLeftLongitude, double upperRightLatitude, double upperRightLongitude);
Javascript Code:
// This function is called when the user clicks the UI button requesting
// a geocode of a place ID.
function geocodePlaceId(geocoder, map, infowindow) {
var placeId = document.getElementById('place-id').value;
geocoder.geocode({'placeId': placeId}, function(results, status) {
if (status === 'OK') {
if (results[0]) {
map.setZoom(11);
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
infowindow.setContent(results[0].formatted_address);
infowindow.open(map, marker);
} else {
window.alert('No results found');
}
} else {
window.alert('Geocoder failed due to: ' + status);
}
});