码迷,mamicode.com
首页 > Web开发 > 详细

PHP版:地图对接汇总(百度地图)

时间:2017-11-08 12:03:25      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:sop   put   apc   北京市   etc   oom   down   javascrip   listen   

最近再做一个项目需要用户地图定位功能,因此研究了一下百度地图的功能。

多了不说上代码:

php版 

[php] view plain copy
 
 print?
  1. <span style="font-family:Microsoft YaHei;font-size:14px;"><html>  
  2.     <head>          
  3.         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  4.         <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
  5.         <title>百度地图搜索</title>  
  6.         <script type="text/javascript" src="http://mapclick.map.baidu.com/data/98_36_11_018.js"></script>  
  7.         <script type="text/javascript"   
  8.             src="http://api.map.baidu.com/api?v=1.5&ak=1jwM1UGS8wPTvaiUSUaUnuOG"></script>  
  9.     </head>  
  10.     <body>  
  11.         <div style="width:520px;height:340px;border:1px solid gray" id="container"></div>  
  12.           
  13.         要查询的地址:<input id="text_" type="text" value="山东济南泉城广场" style="margin-right:100px;"/>  
  14.         查询结果(经纬度):<input id="result_" type="text" />  
  15.         <input type="button" value="地址查询经纬度" onclick="searchByStationName();"/>  
  16.           
  17.         <div id="r-result">  
  18.         城市名: <input id="cityName" type="text" style="width:100px; margin-right:10px;" />  
  19.                 <input type="button" value="查询" onclick="theLocation()" />  
  20.         </div>  
  21.         <div id="results" style="font-size:13px;margin-top:10px;"></div>  
  22.     </body>  
  23. </html>  
  24. <script type="text/javascript">  
  25.   
  26.     var map = new BMap.Map("container");  
  27.     map.centerAndZoom(new BMap.Point(116.404, 39.915), 11);  
  28.     map.enableScrollWheelZoom();    //启用滚轮放大缩小,默认禁用  
  29.     map.enableContinuousZoom();    //启用地图惯性拖拽,默认禁用  
  30.     //为了使用地图更加方便,我们还可以添加上缩放的平移控件,以及地图的缩略图控件,并设置他要显示的位置:  
  31.     map.addControl(new BMap.NavigationControl());  //添加默认缩放平移控件  
  32.     map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件  
  33.     map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT }));   //右下角,打开  
  34.       
  35.     //var local = new BMap.LocalSearch(map, {  
  36.     //    renderOptions: {map: map, panel: "results"}  
  37.     //});  
  38.     //var opts = {anchor: BMAP_ANCHOR_TOP_RIGHT, offset: map.getCenter()};  
  39.     ////var opts = {anchor: BMAP_ANCHOR_TOP_RIGHT, offset: new BMap.Size(10, 10)};  
  40.     //map.addControl(new BMap.NavigationControl(opts));  
  41.       
  42.     //local.search("北京市海淀区上地地铁站");  
  43.             
  44.     //1.构建搜索  
  45.     var localSearch = new BMap.LocalSearch(map);  
  46.     localSearch.enableAutoViewport(); //允许自动调节窗体大小  
  47.     //2.开始做最关键的一步了,就是获取地址的具体经纬度:  
  48.     var searchByStationName = function(){  
  49.         var keyword = document.getElementById("text_").value;  
  50.         //搜索回调方法  
  51.       localSearch.setSearchCompleteCallback(function (searchResult) {  
  52.             alert(searchResult);  
  53.         var poi = searchResult.getPoi(0);  
  54.         document.getElementById("result_").value = poi.point.lng + "," + poi.point.lat; //获取经度和纬度,将结果显示在文本框中  
  55.         map.centerAndZoom(poi.point, 13);  
  56.       });  
  57.       localSearch.search(keyword);  
  58.     }  
  59.       
  60.       
  61.     /********************************** 
  62.     ***********百度地图API功能********* 
  63.     **********************************/  
  64.     //1.城市名定位  
  65.     //var map = new BMap.Map("allmap");  
  66.     //var point = new BMap.Point(116.331398,39.897445);  
  67.     //map.centerAndZoom(point,11);  
  68.   
  69.     function theLocation(){  
  70.         var city = document.getElementById("cityName").value;  
  71.         if(city != ""){  
  72.             map.centerAndZoom(city,11);      // 用城市名设置地图中心点  
  73.         }  
  74.     }  
  75.       
  76.     //2.IP定位获取当前城市  
  77.     function myFun(result){  
  78.         var cityName = result.name;  
  79.         map.setCenter(cityName);  
  80.         alert("当前定位城市:"+cityName);  
  81.     }  
  82.     var myCity = new BMap.LocalCity();  
  83.     myCity.get(myFun);  
  84.       
  85.     //3.单击获取点击的经纬度  
  86.     //单击获取点击的经纬度  
  87.     var longitude = "";//经度  
  88.     var latitude = "";//纬度  
  89.     map.addEventListener("click",function(e){  
  90.         alert("经度:"+e.point.lng + "," + "纬度:" +e.point.lat);  
  91.         longitude = e.point.lng;  
  92.         latitude = e.point.lat;  
  93.         if(longitude != "" && latitude != ""){  
  94.             map.clearOverlays();   
  95.             var new_point = new BMap.Point(longitude,latitude);  
  96.             var marker = new BMap.Marker(new_point);  // 创建标注  
  97.             map.addOverlay(marker);              // 将标注添加到地图中  
  98.             map.panTo(new_point);  
  99.             marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画  
  100.         }  
  101.     });  
  102.       
  103.       
  104.     //4 用经纬度设置地图中心点  
  105.     /*function theLocation(){ 
  106.         if(longitude != "" && latitude != ""){ 
  107.             map.clearOverlays();  
  108.             var new_point = new BMap.Point(longitude,latitude); 
  109.             var marker = new BMap.Marker(new_point);  // 创建标注 
  110.             map.addOverlay(marker);              // 将标注添加到地图中 
  111.             map.panTo(new_point); 
  112.         } 
  113.     }*/  
  114.       
  115.     //5.逆地址解析,点击地图展示详细地址  
  116.     var geoc = new BMap.Geocoder();      
  117.   
  118.     map.addEventListener("click", function(e){          
  119.         var pt = e.point;  
  120.         geoc.getLocation(pt, function(rs){  
  121.             var addComp = rs.addressComponents;  
  122.             alert(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);  
  123.         });          
  124.     });  
  125. </script>  
  126. </span>  

附上baidu地图APIdemo地址:http://developer.baidu.com/map/jsdemo.htm

源码下载地址:http://www.jinhusns.com/Products/Download

PHP版:地图对接汇总(百度地图)

标签:sop   put   apc   北京市   etc   oom   down   javascrip   listen   

原文地址:http://www.cnblogs.com/yihoudangxian/p/7803021.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!