我有一个应用程序,显示带有标记的地图。当用户触摸标记时,我想为它们开始导航。
是否存在我可以传递经度和纬度的Intent / Activity并启动用户导航应用程序?
感谢您的帮助。
答案 0 :(得分:6)
我这样解决了。发布的网址类似。
Intent navigation = new Intent(
Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr=START_LAT,START_LON&daddr=END_LAT,END_LON"));
startActivity(navigation);
其中Start是START_LON,START_LAT是经度和纬度,END_LON,END_LAT是结束
答案 1 :(得分:1)
工作正常:
googleMap.setMyLocationEnabled(true);
LocationManager locManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria cri = new Criteria();
bestProvider = locManager.getBestProvider(cri, true);
Location loc = locManager.getLastKnownLocation(bestProvider);
String latMy = String.valueOf(loc.getLatitude());
String lngMy = String.valueOf(loc.getLongitude());
Toast.makeText(this, "Navigation", Toast.LENGTH_SHORT).show();
String url = "http://maps.google.com/maps?saddr=" + latMy + ","
+ lngMy + "&daddr=" + "18.7703500,19.4534500";
Intent navigation = new Intent(Intent.ACTION_VIEW);
navigation.setData(Uri.parse(url));
startActivity(navigation);
答案 2 :(得分:0)
使用:
Uri gmmIntentUri = Uri.parse("google.navigation:q="+"18.7703500,19.4534500");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);