Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android谷歌地图API v2启动导航_Android_Google Maps_Android Intent_Xamarin.android - Fatal编程技术网

Android谷歌地图API v2启动导航

Android谷歌地图API v2启动导航,android,google-maps,android-intent,xamarin.android,Android,Google Maps,Android Intent,Xamarin.android,我有一个应用程序,可以显示带有标记的地图。当用户触摸标记时,我想为他们开始导航 是否有我可以传递经度和纬度并启动用户导航应用程序的意图/活动 谢谢你的帮助。我就是这样解决的。发布的url与此类似 Intent navigation = new Intent( Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr=START_LAT,START_LON&daddr=E

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

是否有我可以传递经度和纬度并启动用户导航应用程序的意图/活动


谢谢你的帮助。

我就是这样解决的。发布的url与此类似

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是正常工作的端点

    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);
使用:


似乎有Intent navigation=newintent(Intent.ACTION_视图,Uri.parse(“);startActivity(navigation);顺序应该是纬度和经度,而不是相反。
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);