HTML5获取地理位置信息并在Google Maps上显示

 

 

使用HTML5 navigator  geolocation获取当前地理位子,并调用Gmap接口显示在地图上:

 

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    *{margin:0; padding:0;}
    .kingwell_test{font-size:12px; color:#333}
    #ms{height:30px; line-height:30px; font-size:1.25em}
    #map{width:400px; height:400px; margin:auto}
    </style>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
        function $(id) {
            return document.getElementById(id);
        }
        function showInfo(mes){
            $('ms').innerHTML = mes;
            setTimeout(function (){
                $('ms').innerHTML = '';
            },2000);
        };
        function getPosition(){
            if(!navigator.geolocation){
                //alert('不支持定位');
             return;
            }
            navigator.geolocation.getCurrentPosition(function(position){
                var coords = position.coords;
                $('latitude').innerHTML = coords.latitude;
                $('longitude').innerHTML = coords.longitude;
                $('accuracy').innerHTML = coords.accuracy;
                //设定地图参数
                var latlng = new google.maps.LatLng(coords.latitude,coords.longitude);
                var myOptions = {
                    zoom:14,
                    center:latlng,
                    mapTypeId : google.maps.MapTypeId.ROADMAP
                }
                var map1 = new google.maps.Map($('map'),myOptions);
                var marker = new google.maps.Marker({
                    position:latlng,
                    map :map1
                });
                var infowindow = new google.maps.InfoWindow({
                    content : '您当前位置'
                });
                infowindow.open(map1,marker);
            },function(er){
                var errorType = {
                    1 : '位置服务被拒绝',
                    2 : '获取不到位置信息',
                    3 : '获取信息超时'
                };
                showInfo(errorType[er.code]);
            },{
                enableHighAccuracy :false,
                //maximumAge : 60*1000/2,
                //timeout : 5000
            });
        }
        window.addEventListener('load',function(){
            getPosition();
        });

        
    </script>
</head>
<body>
    <div id="map"></div>
    <div class="kingwell_test">
        <div id="ms"></div>
        <div id="">经度:<span id="latitude"></span></div>
        <div id="">纬度:<span id="longitude"></span></div>
        <div id="">精确度:<span id="accuracy"></span></div>
    </div>
</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值