views:

4304

answers:

5

How can i create a map application for Iphone . I know that UIwebView can be used to display map . But is there any native API available on IPhone(which the native iphone map application uses)?

+4  A: 

I think you'll have to wait until iPhone OS 3.0 to get access to the Map Kit framework

LordSauce
A: 

Creating a map currently involves looking at frameworks like Map Ninja. The Map Kit framework might supplant that, depending on what you want to do...

Kendall Helmstetter Gelner
+4  A: 

Look at the simple framework from CloudMade:

http://developers.cloudmade.com/projects/show/iphone-api

I use it in a simple app that I created to locate your position. It's in the App Store under PinDrop in the Navigation section.

The framework is really rough, but it worked for what I needed. When 3.0 comes out, I'll updated to use the Google maps. Till then, it works.

Sophtware
A: 

You should really use the Cloudmade framework since there're a couple of license issues with MapKit from Apple, Google and TomTom (which owns the maps Googles uses). This has concrete downsides, so that there is no forward geocoding in the MapKit.

But Cloudmade published a lot of tutorial how to use there framework. It isn't that hard and you can use MapKit with Cloudmade together to retrofit missing features in MapKit.

DASKAjA
A: 

CloudMade's iPhone library is quick to get started with, lets you add geocoding and routing to your iPhone applications but is admittedly quite basic. Lots of developers who use CloudMade's services like customized maps, geocoding and routing use the "Route-Me" library. Route-Me is an open source library that uses core animation to add pinch zooming, panning and other effects. It has been used in smash hit iphone apps like Trails and [Offmaps][2] - both applications use CloudMade platform with the Route-Me library.

By combining CloudMade's routing, geocoding and customized maps with the great Route-Me library, you can create applications that are way more advanced than anything you can do with MapKit.