定义定位方式
常用定位方式3种,也是我目前常用定位方式
- AP
- IP
- GPS
- 基站
AP
可以百度AP定位理解,我只做简介。以前老旧安卓设备,或不带GPS平板设备,都可以通过AP连接方式定位,大白话就是连接WIFI,通过网络设备判断你当前所处位置。
IP
之前完成的项目采用了IP定位,关闭了AP、GPS,但是定位会出现问题,不是很精准,只能定位当前城市,并且如果移动端走流量IP更会出现问题,直接漂移到其他城市。
GPS
GPS就不用说了,是最稳定最快捷的方式方法,全球任意位置都可以找到你
基站
基站效果最好,但是申请难度较大,还有小区号,我反正是没弄懂,但是看演示效果很不错。如果在发达地区,基站定位效果很好,而且不花流量费用,直走设备SIM卡,但是如果在西北内陆地区,基站数量小,信号差地方,定位不准确,不精准。
源码演示
以下是借助百度地图,使用浏览器种定位方式,关闭了图层部分
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
</style>
<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak="></script>
<title>浏览器定位</title>
</head>
<body>
<div id="allmap"></div>
123
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
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());
}
},{enableHighAccuracy: true})
</script>