本地调用高德地图APP和百度地图APP

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

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

配置白名单. 由于iOS的限制网页调用高德地图导航网页调用高德地图导航,在版本9之后的iOS系统中,如果开发者的应用要调用道德规范较高的地图,则必须在应用的设置中配置白名单.

配置方法:

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

1. 找到您的Info.plist文件

2. 在文件LSApplicationQueriesSchemes中添加密钥,类型为Array,如果已添加,则无需再次添加.

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

3. 将一个项目添加到Array,类型为String,值为iosamap.

添加后的屏幕截图如下:

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

Info.plist.png

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

import { Linking, Platform } from 'react-native';
var MyUtil = {
    /**
     * 跳转到导航界面
     * @param lon
     * @param lat
     * @param name
     * @param targetAppName browser-浏览器打开, gaode-高德APP, baidu-百度APP,如果没有安装相应APP则使用浏览器打开。
     */
    turn2MapApp(lon = 0, lat = 0, targetAppName = 'baidu', name = '目标地址'){
        if (0 == lat && 0 == lon) {
            console.warn('暂时不能导航');
            return;
        }
        let url = '';
        let webUrl = `http://uri.amap.com/navigation?to=${lon},${lat},${name}&mode=bus&coordinate=gaode`;
        let webUrlGaode = `http://uri.amap.com/navigation?to=${lon},${lat},${name}&mode=bus&coordinate=gaode`;
        let webUrlBaidu = `http://api.map.baidu.com/direction?destination=latlng:${lat},${lon}|name=${name}&mode=transit&coord_type=gcj02&output=html&src=mybaoxiu|wxy`;
        url = webUrl;
        if (Platform.OS == 'android') {//android
            if (targetAppName == 'gaode') {
                // webUrl = 'androidamap://navi?sourceApplication=appname&poiname=fangheng&lat=36.547901&lon=104.258354&dev=1&style=2';
                url = `androidamap://route?sourceApplication=appname&dev=0&m=0&t=1&dlon=${lon}&dlat=${lat}&dname=${name}`;
                webUrl = webUrlGaode;
            } else if (targetAppName == 'baidu') {
                url = `baidumap://map/direction?destination=name:${name}|latlng:${lat},${lon}&mode=transit&coord_type=gcj02&src=thirdapp.navi.mybaoxiu.wxy#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end`;
                webUrl = webUrlBaidu;
            }
        } else if (Platform.OS == 'ios') {//ios
            if (targetAppName == 'gaode') {
                url = `iosamap://path?sourceApplication=appname&dev=0&m=0&t=1&dlon=${lon}&dlat=${lat}&dname=${name}`;
                webUrl = webUrlGaode;
            } else if (targetAppName == 'baidu') {
                url = `baidumap://map/direction?destination=name:${name}|latlng:${lat},${lon}&mode=transit&coord_type=gcj02&src=thirdapp.navi.mybaoxiu.wxy#Intent;scheme=bdapp;package=com.baidu.BaiduMap;end`;
                webUrl = webUrlBaidu;
            }
        }
        Linking.canOpenURL(url).then(supported => {
            if (!supported) {
                console.log('Can\'t handle url: ' + url);
                return Linking.openURL(webUrl).catch(e => console.warn(e));
            } else {
                return Linking.openURL(url).catch(e => console.warn(e));
            }
        }).catch(err => console.error('An error occurred', err));
    },
};
module.exports = MyUtil;

致电:

MyUtil.turn2MapApp(longitude, latitude, 'gaode');

参考链接:


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

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

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