PHP對接百度地圖


  • <span style="font-family:Microsoft YaHei;font-size:14px;"><html>  
  •     <head>          
  •         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  •         <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
  •         <title>百度地圖搜索</title>  
  •         <script type="text/javascript" src="http://mapclick.map.baidu.com/data/98_36_11_018.js"></script>  
  •         <script type="text/javascript"   
  •             src="http://api.map.baidu.com/api?v=1.5&ak=1jwM1UGS8wPTvaiUSUaUnuOG"></script>  
  •     </head>  
  •     <body>  
  •         <div style="width:520px;height:340px;border:1px solid gray" id="container"></div>  
  •           
  •         要查詢的地址:<input id="text_" type="text" value="山東濟南泉城廣場" style="margin-right:100px;"/>  
  •         查詢結果(經緯度):<input id="result_" type="text" />  
  •         <input type="button" value="地址查詢經緯度" onclick="searchByStationName();"/>  
  •           
  •         <div id="r-result">  
  •         城市名: <input id="cityName" type="text" style="width:100px; margin-right:10px;" />  
  •                 <input type="button" value="查詢" onclick="theLocation()" />  
  •         </div>  
  •         <div id="results" style="font-size:13px;margin-top:10px;"></div>  
  •     </body>  
  • </html>  
  • <script type="text/javascript">  
  •   
  •     var map = new BMap.Map("container");  
  •     map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);  
  •     map.enableScrollWheelZoom();    //啟用滾輪放大縮小,默認禁用  
  •     map.enableContinuousZoom();    //啟用地圖慣性拖拽,默認禁用  
  •     //為了使用地圖更加方便,我們還可以添加上縮放的平移控件,以及地圖的縮略圖控件,並設置他要顯示的位置:  
  •     map.addControl(new BMap.NavigationControl());  //添加默認縮放平移控件  
  •     map.addControl(new BMap.OverviewMapControl()); //添加默認縮略地圖控件  
  •     map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT }));   //右下角,打開  
  •       
  •     //var local = new BMap.LocalSearch(map, {  
  •     //    renderOptions: {map: map, panel: "results"}  
  •     //});  
  •     //var opts = {anchor: BMAP_ANCHOR_TOP_RIGHT, offset: map.getCenter()};  
  •     ////var opts = {anchor: BMAP_ANCHOR_TOP_RIGHT, offset: new BMap.Size(10, 10)};  
  •     //map.addControl(new BMap.NavigationControl(opts));  
  •       
  •     //local.search("北京市海淀區上地地鐵站");  
  •             
  •     //1.構建搜索  
  •     var localSearch = new BMap.LocalSearch(map);  
  •     localSearch.enableAutoViewport(); //允許自動調節窗體大小  
  •     //2.開始做最關鍵的一步了,就是獲取地址的具體經緯度:  
  •     var searchByStationName = function(){  
  •         var keyword = document.getElementById("text_").value;  
  •         //搜索回調方法  
  •       localSearch.setSearchCompleteCallback(function (searchResult) {  
  •             alert(searchResult);  
  •         var poi = searchResult.getPoi(0);  
  •         document.getElementById("result_").value = poi.point.lng + "," + poi.point.lat; //獲取經度和緯度,將結果顯示在文本框中  
  •         map.centerAndZoom(poi.point, 13);  
  •       });  
  •       localSearch.search(keyword);  
  •     }  
  •       
  •       
  •     /********************************** 
  •     ***********百度地圖API功能********* 
  •     **********************************/  
  •     //1.城市名定位  
  •     //var map = new BMap.Map("allmap");  
  •     //var point = new BMap.Point(116.331398,39.897445);  
  •     //map.centerAndZoom(point,11);  
  •   
  •     function theLocation(){  
  •         var city = document.getElementById("cityName").value;  
  •         if(city != ""){  
  •             map.centerAndZoom(city,11);      // 用城市名設置地圖中心點  
  •         }  
  •     }  
  •       
  •     //2.IP定位獲取當前城市  
  •     function myFun(result){  
  •         var cityName = result.name;  
  •         map.setCenter(cityName);  
  •         alert("當前定位城市:"+cityName);  
  •     }  
  •     var myCity = new BMap.LocalCity();  
  •     myCity.get(myFun);  
  •       
  •     //3.單擊獲取點擊的經緯度  
  •     //單擊獲取點擊的經緯度  
  •     var longitude = "";//經度  
  •     var latitude = "";//緯度  
  •     map.addEventListener("click",function(e){  
  •         alert("經度:"+e.point.lng + "," + "緯度:" +e.point.lat);  
  •         longitude = e.point.lng;  
  •         latitude = e.point.lat;  
  •         if(longitude != "" && latitude != ""){  
  •             map.clearOverlays();   
  •             var new_point = new BMap.Point(longitude,latitude);  
  •             var marker = new BMap.Marker(new_point);  // 創建標注  
  •             map.addOverlay(marker);              // 將標注添加到地圖中  
  •             map.panTo(new_point);  
  •             marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳動的動畫  
  •         }  
  •     });  
  •       
  •       
  •     //4 用經緯度設置地圖中心點  
  •     /*function theLocation(){ 
  •         if(longitude != "" && latitude != ""){ 
  •             map.clearOverlays();  
  •             var new_point = new BMap.Point(longitude,latitude); 
  •             var marker = new BMap.Marker(new_point);  // 創建標注 
  •             map.addOverlay(marker);              // 將標注添加到地圖中 
  •             map.panTo(new_point); 
  •         } 
  •     }*/  
  •       
  •     //5.逆地址解析,點擊地圖展示詳細地址  
  •     var geoc = new BMap.Geocoder();      
  •   
  •     map.addEventListener("click", function(e){          
  •         var pt = e.point;  
  •         geoc.getLocation(pt, function(rs){  
  •             var addComp = rs.addressComponents;  
  •             alert(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);  
  •         });          
  •     });  
  • </script>  
  • </span>  

  • 免責聲明!

    本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



     
    粵ICP備18138465號   © 2018-2025 CODEPRJ.COM