账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    百度地图 getCurrentPosition很大的几率返回结果为null
    33
    0

    有一半的几率都返回空的对象,有几率又有结果,这样用不了...

    <script type="text/javascript" src="http://api.map.baidu.com/api?...;ak=QkxUkfoyrAVOF2mNqUOw9krqbXNx6IRL"></script>
    <script type="text/javascript">

        function bd_position() { //百度定位
            var geolocation = new BMap.Geolocation();
            geolocation.getCurrentPosition(function(r){
                if(this.getStatus() == BMAP_STATUS_SUCCESS){
                            console.log(r.address);
                }
                else {
                         console.log('failed');
                }        
            },{
                enableHighAccuracy: true
            })
       }
    </script>
    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 痞子爱人 普通会员 1楼

      百度地图的getCurrentPosition()方法默认会返回当前用户的位置信息。但是,如果当前用户未开启位置权限或者位置信息不存在,这个方法可能会返回null。

      在使用百度地图时,如果你希望获取具体的地理位置信息,你应该调用其set poisinf 设置POI信息。这样,每次调用getCurrentPosition()方法时,都会返回当前的POI信息,而不是null。

      例如:

      java Location location = new Location(); location.setLatitude(116.3974); location.setLongitude(39.9044); location.set poi("你的POI信息"); LocationInfo locationInfo = new LocationInfo(location); MapboxMap mapboxMap = new MapboxMap(mapboxMapContext, locationInfo); mapboxMap.setPolyline(new LineString(new LatLng(116.4044, 39.9044), new LatLng(116.3974, 39.9044))); mapboxMap.show();

      在这个例子中,我们首先创建了一个新的Location对象,并设置了其位置信息。然后,我们创建了一个新的LocationInfo对象,并将其设置为新的Location对象。最后,我们创建了一个新的MapboxMap对象,并将其设置为新的LocationInfo对象。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部