2017-02-11 13 views
0

В настоящее время я создаю приложение для Android, в котором есть карта. Я успешно добавил карту и могу искать места. Из того, что я искал в Интернете, я могу установить свой город и ограничить свой поиск только своей страной.Android-карта для поиска по городу

Кто-нибудь знает, как ограничить мой поиск только внутри города?

ответ

0

это довольно сложно решение, но вы можете сделать это с помощью следующих шагов:

step1: Google мест позволяет только смещающий результаты поиска по заданным LatLngBounds (в ​​вашем случае городских границ), но поисковая система может еще возвращение Место наружная границы. См. Restrict autocomplete results для более подробной информации. Я думаю, этого достаточно, но если вам нужно строгое ограничение, следуйте шагу2.

Step2: Со всеми результатами поиска из вызова этапов с 1 Places.GeoDataApi.getPlaceById, чтобы получить подробную информацию о каждом Места. Вы получите, среди прочего, LatLng каждого места. Тогда вы можете проверить: Место находится в данных рамках: bounds.contains(LatLng) и если нет, то удалите его вручную из поиска.

ОДНАКО: Step2 решение умножает количество запросов на PlacesAPI и вы должны дважды подумать, если вам действительно нужно это строгое ограничение!

0

Я нашел решение. Это хотя и настроено на мой город. Для тех, кто хотел бы использовать это, просто измените длинный и лат. sb.append("&types=establishment&strictbounds&location=9.30684,123.305447&radius=2000");