Android Google Maps API v2开始导航

时间:2013-02-22 15:44:08

标签: android google-maps android-intent xamarin.android

我有一个应用程序,显示带有标记的地图。当用户触摸标记时,我想为它们开始导航。

是否存在我可以传递经度和纬度的Intent / Activity并启动用户导航应用程序?

感谢您的帮助。

3 个答案:

答案 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);