运行环境 cordova
地理坐标:
百度地图定位位置:
function getLocation(){
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition,showError);
}else{
alert("浏览器不支持地理定位。");
}
}
function showPosition(position){
$("#latlon").html("纬度:"+position.coords.latitude +',经度:'+ position.coords.longitude);
weidu=position.coords.latitude;
jindu=position.coords.longitude;
var latlon = position.coords.latitude+','+position.coords.longitude;
//百度地图接口
var url = "http://api.map.baidu.com/geocoder/v2/?ak=C93b5178d7a8ebdb830b9b557abce78b&callback=renderReverse&location="+latlon+"&output=json&pois=0";
$.ajax({
type: "GET",
dataType: "jsonp",
url: url,
beforeSend: function(){
$("#baidu_geo").html('正在定位...');
},
success: function (json) {
if(json.status==0){
//1.详细地址
//$("#baidu_geo").html(json.result.formatted_address);
//2.定位当前城市
$("#baidu_geo").html(json.result.addressComponent.city.replace(/市/,""));//北京
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$("#baidu_geo").html(latlon+"地址位置获取失败");
}
});
}
function showError(error){
switch(error.code) {
case error.PERMISSION_DENIED:
alert("定位失败,用户拒绝请求地理定位");
break;
case error.POSITION_UNAVAILABLE:
alert("定位失败,位置信息是不可用");
break;
case error.TIMEOUT:
alert("定位失败,请求获取用户位置超时");
break;
case error.UNKNOWN_ERROR:
alert("定位失败,定位系统失效");
break;
}
}
getLocation();
注意在权限设置里给予webapp获取地理位置的权限
tobie.cn___演示:HTML5获取地理位置定位信息.demo{width:560px;margin:60px auto 10px auto}.geo{margin-top:20px}s.demo p{line-height:32px;font-size:16px}.demo p span,#baidu_geo,#google_geo{font-weight:bold}