【Android呼叫高德路线规划】

电脑杂谈  发布时间:2020-05-11 21:05:54  来源:网络整理

高德导航高德地图_网页调用高德地图导航_网页调用高德地图导航

要今天使用路径规划功能,您需要使用高德地图或百度地图,然后考虑如何实现更好的发展. 只是放眼未来,这是检查导航应用程序是否在计算机上安装了地图应用程序. 如果有,您可以直接打开它. 如果没有,则可以通过浏览器计划打开百度网络地图.

主要过程是这样,首先确定是否安装了高德地图,如果有,打开高德地图应用程序;否则,确定是否有百度地图;否则,使用浏览器网页路径规划直接跳至高德地图:

if(PackageManagerUtil.haveGaodeMap()){
                        openGaodeMapToGuide();
                    } else if(PackageManagerUtil.haveBaiduMap()){
                       openBaiduMapToGuide();
                    }else {
                        openBrowserToGuide();
                    }

对应的地图调用有其自己的书写方法,可以在官方网站上进行检查. 我在这里的某些点缺少起点,因为我的起点是通过定位获得的. 如果我不写,他们会将起点默认为定位位置.

 private void openBaiduMapToGuide() {
        Intent intent = new Intent();
        double[] location = GPSUtil.gcj02_To_Bd09(locationX , locationY);
        String url = "baidumap://map/direction?" +
                "destination=name:"+storeName+"|latlng:"+location[0] + "," + location[1]+
				"&mode=transit&sy=3&index=0&target=1";
        Uri uri = Uri.parse(url);
        //将功能Scheme以URI的方式传入data
        intent.setData(uri);
        //启动该页面即可
        startActivity(intent);
    }
    private void openGaodeMapToGuide() {
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        String url = "androidamap://route?sourceApplication=amap&slat="+currLocationX+"&slon="+currLocationY
                +"&dlat="+locationX+"&dlon="+locationY+"&dname="+storeName+"&dev=0&t=1";
        Uri uri = Uri.parse(url);
        //将功能Scheme以URI的方式传入data
        intent.setData(uri);
        //启动该页面即可
        startActivity(intent);
    }
    private void openBrowserToGuide() {
        String url = "http://uri.amap.com/navigation?to=" + locationY + "," + locationX + "," + 
		storeName + "&mode=car&policy=1&src=mypage&coordinate=gaode&callnative=0";
        Uri uri = Uri.parse(url);
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);
    }

public class PackageManagerUtil {
    private static PackageManager mPackageManager = TheApp.instance.getPackageManager();
    private static List<String> mPackageNames = new ArrayList<>();
    private static final String GAODE_PACKAGE_NAME = "com.autonavi.minimap";
    private static final String BAIDU_PACKAGE_NAME = "com.baidu.BaiduMap";
    private static void initPackageManager(){
        List<PackageInfo> packageInfos = mPackageManager.getInstalledPackages(0);
        if (packageInfos != null) {
            for (int i = 0; i < packageInfos.size(); i++) {
                mPackageNames.add(packageInfos.get(i).packageName);
            }
        }
    }
    public static boolean haveGaodeMap(){
        initPackageManager();
        return mPackageNames.contains(GAODE_PACKAGE_NAME);
    }
    public static boolean haveBaiduMap(){
        initPackageManager();
        return mPackageNames.contains(BAIDU_PACKAGE_NAME);
    }
}

网页调用高德地图导航_高德导航高德地图_网页调用高德地图导航

注意: 由于我的初始坐标是高德地图的坐标,因此不能在百度地图上使用. 由于两个标准不同,我们需要将高德地图的坐标转换为百度地图使用的坐标. 具体的转换工具方法请参考以下参考文献.

参考:

地图和高德地图之间的坐标系转换

城市地图URI路径规划

调用高德地图应用程序的路径规划

百度地图URI API

网页调用高德地图导航_高德导航高德地图_网页调用高德地图导航

Android呼叫高德路线规划相关内容

高道德地图android实现weex可以调用,无法显示地图的功能

读数1885

Weex称Android为本地人

来自oCUPID的博客帖子

网页调用高德地图导航_高德导航高德地图_网页调用高德地图导航

Android项目中基于高德地图API的Android移动开发呼叫定位

阅读编号7605

基于地理位置服务的Android平台的开发对于Android移动开发非常重要. 基于地理位置服务的Android平台的开发主要用于Android系统作为载体. 我们可以使用定位的位置进行许多丰富多彩的操作. 例如,天气预报程序可以根据用户的位置自动选择城市. 在微博上发帖时,我们可以向朋友展示我们的地理位置. 当我们不知道道路时,我们可以随时打开地图查询路线; Di或Uber,您可以观看

来自fukaimei的博客帖子

反应本机android高德语地图本机代码编写

阅读编号2772

高德导航高德地图_网页调用高德地图导航_网页调用高德地图导航

反应本机android高德语地图本机代码准备版权声明: 本文是博主的原创文章,未经博主许可不得复制. 反应本机android高德语地图本机代码编写android代码MyAmapView高德地图注释代码AMapViewManager代码注释错误代码外部js如何调用viewManager AMapModule代码注释错误

博客帖子来自: qq_27507377

Android呼叫高德地图应用语音导航

读数数0

直接调用高德地图应用进行导航. 首先网页调用高德地图导航,您必须首先进入高德开放平台. 注册并登录后,创建自己的APP,然后生成aey高德开放平台URL: 然后下载jar包并将其导入到项目项目LatLng l = new LatLng(lat网页调用高德地图导航,long); //经度和纬度

博客帖子来自: u013705673

Android调用高德地图汽车版

阅读46

高德地图的汽车版本与百度地图调用方法不同. 高德正在广播,因此无法调整时间,仅当应用程序在后台运行时(此官方API也对此进行了描述),否则请使用代码强制打开应用程序并返回导航(我觉得很麻烦,我没有找到解决方案)字符串pkgName =“ com.autonavi.amapauto”; Intent launchIntent =新的Intent(); launchIntent.setC ...

博客帖子来自: gsmmSummer


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/shouji/article-206746-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 王胜涛
        王胜涛

        尽管此后3年一蹶不振

      热点图片
      拼命载入中...