0
votes

In an iOS application, I want to draw a United States map with states and counties outlined. I also want to draw individual states with counties outlined. I have researched using Shapefiles to do the drawing, but I can't find a good API that translates shapefiles. I have looked into ArcGIS, but it seems most of the drawing they do is web/server based, also without the ability to draw individual states, or outline counties.

Does anyone know of a good iOS API I can use to draw the following maps?

  • United States with states and counties outlined
  • Individual state with counties outlined
3

3 Answers

1
votes

Take a look at MapBox, it will let you draw these types of maps, then you can pull them in as tiles and overlay them with MapKit.

They also have an iOS SDK, http://mapbox.com/mapbox-ios-sdk/ if you don't want to use MapKit.

1
votes

I think ArcGIS for iOS is your answer here. The iOS API will allow you to add a MapView to your application.

You can add one or more geoservices to that MapView, as well as local graphic layers.

MapServices are rendered server-side. FeatureServices are rendered client-side. You can also take features (each county or state would be a feature) from the FeatureService and put them into the graphic layer to implement different effects such as selection, outlining...

If you want to have all data stored in the client (the device), then you can embed the json representation of the features and add them to the graphics layer in the MapView, without needing to connect to any geoservice (although geo applications work better when connecting to a server)

Start here: http://developers.arcgis.com/en/ios/sample-code/ This sample looks similar to what you are looking for: http://www.arcgis.com/home/item.html?id=417a0bf9dfda482c8110ebdbde3edd66 This also looks promising: http://developers.arcgis.com/en/ios/guide/cloud-storage-feature-services.htm

0
votes

All good answers above. The solution that ended up working for me was to simply use an SVG image, drag it into PaintCode and PaintCode gives me all the code to draw the image. A very simple and elegant solution.