注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

梦幻雪冰

技在手,能在身,思在脑,从容过生活——陈能堡

 
 
 

日志

 
 

【转载】HTML5 GPS定位&百度地图API  

2014-10-24 18:01:45|  分类: 移动端专题 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自独行冰海《HTML5 GPS定位&百度地图API》
这几天再研究地理定位,做了一些手记,和大家分享一下~
我们有时会有这样的开发需求:获取到当前用户的位置,然后为用户提供一些服务。
此时可以采用两种定位方式,一种是用GPS的定位,然后将定位到的经纬度传递到百度地图的API接口当中。另一种方法是利用百度API接口,使用IP地址定位,然后使用IP地址获取到的经纬度,传递到百度地图API接口中。
自己尝试使用了这两种方式进行定位。相对来说,IP地址定位,偏差比较大。GPS定位虽然还可以,但是也不足够精确。产生比较大偏差的原因有可能是以下几点造成的:
1、GPS一打开就进行了定位。当GPS没有搜到足够的卫星,或者信号不好时数据是不对的。
2、没有做GPS坐标到百度坐标的转换——这个原因也是不精确的主要原因

那么在拿到GPS定位的经纬度之后,为了让定位精确,我们需要进行“纠偏”。此时也就是所谓的“坐标转换”。坐标转换的方法有两种,一种是调用外部网站提供的纠偏方法,另外一种是使用百度自己的API。
方法1:外部网站纠偏方法
可以访问http://ditujiupian.com/网站,然后申请测试key,按照它给出的链接既可以获取到纠偏后的经纬度。
方法2:利用百度自己的API
不多说,直接上代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=申请到的百度的密钥"></script>
<title>GPS转百度</title>
</head>
<body>
<div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
//GPS坐标
var xx = 116.397428;
var yy = 39.90923;
var gpsPoint = new BMap.Point(xx,yy);

//地图初始化
var bm = new BMap.Map("allmap");
bm.centerAndZoom(gpsPoint, 15);
bm.addControl(new BMap.NavigationControl());

//坐标转换完之后的回调函数

//此处显示的就是纠偏后的经纬度
translateCallback = function (point){
var marker = new BMap.Marker(point);
bm.addOverlay(marker);
bm.setCenter(point);
}
BMap.Convertor.translate(gpsPoint,0,translateCallback); //真实经纬度转成百度坐标
</script>


附加资料:
中国常用的WGS1984的经纬度坐标,1秒相当于33米。具体如下:
经度1度=85.39km
经度1分 = 1.42km
经度1秒 = 23.6m
纬度1度 = 大约111km
纬度1分 = 大约1.85km
纬度1秒 = 大约30.9m

欢迎互相沟通学习交流~独行冰海
  评论这张
 
阅读(80)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017