百度地图(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

原文地址:https://www.cnblogs.com/googlegis/p/14685353.html