выделить список улиц на карте - PullRequest
2 голосов
/ 15 июня 2011

У нас есть база адресов, которые мы доставляем. Он состоит из следующих данных:

StreetName
NumberFrom
NumberTo
ZipcodeId (points to seperate table with zipcodes, which holds cityName)
StoreId

Можно ли выделить на карте все эти адреса, такие как GoogleMaps (предпочтительно), Bing, OpenStreetMap и т. Д.?

Я знаю, как добавить полилинии, и уже занимался геокодированием в прошлом для адресов.

Возможная проблема с данными, когда они охватывают всю улицу, которую они практикуют, заключаются в том, чтобы просто установить NumberTo на 9999. Если я нанесу адрес в Google Планета Земля с помощью StreetName 999, City, он поместит точку в середина длины улицы.

Также попробовал случайное число, и оно разместило маркер на здании, а не на улице.

Я не знаю, отличается ли это от GoogleMaps ..

Обновление

Я думаю, что DirectionService в GoogleMaps API - это путь, теперь мне нужно только выяснить, если и как я могу использовать его несколько раз на карте.

Ответы [ 3 ]

3 голосов
/ 15 июня 2011

Успех!

Мне удалось перебрать все адреса, выполнив запрос DirectionsService для каждого адреса, от начала улицы до конца улицы.Извлеките GeoPoints, используемые DirectionsDisplay, сохранили его в базе данных и теперь можете рисовать полилинии на карте для каждой дороги.

Я мог бы выполнять итерации в течение времени отображения карты (только для внутреннего использования),Но все же это будет проблемой производительности, а также неуверенным, сколько запросов Google будет обрабатывать в день.Храня его в БД, мне нужен только Google, чтобы рассчитать его один раз.

0 голосов
/ 15 июня 2011

Да, вы можете преобразовать Адрес в GeoPoint и затем нанести GeoPoints на Карту. Начните с поиска здесь

0 голосов
/ 15 июня 2011

Может, но только в определенных регионах мира - например, США

Но вам нужно подготовить свои адреса - скажем, в div / spans - затем при загрузке документа вы вызываете API

Я сделал это, используя Lat / Lng из Garmin Edge - разница в том, что вам нужно перевести свои адреса в lat / lng, прежде чем вы сможете разместить их на холсте карты.

Mike

...