JavaScript一個google地圖獲取

<script type="text/javascript">
/**
 * 返回一個新建立的<img>元素,該元素用於在獲取到地理位置信息後,顯示一張Google地圖
 * 該地圖上顯示了當前的位置,要注意的是,次函數的調用者必需要將返回的元素
 * 插入到文檔中,以使它可見
 * 若是當前瀏覽器不支持地理位置API,則拋出一個錯誤
 */
function getmap(){
	//檢查是否支持地理位置API
	if(!navigator.geolocation)
		throw "Geolocation not supported"

	//建立一個行的<img>元素,並開始請求地理位置信息
	//<img>元素顯示包含當前位置的地圖,而後再將返回該圖片
	var image = document.createElement("img");
	image.width = 640;
	image.height = 640;
	navigator.geolocation.getCurrentPosition(setMapURL);
	return image;

	//當(若是)成功獲取到地理位置信息後,會在返回image對象後調用此方法
	function setMapURL(pos){
		//從參數對象pos中獲取地理位置信息
		var latitude = pos.coords.latitude;		//經度
		var longitude = pos.coords.longitude;		//緯度
		var accuracy = pos.coords.accuracy;		//米

		//構造 一個URL,用於請求一張顯示當前位置的靜態Google地圖
		var url = "http://map.google.com/maps/api/staticmap"+"?conter="+
			latitude+","+longitude+"&size=640x640&sensor=true";
		console.log(url);

		//設置一個大體的縮放級別
		var zoomlevel = 20;	//以各類方式開始縮放
		if(accuracy > 80)		//在低精度的狀況下放大
			zoomlevel -= Math.round(Math.log(accuracy/50)/Math.LN2);
		url += "&zoom="+zoomlevel;		//將縮放級別添加到URL中
		//如今在image對象中顯示該地圖,
		image.src = url;
	}
}
var a = getmap();
document.body.appendChild(a);
</script>
相關文章
相關標籤/搜索