JavaScript API提供在Web端获取当前位置信息的方法,融合了浏览器定位、IP定位、安卓定位SDK辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息等功能。
浏览器定位精度和性能依赖浏览器自身特性,IP定位的精度值为城市级别。
对于安卓WebView页面的开发者,可以结合定位SDK进行辅助定位,使用方法参见定位SDK相关章节。
注意:
由于Chrome、iOS10以上系统等已不再支持非安全域的浏览器定位请求,为保证定位成功率和精度,请尽快升级您的站点到HTTPS。
iOS15系统浏览器默认关闭位置请求,需要用户设置手机为允许/询问后方可获取精确的定位,定位权限的开启方式请参见iOS15定位问题。
由于浏览器原生定位成功率并不高,我们提供ip和安卓sdk定位进行辅助,如果定位精准在城市级别,可提供ak联系我们提高定位精准度。
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());}});
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);
var map = new BMapGL.Map('allmap');var point = new BMapGL.Point(116.331398, 39.897445);map.centerAndZoom(point, 12);var geolocation = new BMapGL.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());}});
上一篇
下一篇
本篇文章对您是否有帮助?