Vivek Navadia
Vivek Navadia

Reputation: 574

Google Map Route Draw on IPhone

I am developing an application that has two versions. One for web and another for iPhone.

In the web app, I am able to draw a route on the road (drawing the route automatically that follows roads/highways) and off road (draw direct line between two specific points).

Is there an API, for iPhone, that can be used to draw a route on the map? I am able to draw a straight line on the map between two nodes, but i am not able to draw a road map route in iPhone.

I am using iPhone 3.0 and SDK 3.0

Thanks.

Upvotes: 19

Views: 31585

Answers (6)

viral
viral

Reputation: 4208

Some Addition to Question Might be: HOW CAN ONE GET THOSE COORDINATES DYNAMICALLY, WHICH ARE USED TO DRAW PATH, IN THE EXAMPLE Craig Spitzkoff's MapLinesAndAnnotations sample....? (Getting coordinates between two locations from google maps).

Use the following link: MapWithRoute

Hope, this one would help you draw the route using two user defined location.

Upvotes: 1

roocell
roocell

Reputation: 101

there's a new API in iOS4 called MKOverlayPathView which does exactly this. MKOverlayPathView

I just wanted to update this post with this information so people get the whole story.

Upvotes: 10

Anish Chandran
Anish Chandran

Reputation: 41

  1. use this url to create a json/xml file http://maps.googleapis.com/maps/api/directions/output?parameters (read code.google.com/apis/maps/documentation/directions/ for more reference)

  2. parse the json/xml file

  3. in routes - legs - steps - polyline you can see points which are in encoded format

  4. decode those points (refer http://fkn1337.com/decode-google-maps-polylines-objective-c/) and make a CLLocationCoordinate2D array

  5. Use

(MKPolyline *)polylineWithCoordinates:(CLLocationCoordinate2D *)coords count:(NSUInteger)count

for creating an MKPolyline object

6 Using MKMapview's addOverlay we can create an overlay with direction

Upvotes: 4

Henrik Erlandsson
Henrik Erlandsson

Reputation: 3831

A standard way on the iPhone (since there are restrictions expressed in the MapKit license) is to use [[[UIApplication sharedApplication] delegate] openURL:myURL]; to open up the Maps app.

myURL is a 'http://maps.google.com/maps?...' URL (NSURL object) with the subset of options supported in the docs on developer.apple.com. You use the saddr= and daddr= parameters to set the start and end address (or coordinates) of the route, and the user can then see the route and use the Maps app's driving, biking, or walking text directions to travel the route. Perhaps on iPhone 4 GM you will be able to return to your program, but currently opening the URL will terminate your app and start the Maps (or Safari, if Maps is not installed) app instead.

Upvotes: 2

drvdijk
drvdijk

Reputation: 5554

Unfortunately, there is no API for that in 3.0. You will probably have to add an overlay on the MKMapView, but that's probably very tedious

Upvotes: 3

Related Questions