在上代碼之前先交代一下,這個方法需要申請百度的ak秘鑰,不過好在是免費的。
ak申請地址:http://lbsyun.baidu.com/index.php?title=jspopular3.0


接下來按照步驟申請就好了。下面上代碼。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>根據經緯度獲取位置</title>
<script src="../js/jquery.min.js"></script>
</head>
<body>
經度:<input type="text" id="jd"/>
緯度:<input type="text" id="wd"/>
<input type="button" value="獲取位置" onclick="getPoi()"/>
<script>
function getPoi(){
var x = $("#jd").val();
var y = $("#wd").val();
var token = ""; //自己申請的ak !important
var url = "http://api.map.baidu.com/geocoder/v2/?location="+y+","+x+
"&output=json&ak="+token+"&jsoncallback=callbackFunction";
$.ajax({
type: "GET",
url: url,
dataType : 'jsonp',
success: function(data){//具體返回結果的結構請查詢API
if(data.status == 0){
var address = data.result.formatted_address;
var description = data.result.sematic_description;
alert(address+description);
}
},
error : function(e){ //報錯找百度
window.open("https://www.baidu.com/s?ie=utf-8&rsv_bp=1&rsv_idx=1&tn=baidu&wd="+e);
}
});
}
</script>
</body>
</html>
獲取ak后,將ak放入對應位置即可運行(別忘了引入Jquery);
友情提示:這是基於百度地圖的,如果你的項目的底圖是其他的,比如天地圖,高德等,請去對應的網站上尋找接口,只需替換url即可。返回結果大同小異,可以稍作修改。
