Геокодирование как искать адреса только в пределах границ - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь найти адрес улицы, используя API Карт Google в пределах определенной границы.Например, я хочу, чтобы Карты Google искали только в Румынии, в пределах города - Яссы.Я использую php для вызова API и передаю параметры в URL следующим образом:

$address = urlencode($address.','.config('maps.state').','.config('maps.country'));
$geocode = file_get_contents('https://maps.google.com/maps/api/geocode/json?address='. $address . '&sensor=true&components=country:RO&key='. env('GOOGLE_MAPS_API_KEY'));

Когда я пытаюсь найти улицу, которой нет (например, игрушку)это просто дает мне случайный адрес за пределами границы.Я попытался реализовать его с помощью html / javascript, чтобы увидеть, смогу ли я добиться успеха и там, но все же он выходит за пределы границ.Можно ли как-нибудь реализовать это с помощью geoJson?

1 Ответ

0 голосов
/ 18 октября 2018

Из документации API Карт Google:

В запросе геокодирования вы можете указать службе геокодирования возвращать результаты, смещенные в конкретный регион, с помощью параметра region.Этот параметр принимает аргумент ccTLD (домен верхнего уровня с кодом страны), указывающий смещение региона.Большинство кодов ccTLD идентичны кодам ISO 3166-1, за некоторыми заметными исключениями.

Так что просто добавьте &region=ro к URL-адресу, чтобы добавить страновое смещение Румынии.

...