您现在的位置是:网站首页 > 脚本编程>

thinkphp 集成百度地图获取经纬度

2016-01-263493人围观
简介 最近一个项目用到了经纬度,根据经纬度在地图上显示相应的位置,可根据经纬度惊醒距离的运算。这个例子是实现在后台按地址取出经纬度,前台根据经纬度在地图上显示指定的位置及用户信息等。

最近一个项目用到了经纬度,根据经纬度在地图上显示相应的位置

后台实现代码:

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

来     源:千奇博客

精彩评论

微信关注

Copyright © 2013-2019 千奇博客 保留所有权利 辽ICP备13008238号