html5 geolocation配合百度地圖api實現定位

1.瞭解html5 geolocation

HTML5 Geolocation(地理定位)用於定位用戶的位置。
鑑於該特性可能侵犯用戶的隱私,除非用戶同意,否則用戶位置信息是不可用的。=> 使用時會有請求提示框,需要用戶點擊確認。

2.瀏覽器支持

Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
對於擁有 GPS 的設備,比如 iPhone,地理定位更加精確。

3.一個實例。

function position() {
    //判斷瀏覽器是否支持定位
	if(navigator.geolocation) {
	    //這裏接受兩個參數 定位成功則執行第一個函數,否則執行第二個
		navigator.geolocation.getCurrentPosition(showPosition, showError);
	} else {
		alert("不支持定位");
	};
};
//接受一個參數 參數爲對象
function showPosition(position){
    //position中有一個coords 這個下面 有latitude:緯度  longitude:經度
    $.ajax({
	  type: "get",
	  url: "http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=" + position.coords.latitude + "," + position.coords.longitude + "&output=json&pois=1&ak=DMCiysDe5wZUpPeTa7xZqUGnoFIUofmi",//這個ak可以去百度地圖申請
	  async: false,
	  dataType:"jsonp",
	  success: function(data) {//拿到返回的地址信息
	    return data;
	  }
    });
};

//err
//接收一個錯誤參數
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;
  };
};

  

 




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章