Invoking Google Map Applications from an Android application to get dirving direction

丶灬走出姿态 提交于 2020-01-01 05:45:11

问题



I need to show the driving direction using external google map application i found this link http://developer.android.com/guide/appendix/g-app-intents.html ,but the below opens the Maps application to the given location

    Uri uri = Uri.parse("geo:13.070984,80.253639");
    Intent in = new Intent(Intent.ACTION_VIEW, uri);
    startActivity(in);

I need to know is there is any way to pass two geo location to get driving direction.


回答1:


yes its very easy to show the direction if you have the latitude and longitude of both source and destination. Just see the following code:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
    Uri.parse("http://maps.google.com/maps?saddr="+latitude_source+","+longitude_source+"&daddr="+latitude_dest+","+longitude_dest));

    startActivity(intent);

Where latitude_source=Latitude of your source longitude_source=Longitude of your source latitude_dest=Latitude of your destination longitude_dest=Longitude of your destination

Just replace these value with your actual data. .Use the above code on some particular event.

Hope this will help you.




回答2:


I've implemented this by firing an intent that uses a Google Maps URL - the Maps application picks it up, and it works. I think it is not officially recommended, but for me is working well.

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(String.format(http://maps.google.com/maps?saddr=%s&daddr=%s, startAddress, endAddress)));
startActivity(intent);

The above works for location NAMES, you may need to tweak it to use lat/long. Here's an example Google Maps directions URL between two lat/long points that will be useful: http://maps.google.co.uk/maps?f=d&source=s_d&saddr=A685&daddr=M40&hl=en&geocode=FazjPwMdRKPc_w%3BFeS8GgMdNMfr_w&mra=me&mrsp=1,0&sz=5&sll=53.800651,-4.064941&sspn=22.244994,67.631836&ie=UTF8&t=h&z=5




回答3:


You can get routing between two locations with the following URL.

https://maps.google.com/maps?saddr=kedah&daddr=johor

saddr is the start, and daddr is the destination.

Example code:

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse(String.format("http://maps.google.com/maps?saddr=kedah&daddr=johor")));
startActivity(intent);


来源:https://stackoverflow.com/questions/5522349/invoking-google-map-applications-from-an-android-application-to-get-dirving-dire

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!