API地址
http://lbs.qq.com/webservice_v1/guide-search.html
获得经纬度
Html5获取地理位置信息是通过Geolocation API提供,使用其getCurrentPosition方法,此方法中有三个参数,分别是成功获取到地理位置信息时所执行的回调函数,失败时所执行的回调函数和可选属性配置项。在获取地理位置信息前,首先浏览器都会向用户询问是否愿意共享其位置信息,待用户同意后才能使用。
<代码>
function getLocation()
{
if (navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition,showError);
}
else{x.innerHTML="Geolocation is not supported by this browser.";}
}
function showPosition(position)
{
x.innerHTML="当前经度: " + position.coords.longitude +
"<br />当前纬度: " + position.coords.latitude;
}
function showError(error){
switch(error.code)
{
case error.PERMISSION_DENIED:
x.innerHTML="User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML="地址信息不合法"
break;
case error.TIMEOUT:
x.innerHTML="请求超时."
break;
case error.UNKNOWN_ERROR:
x.innerHTML="不知名错误"
break;
}
}
getLocation();
逆地址解析
$.ajax({
type : 'get',
url : 'http://apis.map.qq.com/ws/geocoder/v1',
dataType:'jsonp',
data : {
key:"QEPBZ-LQHW4-476UC-X7WAY-MHRT5-K7BZM",//开发密钥
location:"32.078857,118.77397",//位置坐标
get_poi:"1",//是否返回周边POI列表:1.返回;0不返回(默认)
coord_type:"1",//输入的locations的坐标类型,1 GPS坐标
parameter:{"scene_type":"tohome","poi_num":20},//附加控制功能
output:"jsonp"
},
success : function(data, textStatus) {
if(data.status == 0){
var address = data.result.formatted_addresses.recommend;
$("#address").html(address);
}else {
alert("系统错误,请联系管理员!")
}
},
error : function() {
alert("系统错误,请联系管理员!")
}
});