<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>