地理定位

Posted YC小杨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了地理定位相关的知识,希望对你有一定的参考价值。

==获取地理位置的方式

1、GPS(全球定位系统

2、手机信号(移动通信基站)

3、wiFi或蓝牙(wifi信号发射装置都有一个全球唯一的MAC地址)

4、IP地址(链接互联网时,每台设备都有一个独一无二的IP地址)

 ==用geolocation对象定位(针对百度地图):

var geolocation = new BMap.Geolocation( );//1、先获取geolocation 对象

geolocation.getCurrentPosition( successCallback, errorCallback);//2、对象掉定位方法,定位成功执行successCallback函数,失败执行errorCallback函数(参数可不填)

function successCallback(position){

var coords = position.coords;//coords属性返回经纬度对象

var longitude = coords.longitude;//经度

var latitude = coords.latitude;//纬度

var accuracy = coords.accuracy;//精确度

}//定位成功将要执行的函数

function errorCallback(error){

switch(error.code){

case 3:

alert("超时,请重试!");

break;

case 2:

alert("位置信息不可用!");

break;

case 1:

alert("用户拒绝了该浏览器的位置信息请求!");

break;

case 0:

alert("未知错误!");

break;

}

}//定位失败将要执行的函数

==还可添加配置对象为第三个参数

{

enableHighAcuracy : true,//指示浏览器获取高精度位置,默认为false

timeout : 5000,//指定获取位置超时时间,默认不限时,单位毫秒

maximumAge : 10000//指定多久重复获取位置

}

==getCurrentPosition方法与watchPosition方法的区别:

getCurrentPosition这个函数只会执行一次,

watchPosition这个函数只有设备的位置发生变化,才会执行成功函数。

==用JS初始化地图

var map = new BMap.Map("map");//创建地图对象,id为"map"的div,且div的宽高为100%,且div的父亲必须有宽高。

map.centerAndZoom("北京",100);//初始化地图,设置中心和缩放比例。

==Map对象的常见方法:

enableDragging() / disableDragging()===>启用/禁用地图拖拽

enableScrollWheelZoom() / disableScrollWheelZoom()===>启用/禁用滚轮缩放大小

enableKeyboard() / disableKeyboard()===>启用/禁用键盘上下键移动地图

enableDoubleClickZoom() / disableDoubleClickZoom()===>启用/禁用双击放大

getCenter===>返回当前的中心点对象

==百度地图API常用控件

NavigationControl====>平移缩放控件

ScaleControl====>比例尺控件

MapTypeControl====>地图类型控件(只有设置为城市时有用)

PanoramaControl====>全景控件(全景效果在本地打开可能没有效果,放在服务器环境即可。)

==向地图中添加控件

map.addControl(new BMap.NavigationControl());//平移缩放控件

map.addControl(new BMap.ScaleControl());//比例尺控件

map.addControl(new BMap.MapTypeControl());//地图类型控件

map.addControl(new BMap.PanoramaControl());//全景控件

 

以上是关于地理定位的主要内容,如果未能解决你的问题,请参考以下文章

使用谷歌地图地理定位 api 进行准确的地理定位

如何使用HTML5地理位置定位功能

iOS定位的使用:地理/逆地理编码/判断目标经纬度是否在大陆

是否可以使用 iOS 和 Android 原生地理定位服务等地理定位服务

objective-c开发——地图定位之地理编码和地理反编码

HTML5 Geolocation(地理定位)简介