Hae.definePage(["http://api.map.baidu.com/getscript?v=2.0&ak=G5pnfdGgvQH0GNhod7gNxIF8ubXLf1qt"], function(page) { page.flow = { init: function(pageData, scope) { var map; var styleOptions = { strokeColor: "red", //边线颜色。 fillColor: "red", //填充颜色。当参数为空时,圆形将没有填充效果。 strokeWeight: 3, //边线的宽度,以像素为单位。 strokeOpacity: 0.8, //边线透明度,取值范围0 - 1。 fillOpacity: 0.6, //填充的透明度,取值范围0 - 1。 strokeStyle: 'solid' //边线的样式,solid或dashed。 }; var top_right_navigation; var drawingManager; initMapFunc = function() { map = new BMap.Map("div_map"); // 创建地图实例 var point = new BMap.Point(113.911, 22.966); // 创建点坐标 map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别 map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用 map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用 top_right_navigation = new BMap.NavigationControl({ anchor: BMAP_ANCHOR_TOP_LEFT, type: BMAP_NAVIGATION_CONTROL_SMALL }); //左上角,仅包含平移和缩放按钮 map.addControl(top_right_navigation); //实例化鼠标绘制工具 drawingManager = new BMapLib.DrawingManager(map, { isOpen: false, //是否开启绘制模式 enableDrawingTool: false, //是否显示工具栏 drawingToolOptions: { anchor: BMAP_ANCHOR_TOP_RIGHT, //位置 offset: new BMap.Size(5, 5) //偏离值 }, circleOptions: styleOptions, //圆的样式 polylineOptions: styleOptions, //线的样式 polygonOptions: styleOptions, //多边形的样式 rectangleOptions: styleOptions //矩形的样式 }); drawingManager.addEventListener("polygoncomplete", function(e, overlay) { var listPoint = overlay.getPath(); var latlonsBd = ""; var latAll = 0; var lonAll = 0; var length = listPoint.length; for (var i = 0; i < length; i++) { var lon = listPoint[i].lng; var lat = listPoint[i].lat; lonAll = lonAll + parseFloat(lon); latAll = latAll + parseFloat(lat); if (i === 0) { latlonsBd = lat + "," + lon; } else { latlonsBd += ";" + lat + "," + lon; } } //保存多边形经纬度数据 scope.$transferObject("insertModel").latlons_bd = latlonsBd; scope.$transferObject("insertModel").center_lat_bd = latAll / length; scope.$transferObject("insertModel").center_lon_bd = lonAll / length; scope.$transferObject("insertModel").latlons = ""; scope.$transferObject("insertModel").center_lat = ""; scope.$transferObject("insertModel").center_lon = ""; // Hae.alert("data--" + JSON.stringify(scope.$transferObject("insertModel"))); }); }; $.extend(pageData, { //校验站点代码是否重复 siteCodeUniqueCheck: function() { var site_code = $("#site_code").val(); //创建延迟对象 var d = $.Deferred(); Hae.ajax({ url: "services/isdt.base.deliverySite.CheckSiteCodeAndName", type: "post", data: { "site_code": site_code }, success: function(data) { if (data.BO.total_record === 0) { //修改创建的延迟对象状态为resolve,true表示校验通过; d.resolve(true); } else { d.resolve(false); } } }); //当返回的延迟对象的状态为resolve时,进行后续校验处理。 return d.promise(); }, //校验站点名称是否重复 siteNameUniqueCheck: function() { var site_name = $("#site_name").val(); //创建延迟对象 var d = $.Deferred(); Hae.ajax({ url: "services/isdt.base.deliverySite.CheckSiteCodeAndName", type: "post", data: { "site_name": site_name }, success: function(data) { if (data.BO.total_record === 0) { //修改创建的延迟对象状态为resolve,true表示校验通过; d.resolve(true); } else { d.resolve(false); } } }); //当返回的延迟对象的状态为resolve时,进行后续校验处理。 return d.promise(); }, //在地图上画多边形 addPolygonFunc: function() { if (!drawingManager) { initMapFunc(); } map.clearOverlays(); drawingManager.open(); drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON); }, doSave: function() { if (!scope.$transferObject("insertModel").latlons_bd) { Hae.topBox("请选取区域"); return; } scope.$doActions(["insertData"]); if (scope.$transferObject("insertModel").belong_company_id && scope.$transferObject("insertModel").city && scope.$transferObject("insertModel").state && scope.$transferObject("insertModel").site_code && scope.$transferObject("insertModel").site_name && scope.$transferObject("insertModel").linkman && scope.$transferObject("insertModel").phone_number && scope.$transferObject("insertModel").delivery_address) { scope.$doActions(["pageRoute"]); } } }); }, domReady: function(pageData, scope) { initMapFunc(); } }; });