На данный момент могу выслать 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
для приблизительного местоположения?
Вместо добавления поля компонентов добавьте значение страны в само поле адреса. Поле компонента пытается получить компонент в указанных вами значениях. Он не может определить адрес, по которому вы переходите, но он распознает страну и, следовательно, вы получаете частичное совпадение для него.
Вместо
$param = ['address' => 'shsihsigsuygdjhgadjhg','components' => 'country:GB'];
Пытаться,
$param = ['address' => 'shsihsigsuygdjhgadjhg, GB'];
Я получаю нулевые результаты для второй реализации.
Других решений пока нет …