推断浏览器的兼容问题:
IE9+支持地理定位,FF Chrome新版支持地理定位
if (navigator.geolocation) { alert('支持地理定位'); } else { alert('不支持地理定位'); } |
获取自己位置经纬度
<script> var x=document.getElementById("wrap"); function getLocation () { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else { alert('不支持地理定位——HTML5*者!'); } } getLocation(); function showPosition(position) { x.innerHTML ="纬度:"+position.coords.latitude + "<br />经度:"+position.coords.longitude; } </script> |
处理错误和拒绝
getCurrentPosition(參数1,參数2); 方法的第二个參数用于处理错误。它规定当获取用户位置失败时执行的函数
错误代码:
/*显示定位错误*/
function showError(error) { switch(error.code) { case error.POSITION_UNAVAILABLE: x.innerHTML="无法获取当前位置! "; break; "; break; |
watchPosition 用法跟getCurrenPosition方法类似 。
watchPosition返回用户的当前位置,假设用户移动则返回实时位置,就跟GPS一样。
① navigator.geolocation.watchPosition(showPosition);
② clearWatch() - 停止 watchPosition() 方法
❤ 百度地图API助手 http://developer.baidu.com/map/
/*经纬度显示在地图上*/ function showOnMap(position){
var latlon=position.coords.latitude+","+position.coords.longitude;
var img_url="http://maps.googleapis.com/maps/api/staticmap?
center=" +latlon+"&zoom=14&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML="<img src='"+img_url+"' />";
}
|
DEMO演示: 显示经纬度 调用百度地图API显示地图信息