Android: как выполнить поиск поблизости в MapView - PullRequest
1 голос
/ 20 июня 2011

Допустим, пользователь выбирает «Starbucks» из выпадающего списка на первом шаге, теперь я хочу показать MapView и перечислить все Starbucks вокруг местоположения пользователя (которое я уже знаю). Теперь, есть ли способ передать «starbucks» соответствующему компоненту (Geocoder?), Чтобы начать поиск без какого-либо взаимодействия с пользователем?

Я не смог найти учебник или пример кода, поэтому подход к его решению (если вообще возможно) будет высоко оценен.

1 Ответ

2 голосов
/ 20 июня 2011

ну, вам нужно вручную нарисовать наложение элемента на карте на основе расстояния между вашим местоположением и местоположением элемента. Вы можете легко получить это с помощью метода distanceBetween объекта location. при условии, что вы знаете, как рисовать наложения на карте, остается только получить источник, состоящий из имен и местоположений (это может быть локальная база данных, веб-служба, геокодер и т. д.).

это процесс, теперь о источнике данных, попробуйте найти какой-нибудь онлайн-геокодер, который вы можете использовать, или есть один в Android SDK, который на самом деле является геокодером Google Maps, который в прошлый раз, когда я проверял, был действительно плохо документирован, но если вы попытаетесь достаточно трудно заставить его работать, это конечно хорошо.

По крайней мере, из геокодера или reverseGeocoder (один - это координаты по адресу, другой - по координатам), вы получите список местоположений, соответствующих вашему поиску, поэтому проверьте его и укажите соответствующие местоположения на карте.

Google API

Просто для справки есть геокодер Google maps, который находится в SDK, есть Cloudmade, у которого также есть API, к которому вы можете получить доступ для геокодирования, но нет свободного SDK для использования, поэтому вам придется анализировать вещи самостоятельно,

CloudMade

есть также API геокодера yahoo maps, который вы также можете использовать для этого.

Yahoo

насколько я знаю.

...