第1行: | 第1行: | ||
{{jspopularV3-sidebar}} | {{jspopularV3-sidebar}} | ||
− | <div class="bluetitle"><div class=" | + | <div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>简介</span></div></div></div><div class="serve-explain-text"> |
JavaScript API提供在Web端获取当前位置信息的方法,融合了浏览器定位、IP定位、安卓定位SDK辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息等功能。 | JavaScript API提供在Web端获取当前位置信息的方法,融合了浏览器定位、IP定位、安卓定位SDK辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息等功能。 | ||
第8行: | 第8行: | ||
<font color="red">注意:<br/>1. 请求JavaScript API v3.0的定位功能时,必须获取用户授权。<br/>2. 由于Chrome、iOS10等已不再支持非安全域的浏览器定位请求,为保证定位成功率和精度,请尽快升级您的站点到HTTPS。<br/>3. iOS15系统下浏览器默认关闭位置请求,需要用户设置为允许/询问后方可获取精确的定位。</font> | <font color="red">注意:<br/>1. 请求JavaScript API v3.0的定位功能时,必须获取用户授权。<br/>2. 由于Chrome、iOS10等已不再支持非安全域的浏览器定位请求,为保证定位成功率和精度,请尽快升级您的站点到HTTPS。<br/>3. iOS15系统下浏览器默认关闭位置请求,需要用户设置为允许/询问后方可获取精确的定位。</font> | ||
− | </div><div class="bluetitle"><div class=" | + | </div><div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>提供的定位服务</span></div></div></div> |
{| width="507" border="1" | {| width="507" border="1" | ||
|- | |- | ||
第27行: | 第27行: | ||
| 当您的APP中有内置的Web页面,同时在Web页面需要提供您的当前位置信息时,可调用集成在App中的百度地图定位SDK来获取更精准的位置信息 | | 当您的APP中有内置的Web页面,同时在Web页面需要提供您的当前位置信息时,可调用集成在App中的百度地图定位SDK来获取更精准的位置信息 | ||
|} | |} | ||
− | <div class="bluetitle"><div class=" | + | <div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>定位方法代码示例</span></div></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 BMap.Map("allmap"); |
var point = new BMap.Point(116.331398,39.897445); | var point = new BMap.Point(116.331398,39.897445); | ||
map.centerAndZoom(point,12); | map.centerAndZoom(point,12); |
2022年8月19日 (五) 14:02的最后版本
简介
JavaScript API提供在Web端获取当前位置信息的方法,融合了浏览器定位、IP定位、安卓定位SDK辅助定位等多种手段,提供了获取当前准确位置、获取当前城市信息等功能。
浏览器定位精度依赖浏览器自身特性,IP定位的精度值为城市级别。
对于安卓WebView页面的开发者,可以结合定位SDK进行辅助定位,使用方法参见定位SDK相关章节。
注意:
1. 请求JavaScript API v3.0的定位功能时,必须获取用户授权。
2. 由于Chrome、iOS10等已不再支持非安全域的浏览器定位请求,为保证定位成功率和精度,请尽快升级您的站点到HTTPS。
3. iOS15系统下浏览器默认关闭位置请求,需要用户设置为允许/询问后方可获取精确的定位。
提供的定位服务
接口 | 类名 | 简介 |
浏览器定位 | Geolocation | 优先调用浏览器H5定位接口,如果失败会调用IP定位 |
IP定位 | LocalCity | 根据用户IP 返回城市级别的定位结果 |
定位SDK辅助定位 | Geolocation | 当您的APP中有内置的Web页面,同时在Web页面需要提供您的当前位置信息时,可调用集成在App中的百度地图定位SDK来获取更精准的位置信息 |
定位方法代码示例
1浏览器定位
var map = new BMap.Map("allmap"); var point = new BMap.Point(116.331398,39.897445); map.centerAndZoom(point,12); var geolocation = new BMap.Geolocation(); 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()); } });
2IP定位
var map = new BMap.Map("allmap"); var point = new BMap.Point(116.331398,39.897445); map.centerAndZoom(point,12); function myFun(result){ var cityName = result.name; map.setCenter(cityName); alert("当前定位城市:"+cityName); } var myCity = new BMap.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()); } });