Ограничить геокодирование Google только результатами по стране

На данный момент могу выслать shsihsigsuygdjhgadjhg через мой API Google Geocode, и он возвращает APPROXIMATE тип местоположения — хотя я только что сделал это!

Я ограничил запрос только GB (Великобритания) согласно документации, но как я могу ограничить его только возвратом true место?

Параметры:

$param = ['address' => 'shsihsigsuygdjhgadjhg','components' => 'country:GB'];

Отклик:

$response = \Geocoder::geocode('json', $param);
$decoded_response = json_decode($response);

Ответ:

+"results": array:1 [▼
0 => {#314 ▼
+"address_components": array:1 [▼
0 => {#313 ▼
+"long_name": "United Kingdom"+"short_name": "GB"+"types": array:2 [▼
0 => "country"1 => "political"]
}
]
+"formatted_address": "United Kingdom"+"geometry": {#320 ▼
+"bounds": {#131 ▶}
+"location": {#321 ▶}
+"location_type": "APPROXIMATE"+"viewport": {#323 ▶}
}
+"partial_match": true
+"place_id": "ChIJqZHHQhE7WgIReiWIMkOg-MQ"+"types": array:2 [▼
0 => "country"1 => "political"]
}
]
+"status": "OK"}

Как я могу гарантировать, что он возвращается ZERO_RESULTS для приблизительного местоположения?

1

Решение

Вместо добавления поля компонентов добавьте значение страны в само поле адреса. Поле компонента пытается получить компонент в указанных вами значениях. Он не может определить адрес, по которому вы переходите, но он распознает страну и, следовательно, вы получаете частичное совпадение для него.

Вместо

$param = ['address' => 'shsihsigsuygdjhgadjhg','components' => 'country:GB'];

Пытаться,

$param = ['address' => 'shsihsigsuygdjhgadjhg, GB'];

Я получаю нулевые результаты для второй реализации.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]