js调用百度地图

一、通过<script>标签将 API 引用到页面中

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=NepGm5SfjBsSWsTxsvZqc2RW3KM6zZG2"></script>

二、设置文本框,存储返回地址

  <input class="textbox" name="Address" data-options="required:true" id="linkaddress"/>

二、添加百度地图弹窗

    <!--百度弹框-->
<div class="easyui-dialog" id="baiduMap" style="width: 800px;top:45px;"
     closed="true" resizable="true" modal="true" buttons="#dlg-buttons">
    <div class="easyui-panel" style="padding: 10px 10px; overflow-x: hidden;">
<!--百度地图显示的地方-->
        <div style="height:400px;width:780px" id="container">
        </div>
        <div style="text-align: center; width: 100%;margin-top:20px">
            <input id="txtAddress" type="text" />
            <input id="butSearch" type="button" οnclick="sear($('#txtAddress').val())" value="搜索" />
            经纬度:
            <input id="txtjingweidu" type="text" />
            <input id="lng" style="display:none;" />
            <input id="lat" style="display:none;" />
            地址:
            <input id="add" style="width:320px;" />
       </div>
            <div style="text-align: center; width: 100%; margin-top:10px">
                <a href="javascript:void(0)" class="easyui-linkbutton" οnclick="selectMap();" iconcls="icon-ok">确定</a>
                <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel" οnclick="$('#baiduMap').dialog('close')">关闭</a>
            </div>

        </div>
    
    </div>
<!--/弹框-->

 四、js部分 百度地图相关操作

<script>

        $('#linkaddress').click(function () {
            $('#baiduMap').dialog('open').dialog('setTitle', '选择地址')
            map.clearOverlays();//添加标注前清空以前的所有标注


            var lng, lat;
            lng = $('#Longitude');
            lat = $('#Latitude');
            $('#add').val($('#linkaddress').val());
            if (lng.val() != '' && lat.val() != '') {
                var marker = new BMap.Marker(new BMap.Point(lng.val(), lat.val()));        // 创建标注
                map.addOverlay(marker);

                $("#txtjingweidu").val(lng.val() + ", " + lat.val());
                var point = new BMap.Point(lng.val(),lat.val());  // 创建点坐标
                map.centerAndZoom(point, 15);                 // 初始化地图,设置中心点坐标和地图级别
                map.panBy(365, 230);//中心点偏移多少像素
            }
        });

        var map = new BMap.Map("container");//在指定的容器内创建地图实例
        map.setDefaultCursor("crosshair");//设置地图默认的鼠标指针样式
        map.enableScrollWheelZoom();//启用滚轮放大缩小,默认禁用。

        //根据经纬度选择默认范围
        map.centerAndZoom("南宁市", 12);//默认地图的显示范围
        map.addControl(new BMap.NavigationControl());

        map.addEventListener("click", function (e) {//地图右键单击事件,左键为click
            map.clearOverlays();//添加标注前清空以前的所有标注
            $("#txtjingweidu").val(e.point.lng + ", " + e.point.lat);
            $('#lng').val(e.point.lng);
            $('#lat').val(e.point.lat);
            Geocoder(e.point);

            var marker = new BMap.Marker(new BMap.Point(e.point.lng, e.point.lat));        // 创建标注
            map.addOverlay(marker);
        });

        function sear(result) {//根据地质搜索范围
            var local = new BMap.LocalSearch(map, {
                renderOptions: { map: map }
            });
            local.search(result);
        }

        //获取经纬度
        function selectMap() {
            var lng, lat;
            lng = $('#Longitude');
            lat = $('#Latitude');

            lng.val($('#lng').val());
            lat.val($('#lat').val());
            $('#linkaddress').val($('#add').val());
            $('#baiduMap').dialog('close');
        }

        //根据坐标获取地址
        function Geocoder(point) {
            var gc = new BMap.Geocoder();
            gc.getLocation(point, function (rs) {
                var addComp = rs.addressComponents;
                $('#add').val(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
            });
        }

</script>

  

转载于:https://www.cnblogs.com/lemonmoney/p/7227354.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值