标题:HTML5培训中实现地理位置定位的方法
取消只看楼主
菜鸟在线哈哈
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2016-5-12
 问题点数:0 回复次数:0 
HTML5培训中实现地理位置定位的方法
  下面来说在HTML5培训中地理位置的实现方法。地理位置的用途这里就不做解释了,我们直接看代码吧!
  function getLocation() {
  var options = {
  enableHighAccuracy : true,
  maximumAge : 1000
  }
  alert('this is getLocation()');
  if (navigator.geolocation) {
  //浏览器支持geolocation
  navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
  } else {
  //浏览器不支持geolocation
  alert('您的浏览器不支持地理位置定位');
  }
  }
  这里HTML5培训中的方法,主要功能是在调用html5的geolocation()前,先判断当前浏览器是否支持html5,这个判断基本在很多PC浏览器都会让程序挂掉(原因就是PC绝大部分浏览器不支持或者拒绝html5定位).
  如果浏览器支持,那么程序就会调用geolocation方法了,这是方法里面有2个回调函数:一个是定位成功后的处理操作(一般程序会返回经纬度给你进行后续的定位数据处理),另外一个是定位失败后的处理操作(具体大概就是错误信息,然后就是你的定位失败后的后续操作)
//成功时
function onSuccess(position) {
//返回用户位置
//经度
var longitude = position.coords.longitude;
//纬度
var latitude = position.coords.latitude;
alert('当前地址的经纬度:经度' + longitude + ',纬度' + latitude);
//根据经纬度获取地理位置,不太准确,获取城市区域还是可以的
var map = new BMap.Map("allmap");
var point = new BMap.Point(longitude, latitude);
var gc = new BMap.Geocoder();
gc.getLocation(point, function(rs) {
var addComp = rs.addressComponents;
alert(addComp.province + ", " + addComp.city + ", "+ addComp.district + ",
" + addComp.street + ", "+ addComp.streetNumber);
});
postData(longitude, latitude);
}
  这里写了一个HTML5培训中成功后的回调函数,第一步获取定位成功返回的经纬度数据,然后结合百度那边提供的接口进行具体位置的转换,最后我还有一个数据提交的方法,这个是我具体业务的后续操作了,你可以根据具体情况进行特殊处理。下面附上百度接口:
<script src = "http://api.map.baidu.com/api?v=1.4"type = "text/javascript"> </script>
//失败时
function onError(error) {
switch (error.code) {
case 1:
alert("位置服务被拒绝");
break;
case 2:
alert("暂时获取不到位置信息");
break;
case 3:
alert("获取信息超时");
break;
case 4:
alert("未知错误");
break;
}
//经度
var longitude = 23.1823780000;
//纬度
var latitude = 113.4233310000;
postData(longitude, latitude);
}
  紧接着就是定位失败的回调函数了,这个就简单输出错误信息,然后我也写了一个失败后的后续操作,你可以根据你的需要进行自己的具体操作。
2016-09-14 17:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-468803-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053569 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved