Как динамически рисовать карты

В приложении iOS я хочу нарисовать карту Соединенных Штатов с обозначенными штатами и округами. Я также хочу нарисовать отдельные штаты с выделенными округами. Я исследовал использование шейп-файлов для рисования, но не могу найти хороший API, который переводит шейп-файлы. Я заглянул в ArcGIS, но кажется, что большая часть рисунков, которые они делают, основаны на веб-сервере, а также без возможности рисовать отдельные штаты или округа.

Кто-нибудь знает хороший iOS API, который я могу использовать для рисования следующих карт?

  • Соединенные Штаты с указанием штатов и округов
  • Отдельный штат с обозначенными округами

person tentmaking    schedule 21.03.2013    source источник


Ответы (3)


Взгляните на MapBox, он позволит вам рисовать эти типы карт, затем вы можете вытащить их в виде фрагментов и наложить их с помощью MapKit.

У них также есть iOS SDK, http://mapbox.com/mapbox-ios-sdk/ если вы не хотите использовать MapKit.

person Chris Wagner    schedule 21.03.2013

Я думаю, что ArcGIS для iOS — ваш ответ. iOS API позволит вам добавить MapView в ваше приложение.

Вы можете добавить в этот MapView один или несколько геосервисов, а также локальные графические слои.

MapServices отображаются на стороне сервера. FeatureServices отображаются на стороне клиента. Вы также можете взять функции (каждый округ или штат будет функцией) из FeatureService и поместить их в графический слой для реализации различных эффектов, таких как выделение, выделение...

Если вы хотите, чтобы все данные хранились в клиенте (устройстве), вы можете внедрить JSON-представление объектов и добавить их в графический слой в MapView без необходимости подключения к какому-либо геосервису (хотя геоприложения работают лучше). при подключении к серверу)

Начните здесь: http://developers.arcgis.com/en/ios/sample-code/ Этот пример похож на то, что вы ищете: http://www.arcgis.com/home/item.html?id=417a0bf9dfda482c8110ebdbde3edd66 Это также выглядит многообещающе: http://developers.arcgis.com/en/ios/guide/cloud-storage-feature-services.htm

person tato    schedule 11.04.2013

Все хорошие ответы выше. Решение, которое в итоге сработало для меня, заключалось в том, чтобы просто использовать изображение SVG, перетащить его в PaintCode, и PaintCode выдает мне весь код для рисования изображения. Очень простое и элегантное решение.

person tentmaking    schedule 18.05.2013