Does OpenStreetMap has Point(Source) to Point(Destination) direction URI to use in Android?

1.1k views Asked by At

In my App I've integrated the OpenStreetMap, in which I've fetched both source and destination coordinates. I need to pass those coordinates to OpenStreetMap App using Intent class, for that I need Uri.

After searching 2 days long I got this Uri

http://www.openstreetmap.org/?mlat=latitude&mlon=longitude&zoom=12

which currently supports only one location but I don't want it. Can anyone please help me with this? Thanks in advance...

Here is my code below

Intent sendLocationToMap = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://openstreetmap.org/?mlat=13.074847&mlon=80.271019&zoom=12"));
startActivity(sendLocationToMap);
2

There are 2 answers

4
Ziem On

You need to use /directions endpoint.

Example (following intent will open www.openstreetmap.org website with route between two points):

http://www.openstreetmap.org/directions?engine=osrm_car&route=53.1855%2C18.0272%3B53.0915%2C18.0087

Intent sendLocationToMap = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://www.openstreetmap.org/directions?engine=osrm_car&route=53.1855%2C18.0272%3B53.0915%2C18.0087"));
startActivity(sendLocationToMap);

OsmAnd app doesn't support directions urls:

OsmAnd will display only one geo point without route between them.

Source: https://github.com/osmandapp/Osmand/blob/master/OsmAnd-java/src/net/osmand/util/GeoPointParserUtil.java


However Google Maps directions url:

http://maps.google.com/maps?daddr=53.0915,18.0087&saddr=53.1855,18.0272

is supported by Google Maps and HERE.

0
scai On

I assume you are asking about routing. In that case the answer is yes, there are various online routers (for example GraphHopper, OSRM and MapQuest) as well as offline routers for OSM available. Many of these online routers provide GPX exports.