您现在的位置是:网站首页 > 脚本编程>
thinkphp 集成百度地图获取经纬度
简介
最近一个项目用到了经纬度,根据经纬度在地图上显示相应的位置,可根据经纬度惊醒距离的运算。这个例子是实现在后台按地址取出经纬度,前台根据经纬度在地图上显示指定的位置及用户信息等。
最近一个项目用到了经纬度,根据经纬度在地图上显示相应的位置
后台实现代码:
html代码:
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=0A41212f4303ec4a6ef599e1d50551ad"></script> <div style="width:730px;margin:auto;"> 要查询的地址:<input id="text" type="text" value="" style="margin-right:100px;"onkeyup="searchByStationName();"/> 查询结果(经纬度):<input id="result" type="text" /> <div id="container"></div> </div>
css代码:
<style> #container{position: absolute; margin-top:30px; width: 500px; height: 500px; top: 50; border: 1px solid gray;overflow:hidden;display:none;} </style>
js代码:
<script type="text/javascript"> var map = new BMap.Map("container"); map.centerAndZoom("北京市", 12); 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 localSearch = new BMap.LocalSearch(map); localSearch.enableAutoViewport(); //允许自动调节窗体大小 function searchByStationName() { map.clearOverlays();//清空原来的标注 var keyword = document.getElementById("text").value; localSearch.setSearchCompleteCallback(function (searchResult) { var poi = searchResult.getPoi(0); document.getElementById("result").value = poi.point.lng + "," + poi.point.lat; map.centerAndZoom(poi.point, 18); var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat)); // 创建标注,为要查询的地方对应的经纬度 map.addOverlay(marker); var content = document.getElementById("text").value + "<br/><br/>经度:" + poi.point.lng + "<br/>纬度:" + poi.point.lat; var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>" + content + "</p>"); marker.addEventListener("click", function () { this.openInfoWindow(infoWindow); }); marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画 }); localSearch.search(keyword); } $("document").ready(function(){ $("#text").focus(function(){ $("#container").css("display","block"); }); $("#text").blur(function(){ $("#container").css("display","none"); }); }); </script>
前端显示代码:
<div class="contact-map"> <style type="text/css"> #allmap {width: 100%;height:274px;border:1px solid #dedede;overflow: hidden;margin:0 auto; background-color:#ffffff;margin-top:8px;} #l-map{height:100%;width:78%;float:left;border-right:2px solid #bcbcbc;} #r-result{height:100%;width:20%;float:left;} </style> <script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script> <!-------------地图坐标脚本结束-----------> <div id="allmap"></div> <script type="text/javascript"> var map = new BMap.Map("allmap");// 创建Map实例 map.addControl(new BMap.NavigationControl()); map.enableScrollWheelZoom(); var myEl = "{$info.jwd}";--------->后台拾取的经纬度 var myA=myEl.split(","); var point = new BMap.Point(myA[0], myA[1]); map.centerAndZoom(point, 18); var marker = new BMap.Marker(point);// 创建标注 map.addOverlay(marker);// 将标注添加到地图中 marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画 </script> <!--地图--> </div>
打赏本站,你说多少就多少

本文地址:https://www.qi522.com/view/86.html
来 源:千奇博客