1. 程式人生 > >HTML5頁面直接調用百度地圖API,獲取當前位置,直接導航目的地(轉)

HTML5頁面直接調用百度地圖API,獲取當前位置,直接導航目的地(轉)

wid dir tle mark utf-8 mil 獲取 open init

HTML5頁面直接調用百度地圖API,獲取當前位置,直接導航目的地
我是應用在微信中,自定義菜單,菜單直接鏈接到這個HTML5頁面,獲取當前位置後,頁面中定好目的地,這樣打開頁面後直接進入導航頁面
可以省下先發送位置信息後,點確定再出導航,省一步,

<!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>    
    <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>    
   <div id="allmap"></div>  
</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>  

  

HTML5頁面直接調用百度地圖API,獲取當前位置,直接導航目的地(轉)