百度地图(13)-定位
1. 百度地图定位有三种情况
第一种:浏览器定位,BMap.Geolocation 官方文档说是浏览器自带的定位接口,如果失败或不支持则调用高精IP定位。
但是,浏览器自带的定位接口是什么接口? H5? 不知道,不过可以大概定位到位置。
第二种:IP定位,BMap.LocalCity,根据网络的IP定位。
第三种:SDK辅助定位,使用 Geolocation,但是开启了 enableSDKLocation。 这个应该和第一种差不太多。
2. 浏览器定位
1 function geoLocation() { 2 var geoLocation = new BMap.Geolocation(); 3 geoLocation.getCurrentPosition(function (r) { 4 if(this.getStatus() == BMAP_STATUS_SUCCESS){ 5 var mk = new BMap.Marker(r.point); 6 map.addOverlay(mk); 7 map.panTo(r.point); 8 alert('您的位置:' + r.point.lng + "," + r.point.lat); 9 } 10 else { 11 alert('failed' + this.getStats()); 12 } 13 }); 14 }
3. IP定位
1 function cityLocation() { 2 function myFun(result) { 3 var cityName = result.name; 4 map.setCenter(cityName); 5 alert("当前城市"+cityName); 6 } 7 var myCity = new BMap.LocalCity(); 8 myCity.get(myFun); 9 }
4. SDK辅助定位
1 function sdkLocation() { 2 var geoLocation = new BMap.Geolocation(); 3 geoLocation.enableSDKLocation(); 4 geoLocation.getCurrentPosition(function (r) { 5 if(this.getStatus() == BMAP_STATUS_SUCCESS){ 6 var mk = new BMap.Marker(r.point); 7 map.addOverlay(mk); 8 //map.panTo(r.point); 9 console.log('您的新位置:' + r.point.lng + "," + r.point.lat); 10 } 11 else { 12 alert('failed' + this.getStats()); 13 } 14 }); 15 }
5. 页面显示
6. 代码参考
https://github.com/WhatGIS/bdMap