一、通过<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=" 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;780px" id="container"> </div> <div style="text-align: center; 100%;margin-top:20px"> <input id="txtAddress" type="text" /> <input id="butSearch" type="button" onclick="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="320px;" /> </div> <div style="text-align: center; 100%; margin-top:10px"> <a href="javascript:void(0)" class="easyui-linkbutton" onclick="selectMap();" iconcls="icon-ok">确定</a> <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel" onclick="$('#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>