(function() { var lng = $("#lng"); var lat = $("#lat"); //var city = $("#j_city"); var address = $("#Text_webAddress"); var map = new BMap.Map("map"); var marker; var longitude = lng.val(); var latitude = lat.val(); if (longitude && latitude) { map.centerAndZoom(new BMap.Point(longitude, latitude), 12); marker = new BMap.Marker(new BMap.Point(longitude, latitude)); map.addOverlay(marker); } else { var localcity = new BMap.LocalCity(); localcity.get(function(e) { map.centerAndZoom(e.center, 12); }); } map.addControl(new BMap.NavigationControl()); map.enableScrollWheelZoom(); $('#searchbtn').on('click', function() { var cityStr = "44030000"; var addressStr = address.val(); myGeo.getPoint(addressStr, function(point) { if (point) { map.centerAndZoom(point, 16); marker = new BMap.Marker(point); map.addOverlay(marker); marker.enableDragging(); lng.value = point.lng; lat.value = point.lat; marker.addEventListener("dragend", function(e) { lng.value = e.point.lng; lat.value = e.point.lat; }); } }, cityStr); }) var myGeo = new BMap.Geocoder(); var mkrTool = new BMapLib.MarkerTool(map, { autoClose: true, followText: "标注您的位置" }); $('#addMarker').on('click', function() { mkrTool.open(); map.removeOverlay(marker); marker.dispose(); lng.val(""); lat.val(""); }); mkrTool.addEventListener("markend", function(e) { marker = e.marker; lng.value = e.marker.getPosition().lng; lat.value = e.marker.getPosition().lat; marker.enableDragging(); marker.addEventListener("dragend", function(e) { lng.val(e.point.lng); lat.val(e.point.lat); }); }); })();