HTML5调用百度地图API获取当前位置并直接导航目的地的方法

<!DOCTYPE html>

<html lang= "zh-cmn-Hans" >
     <meta charset= "UTF-8" >
     <meta name= "viewport" content= "width=device-width,initial-scale=1,user-scalable=0" >
     <title>HTML5页面直接调用百度地图API,获取当前位置,直接导航目的地</title>
     <script type= "text/javascript" src= "http://api.map.baidu.com/api?v=2.0&ak=wDYEcxgRRheZwyC9jpN1Tt7fzr2zjosZ" ></script> 
//$ak=2051409c59b8d558c7e6bbd0c5c62ffd
 
     <script src= "http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js" ></script><!--调用jQuery-->
   <style type= "text/css" >
         body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family: "微软雅黑" ;}
     </style>
</head>
<body> 
    <p id= "allmap" ></p>
</body> 
</html> 
<script type= "text/javascript"
     var map = new BMap.Map( "allmap" ); 
     var point = new BMap.Point(116.709684,39.89778);
     map.centerAndZoom(point, 16); 
     map.enableScrollWheelZoom();
     var myIcon = new BMap.Icon( "myicon.png" , new BMap.Size(30,30),{
         anchor: new BMap.Size(10,10)   
     });
     var marker= new BMap.Marker(point,{icon: myIcon}); 
     map.addOverlay(marker); 
     var geolocation = new BMap.Geolocation();
     geolocation.getCurrentPosition( function (r){
         if (this.getStatus() == BMAP_STATUS_SUCCESS){
             var mk = new BMap.Marker(r.point);
             map.addOverlay(mk);
             //map.panTo(r.point);//地图中心点移到当前位置
             var latCurrent = r.point.lat;
             var lngCurrent = r.point.lng;
             //alert('我的位置:'+ latCurrent + ',' + lngCurrent);
             location.href= "http://api.map.baidu.com/direction?origin=" +latCurrent+ "," +lngCurrent+ "&destination=39.89778,116.709684&mode=driving&region=北京&output=html" ;
         }
         else {
             alert( 'failed' +this.getStatus());
         }       
     },{enableHighAccuracy: true})
     map.addOverlay(marker); 
     var licontent= "<b>健龙森羽毛球馆</b><br>"
         licontent+= "<span><strong>地址:</strong>北京市通州区滨河中路108号</span><br>"
         licontent+= "<span><strong>电话:</strong>(010)81556565 / 6969</span><br>" ;         
     var opts = {
         width : 200,
         height: 80,
     };        
     var  infoWindow = new BMap.InfoWindow(licontent, opts); 
     marker.openInfoWindow(infoWindow); 
     marker.addEventListener( 'click' , function (){
         marker.openInfoWindow(infoWindow);
     }); 
</script>

猜你喜欢

转载自www.cnblogs.com/yszr/p/9267932.html