使用HTML5 geolocation 和 google Maps API

第一步,添加一个div标签,用来显示地图

<div id="mapDiv"></div>

第二步,使用CSS使得地图显示更友好

<style>
#mapDiv {
    width:500px;
    height:300px;
    border:1px solid #efefef;
    margin:auto;
    -moz-box-shadow:5px 5px 10px #000;
    -webkit-box-shadow:5px 5px 10px #000;
}
</style>

第三步,添加google maps API

<script src="http://maps.google.com/maps/api/js?sensor=true"></script>

第四步,检查我们的地理位置,我们实际使用的浏览器

 if(navigator.geolocation){
 
 }
 
第五步,我们使用在HTML5 getCurrentPosition功能内置和传递函数称为hasPosition

    navigator.geolocation.getCurrentPosition(hasPosition);
 
第六步,完成hasPosition函数

 function hasPosition(position) {
            var point = new google.maps.LatLng(position.coords.latitude, position.coords.longitude),
           
            myOptions = {
                zoom: 15,
                center: point,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            },
           
            mapDiv = document.getElementById("mapDiv"),
            map = new google.maps.Map(mapDiv, myOptions),
           
            marker = new google.maps.Marker({
                position: point,
                map: map,
                title: "You are here"
            });
        } 
  
完整的代码如下  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>HTML5 Geolocation</title>
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
<script>
   
    if(navigator.geolocation) {
       
        function hasPosition(position) {
  
   //创建一个变量,并传送经度和纬度到Google Maps获取你的地理位置
            var point = new google.maps.LatLng(position.coords.latitude, position.coords.longitude),
            //设置地图
            myOptions = {
                zoom: 15,
                center: point,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            },
            //找到div标签把地图载入
            mapDiv = document.getElementById("mapDiv"),
            //传送div和地图设置到地图里
   map = new google.maps.Map(mapDiv, myOptions),
           
            marker = new google.maps.Marker({
                position: point,
                map: map,
                title: "你在这里"
            });
        }
        navigator.geolocation.getCurrentPosition(hasPosition);
    }
</script>
<style>
#mapDiv {
    width:500px;
    height:300px;
    border:1px solid #efefef;
    margin:auto;
    -moz-box-shadow:5px 5px 10px #000;
    -webkit-box-shadow:5px 5px 10px #000;
}
</style>
</head>

<body>
<div id="mapDiv"></div>
</body>

</html>
 
 

posted @ 2012-02-10 13:04  校长阿四  阅读(356)  评论(0编辑  收藏  举报