百度地图api定位不准解决

使用getpoint时有时会无法定位,没返回point.

这时转用locationSearch即可,再无法定位,

centerandzoom(city)吧.

 

 


function initializeMap() {
    var map = new BMap.Map('mapDiv');
    //向地图中添加缩略图控件
    map.addControl(new BMap.NavigationControl({type:BMAP_NAVIGATION_CONTROL_ZOOM}));
    map.disableDoubleClickZoom();//禁用双击放大
    // 将地址解析结果显示在地图上,并调整地图视野  
    var ge = new BMap.Geocoder();
    var showTip = function (point) {
        map.centerAndZoom(point, 16);
        var marker = new BMap.Marker(point);
        map.addOverlay(marker);
        var tip = mapInfo['address'] + (mapInfo['logo'] ? '<br/><img width=100 src="' + mapInfo['logo'] + '"/>' : '');
        var infoWindow = new BMap.InfoWindow(tip, {   
            width : 250,     // 信息窗口宽度   
            height: 100,     // 信息窗口高度   
            title : "机构详细地址"  // 信息窗口标题   
        });
        marker.addEventListener("click", function(){          
            this.openInfoWindow(infoWindow);
        });   
        marker.openInfoWindow(infoWindow);      // 打开信息窗口  
    };
    var re = ge.getPoint(mapInfo['address'], function(point){
        if (point) {
            return showTip(point);
        }
        
        new BMap.LocalSearch(mapInfo['city'], {onSearchComplete:function(data){
            if (point = data.getPoi(0)){//取第1个查询结果
                showTip(point.point);
            } else {
                map.centerAndZoom(data.city);
                //_.showMaskDiv({htm:'在地图上解析地址时失败.'});
            }
        }}).search(mapInfo['address'], {forceLocal:1} );
    }, mapInfo['city']);
}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
定位不准可能有多种原因,以下是一些可能的解决方案: 1. 检查应用权限:在 Android 系统中,应用需要获取定位权限才能进行定位。如果你的应用没有获取定位权限,那么定位可能会不准确。在百度地图 JavaScript API 中,定位权限由浏览器控制,通常情况下浏览器会自动提示用户是否授权定位权限。 2. 检查定位设置:如果你的手机定位设置不正确,那么定位也可能会不准确。请确保你的手机 GPS 和网络定位功能已开启,同时在百度地图 JavaScript API 中,你也可以设置定位模式和定位精度。 3. 检查定位场景:不同的定位场景可能需要使用不同的定位方式。例如,室内定位和室外定位需要使用不同的定位方式。如果你的应用在室内定位时出现定位不准确的情况,那么可能需要切换到使用 Wi-Fi 或蓝牙等方式进行室内定位。 4. 检查定位算法:百度地图采用了多种不同的定位算法,例如 GPS 定位、基站定位、Wi-Fi 定位等。在定位不准确的情况下,可以尝试切换到使用其他定位算法,以获取更准确定位结果。 5. 检查定位数据:定位不准确可能是由于定位数据错误或过期导致的。在百度地图 JavaScript API 中,你可以通过添加定位数据源、设置定位间隔等方式来获取更准确定位数据。 希望以上解决方案能够帮到你,如果问题仍未解决,请提供更多详细信息,我将尽力帮助你解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值