浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

文档全面上新

更科技的视觉体验,更高效的页面结构,快前往体验吧!

体验新版
第25行: 第25行:
 
| 当您的APP中有内置的Web页面,同时在Web页面需要提供您的当前位置信息时,可调用集成在App中的百度地图定位SDK来获取更精准的位置信息
 
| 当您的APP中有内置的Web页面,同时在Web页面需要提供您的当前位置信息时,可调用集成在App中的百度地图定位SDK来获取更精准的位置信息
 
|}
 
|}
</div><div class="bluetitle"><div class="services-title-text">定位方法代码示例</div></div><div class="devguide"><div class="leftborderbg" style="height:5000px;"></div><div class="devguideorder"><span>1</span>指定经纬度获取地址</div><div class="devguidecenter"><pre class="prettyprint codestyle">var map = new BMapGL.Map("container");    
+
</div><div class="bluetitle"><div class="services-title-text">定位方法代码示例</div></div><div class="devguide"><div class="leftborderbg" style="height:5000px;"></div><div class="devguideorder">
map.centerAndZoom(new BMapGL.Point(116.404, 39.915), 11);    
+
        <span>1</span>
// 创建地理编码实例     
+
        浏览器定位
var myGeo = new BMapGL.Geocoder();    
+
</div><div class="devguidecenter"><pre class="prettyprint codestyle">var map = new BMapGL.Map("allmap");
// 根据坐标得到地址描述   
+
            var point = new BMapGL.Point(116.331398,39.897445);
myGeo.getLocation(new BMapGL.Point(116.364, 39.993), function(result){     
+
            map.centerAndZoom(point,12);
    if (result){    
+
           
      alert(result.address);    
+
            var geolocation = new BMapGL.Geolocation();
    }    
+
            geolocation.getCurrentPosition(function(r){
});
+
                if(this.getStatus() == BMAP_STATUS_SUCCESS){
 +
                    var mk = new BMapGL.Marker(r.point);
 +
                    map.addOverlay(mk);
 +
                    map.panTo(r.point);
 +
                    alert('您的位置:' + r.point.lng + ',' + r.point.lat);
 +
                }
 +
                else {
 +
                    alert('failed' + this.getStatus());
 +
                }      
 +
            });
 
</pre>
 
</pre>
</div><div class="devguideorder"><span>2</span>鼠标点击地图获取地址</div><div class="devguidecenter"><pre class="prettyprint codestyle">var map = new BMapGL.Map('container');
+
</div><div class="devguideorder">
map.centerAndZoom(new BMapGL.Point(116.331398,39.897445), 13);
+
    <span>2</span>
var geoc = new BMapGL.Geocoder();
+
    IP定位
map.addEventListener('click', function(e){
+
</div><div class="devguidecenter"><pre class="prettyprint codestyle">var map = new BMapGL.Map("allmap");
    var pt = e.latlng;
+
        var point = new BMapGL.Point(116.331398,39.897445);
    geoc.getLocation(pt, function(rs){
+
        map.centerAndZoom(point,12);
        var addComp = rs.addressComponents;
+
       
        alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
+
        function myFun(result){
    })
+
            var cityName = result.name;
})
+
            map.setCenter(cityName);
 +
            alert("当前定位城市:"+cityName);
 +
        }
 +
        var myCity = new BMapGL.LocalCity();
 +
        myCity.get(myFun);
 +
</pre>
 +
</div><div class="devguideorder">
 +
    <span>3</span>
 +
    定位SDK辅助定位
 +
</div><div class="devguidecenter"><pre class="prettyprint codestyle">var map = new BMap.Map("allmap");
 +
        var point = new BMap.Point(116.331398,39.897445);
 +
        map.centerAndZoom(point,12);
 +
       
 +
        var geolocation = new BMap.Geolocation();
 +
        // 开启SDK辅助定位
 +
        geolocation.enableSDKLocation();
 +
        geolocation.getCurrentPosition(function(r){
 +
            if(this.getStatus() == BMAP_STATUS_SUCCESS){
 +
                var mk = new BMap.Marker(r.point);
 +
                map.addOverlay(mk);
 +
                map.panTo(r.point);
 +
                alert('您的位置:'+r.point.lng+','+r.point.lat);
 +
            }
 +
            else {
 +
                alert('failed'+this.getStatus());
 +
            }       
 +
        });
 
</pre>
 
</pre>
 
</div></div>
 
</div></div>

2021年5月19日 (三) 14:36的版本

定位
更新时间:2021年03月07日 
简介

JavaScript API提供在Web端获取当前位置信息的方法,融合了浏览器定位、IP定位、安卓定位SDK辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息等功能。
浏览器定位精度和性能依赖浏览器自身特性,IP定位的精度值为城市级别。
对于安卓WebView页面的开发者,可以结合定位SDK进行辅助定位,使用方法参见定位SDK相关章节

注意:

1.请求JavaScript API v3.0的定位功能时,必须获取用户授权。

2.由于Chrome、iOS10等已不再支持非安全域的浏览器定位请求,为保证定位成功率和精度,请尽快升级您的站点到HTTPS。

提供的定位服务
接口 类名 说明
浏览器定位 Geolocation 优先调用浏览器H5定位接口,如果失败会调用IP定位
IP定位 LocalCity 根据用户IP 返回城市级别的定位结果
定位SDK辅助定位 Geolocation 当您的APP中有内置的Web页面,同时在Web页面需要提供您的当前位置信息时,可调用集成在App中的百度地图定位SDK来获取更精准的位置信息
定位方法代码示例
       1
       浏览器定位
var map = new BMapGL.Map("allmap");
            var point = new BMapGL.Point(116.331398,39.897445);
            map.centerAndZoom(point,12);
            
            var geolocation = new BMapGL.Geolocation();
            geolocation.getCurrentPosition(function(r){
                if(this.getStatus() == BMAP_STATUS_SUCCESS){
                    var mk = new BMapGL.Marker(r.point);
                    map.addOverlay(mk);
                    map.panTo(r.point);
                    alert('您的位置:' + r.point.lng + ',' + r.point.lat);
                }
                else {
                    alert('failed' + this.getStatus());
                }        
            });
   2
   IP定位
var map = new BMapGL.Map("allmap");
        var point = new BMapGL.Point(116.331398,39.897445);
        map.centerAndZoom(point,12);
        
        function myFun(result){
            var cityName = result.name;
            map.setCenter(cityName);
            alert("当前定位城市:"+cityName);
        }
        var myCity = new BMapGL.LocalCity();
        myCity.get(myFun); 
   3
   定位SDK辅助定位
var map = new BMap.Map("allmap");
        var point = new BMap.Point(116.331398,39.897445);
        map.centerAndZoom(point,12);
        
        var geolocation = new BMap.Geolocation();
        // 开启SDK辅助定位
        geolocation.enableSDKLocation();
        geolocation.getCurrentPosition(function(r){
            if(this.getStatus() == BMAP_STATUS_SUCCESS){
                var mk = new BMap.Marker(r.point);
                map.addOverlay(mk);
                map.panTo(r.point);
                alert('您的位置:'+r.point.lng+','+r.point.lat);
            }
            else {
                alert('failed'+this.getStatus());
            }        
        });
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消