/** 判断手机中是否安装指定包名的软件 */
public static boolean isInstallApk(String name) {
List<PackageInfo> packages = App.instance.getPackageManager().getInstalledPackages(0);
for (int i = 0; i < packages.size(); i++) {
PackageInfo packageInfo = packages.get(i);
if (packageInfo.packageName.equals(name)) {
return true;
} else {
continue;
}
}
return false;
}

一、高德地图

  打开高德地图API——>开发支持——>高德地图手机版(在其它这个分类里面)。直达链接:https://lbs.amap.com/api/amap-mobile/guide/android/route

  举例:   

    isInstallApk("com.autonavi.minimap")

                Uri uri = Uri.parse("amapuri://route/plan/?dlat="+"目的地lat"+"&dlon="+"目的地lng"+"&dname="+"目的地名称"+"&dev=0&t=0");
                Activity.startActivity(new Intent(Intent.ACTION_VIEW, uri));

               可以额外拼的参数:

           

二、百度地图

     百度地图API——>开发文档——>地图调起API(服务接口)——>android端——>2.3.2路线规划                           直达链接:http://lbsyun.baidu.com/index.php?title=uri/api/android

   举例:

     isInstallApk("com.baidu.BaiduMap")

      Uri uri = Uri.parse("baidumap://map/direction?destination=latlng:"+"目的地lat"+","+ "目的地lng"+"|name:"+"目的地名称"+"&mode=driving");

      Activity.startActivity(new Intent(Intent.ACTION_VIEW, uri));

      可额外拼的参数:

                                                

三、google地图  

if (isInstallApk( "com.google.android.apps.maps")) {

  Uri gmmIntentUri = Uri.parse("google.navigation:q="+ mLatitude + "," + mLongitude+ ", + Sydney +Australia");
  Intent mapIntent = new Intent(Intent.ACTION_VIEW,gmmIntentUri);
  mapIntent.setPackage("com.google.android.apps.maps");
  context.startActivity(mapIntent);
} else {
  Toast.makeText(context, "您尚未安装谷歌地图", Toast.LENGTH_LONG).show();
  Uri uri = Uri.parse("market://details?id=com.google.android.apps.maps");
  Intent intent = new Intent(Intent.ACTION_VIEW, uri);
  context.startActivity(intent);
}

参考文献:

  https://blog.csdn.net/weimingjue/article/details/80493969

 https://blog.csdn.net/shaoyezhangliwei/article/details/77968566

 

      

12-14 08:17
查看更多