300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > h5判断百度 高德 腾讯地图客户端是否安装及调起客户端导航

h5判断百度 高德 腾讯地图客户端是否安装及调起客户端导航

时间:2023-02-17 12:21:17

相关推荐

h5判断百度 高德 腾讯地图客户端是否安装及调起客户端导航

(function($, navigation) {

navigation.getLocation = function(callback) {

callback = callback || $.noop;

plus.geolocation.getCurrentPosition(callback, function(e) {

mui.toast("异常:" + e.message);

});

}

function translatePoint(position) {

//currentLon = position.coords.longitude;

//currentLat = position.coords.latitude;

// local = position;

// if(showMap) {

// openMap(local);

// }

console.log("-----------position" + JSON.stringify(position))

return {

currentLon: position.coords.longitude,

currentLat: position.coords.latitude

};

}

//如果导航只用这个方法久可以了,其它方法是为了备注以后可能用到的需求而保留的 。siteName是终点的文字描述。

navigation.startNavigation = function(longitude, latitude,siteName) {

///doc/zh_cn/maps.html#plus.maps.CoordinateConvertOptions

var wt = plus.nativeUI.showWaiting('正在获取当前位置');

navigation.getLocation(function(position) {

var point = new plus.maps.Point(longitude, latitude);

var options = {

coordType:"bd09ll"//源数据的坐标类型

};

plus.maps.Map.convertCoordinates(point, options, function(event) {//mui转换坐标系

wt.close();

var dst = event.coord; // 转换后的坐标值

var src = new plus.maps.Point(position.coords.longitude, position.coords.latitude);

// 调用系统地图显示

plus.maps.openSysMap(dst, siteName, src);

}, function(e) {

alert("Failed:" + JSON.stringify(e));

});

//navigation.openMap(position, latitude, longitude);

});

}

navigation.openMap = function(position, latitude, longitude) {

var lat = latitude;

var lng = longitude;

//inspInfo.latitude = 30.335682;

//inspInfo.longitude = 120.224934;

//百度com.baidu.BaiduMap 高德com.autonavi.minimap 腾讯com.tencent.map

// if(navigation.judgeExists('com.baidu.BaiduMap')) {

// url = "http://api./direction?origin=latlng:" + position.coords.latitude + "," + position.coords.longitude + "|name:当前位置&destination=latlng:" + lat + "," + lng + "|name:终点&mode=driving&region=中国&output=html&src=项目名称";

// } else

if(navigation.judgeExists('com.autonavi.minimap')) {

//转换火星坐标系

var gd = coordinate.bd09togcj02(position.coords.longitude, position.coords.latitude);

var gd2 = coordinate.bd09togcj02(lng, lat);

url = "/navigation?from=" + gd[0] + "," + gd[1] + ",当前位置&to=" + gd2[0] + "," + gd2[1] + ",站点&mode=car&src=公司名称&callnative=1"

} else if(navigation.judgeExists('com.tencent.map')) {

//百度转gps坐标系

var gd = coordinate.bd09towgs84(position.coords.longitude, position.coords.latitude);

var gd2 = coordinate.bd09towgs84(lng, lat);

url = "http://apis./uri/v1/routeplan?type=drive&from=当前位置&fromcoord=" + gd[1] + "," + gd[0] + ",当前位置&to=站点&tocoord=" + gd2[1] + "," + gd2[0] + "&coord_type=1&referer=项目名称"

} else {

mui.toast('没有找到地图客户端');

return;

}

//调用地图url

var uri = encodeURI(url);

// plus.runtime.openURL(uri);

// mui.openWindow(uri);

}

/**

* 判断客户端是否安装

*/

navigation.judgeExists = function(packageName) {

try {

var main = plus.android.runtimeMainActivity();

var packageManager = main.getPackageManager();

var PackageManager = plus.android.importClass(packageManager);

var packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);

if(packageInfo) {

//已安装

return true;

} else {

//未安装

return false;

}

} catch(e) {

//未安装

return false;

}

}

}(mui, window.navigation = {}));

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。