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

2

8

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);
Tressa answered 16/6, 2015 at 6:42 Comment(0)
I
0

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.

Incisive answered 16/6, 2015 at 6:53 Comment(0)
K
0

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.

Klaraklarika answered 16/6, 2015 at 7:41 Comment(4)
I tried like the below one Intent sendLocationToMap = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://www.openstreetmap.org/directions?engine=osrm_car&route=%"+ sourceLatitude + "%" + sourceLongitude + destinationLatitude + "%" + destinationLongitude)); startActivity(sendLocationToMap); but it said "Could not parse geo intent "openstreetmap.org/…"Tressa
Which app do you use to open this intent?Klaraklarika
You know why I'm integrating OpenStreetMap instead of Google map, just because to support Blackberry devices as well(Since Blackberry doesn't support Google Maps). Is there any other way to do that?Tressa
You need to ask OsmAnd developers if they are planning to support this kind of url.Klaraklarika

© 2022 - 2024 — McMap. All rights reserved.