开发者

how to get Route directions between two points on a map to draw driving directions?

开发者 https://www.devze.com 2022-12-08 18:11 出处:网络
is there a way开发者_如何学编程 to use core location or google or some other api to provide two points on the map and get the resulting set of latitude/longitude pairs for the route?

is there a way开发者_如何学编程 to use core location or google or some other api to provide two points on the map and get the resulting set of latitude/longitude pairs for the route?

i have seen in this tutorial Drawing polyines or routes on a MKMapView that how to draw driving direction using core graphics...but in the sample code it has route.csv which has predefined set of longitudes and latitudes.....how do i make pair of longitudes and latitudes so that i can draw driving directions.


Companies invest millions of dollars into developing routing algorithms, so I very much doubt that you'll be able to get it for free anywhere (I'm happy to be wrong, though). For example, the Google Maps JavaScript API supports routing, so I guess you could hack that up. The results wouldn't be fast or pretty, mind you.


If you have a limited use of the directions request (less than a certain amount per day) and always display results on a Google map, you do qualify for the free Google Directions API.

https://developers.google.com/maps/documentation/directions/

Read the license part thoroughly to know the limits. You should easily be able to request a json response that will b easier to parse than an xml one (plus Apple added json parser in iOS).

For example

http://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&sensor=false

If you are over the limit, you should look into their business licenses.


Old question but MTDirectionsKit was recently open sourced and it works great:

MTDirectionsKit


with Google API you can get directions from two points, the only problem is you just can use it once a day if you don't pay.

Search how to get the key API from google, there are a lots of videos on youtube talking about it.

Furthemore, i got a library which hepls you to draw the line between points this one https://github.com/jd-alexander/Google-Directions-Android

After you implemented it in build.gradle(Module:app), implement the library in the class like

public class LocationMapActivity extends AppCompatActivity implements RoutingListener

will appear a error to implemets the methods (obligatory to implement them but It's not necessary to use them).

I just did this:

 public void route(){

       Routing routing = new Routing.Builder()
                    .travelMode(/* Travel Mode */)
                    .withListener(/* Listener that delivers routing results.*/)
                    .waypoints(/*waypoints*/)
                    .key(/*api key for quota management*/)
                    .build();
        routing.execute();
    }

More info in the link.

0

精彩评论

暂无评论...
验证码 换一张
取 消