2012-06-27 3 views
0

Так что я пытаюсь сделать, это следующее:Проложите на карте на основе пользовательских данных

  1. Есть карты (например, Google Maps или questMaps). Неважно, какой API мне нужно использовать.
  2. На этой карте есть наложение на улицах. Так скажите (например), что на улице плохая молния ночью, она будет окрашена в красный цвет. Если у него хорошая молния, у него будет зеленый оверлей.
  3. На основе наложения карта создает собственный маршрут (например, пользователь хочет идти по зеленым/хорошо освещенным улицам).

Я понятия не имею, как это осуществить (особенно шаг 3).

ответ

0

Прежде всего, вам нужно решить, какие данные вам нужны. Как классифицировать определенные улицы как освещенные или неосвещенные? Что делать, если некоторые части улицы хорошо освещены, а у некоторых нет света? Вам нужно знать местоположение каждого уличного фонаря в вашем районе? Что, если погаснет свет?

После выяснения, какие данные вам нужны, вам необходимо построить свой набор данных. Я был бы ОЧЕНЬ удивлен, если эти данные уже существуют, поэтому вам, вероятно, придется собрать их самостоятельно. Либо идите по городу, и делайте заметки, или выкладывайте проект, или выясняйте какой-то другой способ.

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

Наконец, изучите навигационный API выбранного инструмента отображения. Вы правы, это трудный шаг. Я знаю, что Карты Google позволяют указать определенные путевые точки при запросе маршрутов; возможно, ваше приложение может рассчитать хорошо освещенные путевые точки и отправить их в службу маршрутов Google Maps, чтобы повлиять на создаваемый маршрут.

Удачи вам!

+0

спасибо. Идея путевых точек - это прорыв для меня. –

+0

рад, что я мог бы помочь. Если это было полезно для вас, пожалуйста, подумайте о том, чтобы выжить и/или принять его в качестве хорошего ответа. http://stackoverflow.com/faq#howtoask –

0

Для пользовательской маршрутизации вам необходимо прочитать «Теория графов». Это игнорирует географию карты улиц и рассматривает ее как набор переходов (узлы или вершины на графическом теорическом жаргоне), связанные ребрами. Вы можете назначить весы по краям - это могут быть длины, время в пути, единицы и нули и т. Д. Все. Они не могут иметь никакого отношения к позиции на карте.

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