Получите только конкретный результат, используя google geocode api
Я использую google geocode api для извлечения lat long, используя почтовый индекс of singapore
Я попытался выполнить выборку данных:
(1) http://maps.googleapis.com/maps/api/geocode/json?address=505468&sensor=false
(2) http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false
(3) http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false®ion=sg
Но он возвращает местоположение из Индии
https://developers.google.com/maps/documentation/geocoding/?hl=fr#RegionCodes
Любой другой способ получить только конкретный для страны (Сингапур) результат.
Я попытался выполнить его верный результат
http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20133224&sensor=false
Ответы
Ответ 1
Чтобы ограничить результаты в конкретной стране, используйте фильтрацию компонентов.
URL должен быть http://maps.googleapis.com/maps/api/geocode/json?address=Singapore%20505468&sensor=false&components=country:SG
Но это не проблема, результат геокодера неверен, потому что в результате страна имеет значение SG
, но местоположение неверно (помещено в Индию).
Я боюсь с данным адресом (кажется, что почтовый индекс не существует), единственное, что вы можете сделать, это сообщить о неправильном результате в google.
Ответ 2
Правильный способ сделать это - предоставить componentRestrictions
Например:
var request = {
address: address,
componentRestrictions: {
country: 'UK'
}
}
geocoder.geocode(request, function(results, status){
//...
});
Ответ 3
вы можете установить одну страну или несколько стран.
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Raf&sensor=false&types=(regions)&key=YOUR_API_KEY&components=country:ESP
OR
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Raf&sensor=false&types=(regions)&key=YOUR_API_KEY&components=country:ESP|country:uk|country:us
Ответ 4
Вы должны иметь возможность использовать этот подход
http://maps.googleapis.com/maps/api/geocode/json?components=country:US|postal_code:5037
удалите адрес и компонент передайте почтовый код и убедитесь, что адрес имеет значение, позволяющее передать другое значение, выбранное пользователем, с почтовым кодом для проверки вашего api или иначе без передачи почтового кода, он будет протекать в другой адрес