function baidumap(com_companyname,com_address,com_map_x,com_map_y,com_map_zoom,c_map_x,c_map_y,c_map_zoom){ var map = new BMap.Map("container"); var infoWindow = ''; var overlays = []; var overlaycomplete = function(e){ clearAll(); overlays.push(e.overlay); var point = new BMap.Point(e.overlay.point.lng, e.overlay.point.lat); map.centerAndZoom(point, com_map_zoom); map.openInfoWindow(infoWindow,point); map.setCenter(point); var geoc = new BMap.Geocoder(); geoc.getLocation(point, function(rs){ var addComp = rs.addressComponents; G('suggestId').value = addComp.province+addComp.city+addComp.district+addComp.street+addComp.streetNumber; infoWindowSet(); }); G("map_x").value=e.overlay.point.lng; G("map_y").value= e.overlay.point.lat; G("map_zoom").value= map.getZoom(); }; openDraw(); function openDraw(){ //实例化鼠标绘制工具 var drawingManager = new BMapLib.DrawingManager(map, { isOpen: true, //是否开启绘制模式 enableDrawingTool: false, //是否显示工具栏 drawingToolOptions: { anchor: BMAP_ANCHOR_TOP_RIGHT, //位置 offset: new BMap.Size(5, 5), //偏离值 drawingTypes : [ BMAP_DRAWING_MARKER ] }, }); drawingManager.setDrawingMode(BMAP_DRAWING_MARKER); //添加鼠标绘制工具监听事件,用于获取绘制结果 drawingManager.addEventListener('overlaycomplete', overlaycomplete); } function clearAll() { for(var i = 0; i < overlays.length; i++){ map.removeOverlay(overlays[i]); } map.removeOverlay(qs_marker); overlays.length = 0 } function setPlace(){ map.clearOverlays(); //清除地图上所有覆盖物 function myFun(){ var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果 map.centerAndZoom(pp, 18); map.addOverlay(new BMap.Marker(pp)); //添加标注 G("map_x").value=pp.lng; G("map_y").value= pp.lat; G("map_zoom").value= map.getZoom(); } var local = new BMap.LocalSearch(map, { //智能搜索 onSearchComplete: myFun }); local.search(G('suggestId').value); openDraw(); } $("#search").on('click',function(){ if(G('suggestId').value==''){ disapperTooltip("remind", "请输入详细地址");return false; } setPlace(); }); function G(id) { return document.getElementById(id); } var ac = new BMap.Autocomplete( //建立一个自动完成的对象 { "input" : "suggestId", "location" : map }); ac.setInputValue(com_address); ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件 // alert(1); var _value = e.item.value; myValue = _value.province + _value.city + _value.district + _value.street + _value.business; G("searchResultPanel").innerHTML ="onconfirm
index = " + e.item.index + "
myValue = " + myValue; G('suggestId').value = myValue; }); //假如已经设置了标注 function infoWindowSet(){ var opts = { width : 300, // 信息窗口宽度 height: 60, // 信息窗口高度 title : com_companyname // 信息窗口标题 } infoWindow = new BMap.InfoWindow("(提示:任意点击地图或通过精确搜索选择您的位置)", opts); } infoWindowSet(); //假如有设置的,显示参数 if(com_map_x && com_map_y && com_map_zoom>0){ var point = new BMap.Point(com_map_x, com_map_y); map.centerAndZoom(point, com_map_zoom); var qs_marker = new BMap.Marker(point); // 创建标注 map.addOverlay(qs_marker); map.openInfoWindow(infoWindow,point); map.setCenter(point); G("map_x").value=com_map_x; G("map_y").value= com_map_y; G("map_zoom").value= com_map_zoom; }else{ var point = new BMap.Point(c_map_x,c_map_y); map.centerAndZoom(point, c_map_zoom); map.setCenter(point); } map.addControl(new BMap.NavigationControl());//添加鱼骨 map.enableScrollWheelZoom();//启用滚轮放大缩小,默认禁用。 }