我是靠谱客的博主 寒冷铅笔,最近开发中收集的这篇文章主要介绍mui使用百度地图sdk及定位方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、使用前配置:参考http://ask.dcloud.net.cn/article/29

       注意事项:

    (1)HBuilder默认打包使用的签名为"BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58"(Android打包证书)。

    (2)应用包名,在提交App云端打包时默认为“io.dcloud.%APPID%”(用户可自定义修改),调试时建议使用“io.dcloud.HBuilder”,这样可以直接Hbuilder调试,不用打包成app。

二、定位代码

1、使用百度地图jssdk:

    //html引入js

    <script type="text/javascript" src="http://api.map.baidu.com/api?ak=‘你的ak’&v=3.0"></script>

    //js方法

    var map,mapid,mapindex=0,mark,longitude,latitude

    var map = new BMap.Map("allmap", {zoom:17});

    document.addEventListener('plusready', onPlusReady, false);

    function onPlusReady(){
        mapid=plus.geolocation.watchPosition(function(p) {
            mapindex++
            longitude=p.coords.longitude;
            latitude=p.coords.latitude;
            map.clearOverlays();
            var gpsPoint = new BMap.Point(longitude, latitude),
            if(mapindex<4){
                map.setCenter(gpsPoint);
            }
            if(mapindex==5){
                plus.geolocation.clearWatch(mapid);
            }
            var marker=new BMap.Marker(gpsPoint)
            map.addOverlay(marker);
        }, function(e) {    
           mui.toast("定位失败!");
        },{provider:'baidu',coordsType:"bd09ll",enableHighAccuracy:true});

    }

2、使用h5+自带的sdk(参考:http://www.html5plus.org/doc/zh_cn/maps.html,http://www.html5plus.org/doc/zh_cn/geolocation.html)

var map,mapid,mapindex=0
document.addEventListener('plusready', onPlusReady, false);
var mark,longitude,latitude
function onPlusReady(){
    map = new plus.maps.Map("allmap", {zoom:17});
    mapid=plus.geolocation.watchPosition(function(p) {
        mapindex++
        longitude=p.coords.longitude;
        latitude=p.coords.latitude;
        map.clearOverlays();
        var gpsPoint = new plus.maps.Point(longitude, latitude);
        if(mapindex<4){
            map.setCenter(gpsPoint);
        }
        if(mapindex==5){
            plus.geolocation.clearWatch(mapid);
        }
        var marker=new plus.maps.Marker(gpsPoint)
        map.addOverlay(marker);
    }, function(e) {    
       mui.toast("定位失败!");
    },{provider:'baidu',coordsType:"bd09ll",enableHighAccuracy:true});

}

3、注意事项:

(1)由于使用的是百度地图{provider:'baidu',coordsType:"bd09ll",enableHighAccuracy:true}

(2)之所以使用plus.geolocation.watchPosition,是因为plus.geolocation.getCurrentPosition经常定位差别过大,不准确,所以建议如果你也遇到定位不准的情况下爱,可以尝试使用watchPosition,可能就好了(如果有其他办法能够定位准确,也希望能一起探讨)



最后

以上就是寒冷铅笔为你收集整理的mui使用百度地图sdk及定位方法的全部内容,希望文章能够帮你解决mui使用百度地图sdk及定位方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部