Создать новые данные географической карты или использовать измененные карты

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

Учитывая, что на картах Google, openstreetmaps или любых других картах не должно быть точных достопримечательностей в той области, в которой должно работать мое приложение, каков наилучший или возможный способ выполнить это требование?

Я знаю, что могу редактировать карты (например, OSM), чтобы пометить POI, но я не хочу, чтобы они менялись без моего разрешения (возможно, мне потребуется разместить их на моем сервере после редактирования?)

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

http://code.google.com/intl/de/apis/maps/iphone/terms.html

Маршрутизация в реальном времени не разрешена, если я использую Google Maps.

Было бы целесообразно, если я хочу создать свою собственную карту для области.

1 ответ

Решение

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

На практике вам потребуется выполнить довольно глубокую разработку, чтобы создать приложение для iPhone, подкрепленное некоторыми данными OSM. Я не описываю готовое решение. При реализации этого, во-первых, у вас есть выбор растрового формата (область карты, представленной в виде мозаичных изображений) или векторного формата (формат osm XML, или, возможно, вы используете собственный формат). На самом деле вам нужно векторное представление для выполнения расчетов маршрутизации, но, возможно, вы можете иметь мозаичное растровое отображение с результатами запроса маршрута в качестве наложения. Вам нужно решить, хотите ли вы, чтобы расчеты маршрутизации выполнялись на устройстве или на вашем собственном сервере.

Взять кусок данных OpenStreetMap в первую очередь, добавить к ним и сохранить их в отдельности... Это просто:-)

Другие вопросы по тегам