點評:本小菜剛開始學習HTML5,現在對其中的Geolocation頗感興趣,結合Google Map的API實現基本的地圖定位功能主要是由以下幾個步驟:獲取當前地理位置、調用Google Map API獲取當前位置信息
本小菜剛開始學習HTML5,現在對其中的Geolocation頗感興趣,結合Google Map的API實現基本的地圖定位功能。復制代碼
代碼如下:
if (navigator.geolocation) {
//獲取當前地理位置信息
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
} else {
alert("你的瀏覽器不支持HTML5來獲取地理位置信息。");
}
復制代碼
代碼如下:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
復制代碼
代碼如下:
//指定一個google地圖上的坐標點,同時指定該坐標點的橫坐標和縱坐標
var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
var myOptions = {
zoom: 14, //設定放大倍數
center: latlng, //將地圖中心點設定為指定的坐標點
mapTypeId: google.maps.MapTypeId.ROADMAP //指定地圖類型
};
復制代碼
代碼如下:
//創建地圖,并在頁面map中顯示
var map = new google.maps.Map(document.getElementById("map"), myOptions);
復制代碼
代碼如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>獲取當前位置并顯示在google地圖上</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
function init() {
if (navigator.geolocation) {
//獲取當前地理位置
navigator.geolocation.getCurrentPosition(function (position) {
var coords = position.coords;
//console.log(position);
//指定一個google地圖上的坐標點,同時指定該坐標點的橫坐標和縱坐標
var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
var myOptions = {
zoom: 14, //設定放大倍數
center: latlng, //將地圖中心點設定為指定的坐標點
mapTypeId: google.maps.MapTypeId.ROADMAP //指定地圖類型
};
//創建地圖,并在頁面map中顯示
var map = new google.maps.Map(document.getElementById("map"), myOptions);
//在地圖上創建標記
var marker = new google.maps.Marker({
position: latlng, //將前面設定的坐標標注出來
map: map //將該標注設置在剛才創建的map中
});
//標注提示窗口
var infoWindow = new google.maps.InfoWindow({
content: "當前位置:<br/>經度:" + latlng.lat() + "<br/>維度:" + latlng.lng() //提示窗體內的提示信息
});
//打開提示窗口
infoWindow.open(map, marker);
},
function (error) {
//處理錯誤
switch (error.code) {
case 1:
alert("位置服務被拒絕。");
break;
case 2:
alert("暫時獲取不到位置信息。");
break;
case 3:
alert("獲取信息超時。");
break;
default:
alert("未知錯誤。");
break;
}
});
} else {
alert("你的瀏覽器不支持HTML5來獲取地理位置信息。");
}
}
</script>
</head>
<body>
<div></div>
</body>
</html>
新聞熱點
疑難解答