Commit dbcfc93a35aee453e032eb69d4e1fd0a2d4a4c8f

Authored by 王通
1 parent 84de7454

1.站点可手动录入坐标信息,优先以录入的wgs84坐标为准

src/main/java/com/bsth/service/impl/StationServiceImpl.java
@@ -164,6 +164,13 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem @@ -164,6 +164,13 @@ public class StationServiceImpl extends BaseServiceImpl<Station, Integer> implem
164 station.setCenterPoint(baidu); 164 station.setCenterPoint(baidu);
165 station.setCenterPointWgs(wgs); 165 station.setCenterPointWgs(wgs);
166 } 166 }
  167 + wkt = station.getCenterPointWgsWkt();
  168 + if (!StringUtils.isEmpty(wkt)) {
  169 + org.geolatte.geom.Point wgs = (org.geolatte.geom.Point) Wkt.fromWkt(wkt);
  170 + org.geolatte.geom.Point baidu = GeoConverter.pointWgs2bd(wkt);
  171 + station.setCenterPoint(baidu);
  172 + station.setCenterPointWgs(wgs);
  173 + }
167 } 174 }
168 175
169 final static class StationBatchPreparedStatementSetter implements BatchPreparedStatementSetter { 176 final static class StationBatchPreparedStatementSetter implements BatchPreparedStatementSetter {
src/main/java/com/bsth/util/GeoConverter.java
@@ -20,6 +20,16 @@ public class GeoConverter { @@ -20,6 +20,16 @@ public class GeoConverter {
20 return (Point) Wkt.fromWkt(String.format("POINT(%s)", location.toString())); 20 return (Point) Wkt.fromWkt(String.format("POINT(%s)", location.toString()));
21 } 21 }
22 22
  23 + public static Point pointWgs2bd(String wkt) {
  24 + if (wkt.indexOf("POINT") != 0) {
  25 + throw new IllegalArgumentException("异常的Point wkt数据");
  26 + }
  27 + CoordinateConverter.Location location = CoordinateConverter.LocationMake(wkt);
  28 + location = CoordinateConverter.transformFromBDToWGS(location);
  29 +
  30 + return (Point) Wkt.fromWkt(String.format("POINT(%s)", location.toString()));
  31 + }
  32 +
23 public static Polygon polygonBd2wgs(String wkt) { 33 public static Polygon polygonBd2wgs(String wkt) {
24 if (wkt.indexOf("POLYGON") != 0) { 34 if (wkt.indexOf("POLYGON") != 0) {
25 throw new IllegalArgumentException("异常的Polygon wkt数据"); 35 throw new IllegalArgumentException("异常的Polygon wkt数据");
src/main/resources/ftp.properties
1 -ftp.url=116.236.238.212  
2 -ftp.port=21  
3 -ftp.username=transport  
4 -ftp.password=transport123  
5 -ftp.path=down/  
6 -  
7 -#ftp.url=192.168.168.101  
8 -#ftp.port=21  
9 -#ftp.username=testftpservice  
10 -#ftp.password= 123 1 +ftp.url=118.113.164.50
  2 +ftp.port=10021
  3 +ftp.username=ftpadmin
  4 +ftp.password=ftp@123
  5 +ftp.path=/transport/down/
  6 +
  7 +#ftp.url=192.168.168.101
  8 +#ftp.port=21
  9 +#ftp.username=testftpservice
  10 +#ftp.password= 123
11 #ftp.path= ftptest/ 11 #ftp.path= ftptest/
12 \ No newline at end of file 12 \ No newline at end of file
src/main/resources/static/pages/base/carpark/js/add-vmap-world.js
1 -var addCarParkVmapWorlds = function() {  
2 - var mapB = '', circle = '', drawingManager = '',circle='',marker='';  
3 - var Bmap = {  
4 - init : function() {  
5 - // 设置中心点,  
6 - var CENTER_POINT = {lng : 121.528733,lat : 31.237425};  
7 - // 百度API Key  
8 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';  
9 - // 初始化百度地图  
10 - mapB = new BMap.Map("addCarParkbmap_basic");  
11 - //中心点和缩放级别  
12 - mapB.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);  
13 - //启用地图拖拽事件,默认启用(可不写)  
14 - mapB.enableDragging();  
15 - //启用地图滚轮放大缩小  
16 - mapB.enableScrollWheelZoom();  
17 - //禁用鼠标双击放大  
18 - mapB.disableDoubleClickZoom();  
19 - //启用键盘上下左右键移动地图  
20 - mapB.enableKeyboard();  
21 - var styleOptions = {  
22 - //边线颜色。  
23 - strokeColor : "blue",  
24 - //填充颜色。当参数为空时,圆形将没有填充效果。  
25 - fillColor : "blue",  
26 - //边线的宽度,以像素为单位。  
27 - strokeWeight : 3,  
28 - //边线透明度,取值范围0 - 1。  
29 - strokeOpacity : 0.8,  
30 - //填充的透明度,取值范围0 - 1。  
31 - fillOpacity : 0.6,  
32 - //边线的样式,solid或dashed。  
33 - strokeStyle : 'solid'  
34 - };  
35 - // 创建鼠标绘制管理类  
36 - drawingManager = new BMapLib.DrawingManager(mapB, {  
37 - //是否开启绘制模式  
38 - isOpen : false,  
39 - //是否显示工具栏  
40 - enableDrawingTool : false,  
41 - drawingToolOptions : {  
42 - //位置  
43 - anchor : BMAP_ANCHOR_TOP_RIGHT,  
44 - //偏离值  
45 - offset : new BMap.Size(5, 5),  
46 - //工具栏缩放比例  
47 - scale : 0.8  
48 - },  
49 - //线的样式  
50 - polygonOptions : styleOptions  
51 - });  
52 - // 添加绘画完成事件  
53 - drawingManager.addEventListener('polygoncomplete', function(e) {  
54 - drawingManager.close();  
55 - if (e.getPath().length <= 2) {  
56 - // 弹出提示消息  
57 - layer.msg('坐标点不能小于等于两个...');  
58 - // 清除地图覆盖物  
59 - mapB.clearOverlays();  
60 - drawingManager.open();  
61 - return false;  
62 - }else {  
63 - var pointE = e;  
64 - // 多变行质心点  
65 - var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat;  
66 - var addPolyGonLen_ = pointE.getPath().length;  
67 - for(var k =0;k<addPolyGonLen_;k++) {  
68 - if(k==0) {  
69 - bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;  
70 - }else {  
71 - bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;  
72 - }  
73 - }  
74 - bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat;  
75 - PublicFunctions.setFormInputValue(addSttationPoints_,bPloygonGrid,'d','');  
76 - }  
77 - });  
78 - return mapB;  
79 - },  
80 - // 根据地理名称获取百度经纬度坐标  
81 - localSearchFromAdreesToPoint: function(Address,cb) {  
82 - // 创建一个搜索类实例  
83 - var localSearch = new BMap.LocalSearch(mapB);  
84 - // 检索完成后的回调函数。  
85 - localSearch.setSearchCompleteCallback(function (searchResult) {  
86 - var resultPoints = '';  
87 - if(searchResult) {  
88 - // 返回索引指定的结果。索引0表示第1条结果  
89 - var poi = searchResult.getPoi(0);  
90 - if(poi) {  
91 - //获取经度和纬度  
92 - var stationNameChangePoint = new BMap.Point( poi.point.lng, poi.point.lat);  
93 - marker = new BMap.Marker(stationNameChangePoint);  
94 - var PanOptions ={noAnimation :true};  
95 - mapB.panTo(stationNameChangePoint,PanOptions);  
96 - // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)  
97 - mapB.setZoom(18);  
98 - mapB.panBy(0,-80);  
99 - // 将标注添加到地图中  
100 - mapB.addOverlay(marker);  
101 - //跳动的动画  
102 - marker.setAnimation(BMAP_ANIMATION_BOUNCE);  
103 - cb && cb(stationNameChangePoint);  
104 - }else {  
105 - // 弹出添加成功提示消息  
106 - layer.msg('无法获取停车场【'+Address+'】地理位置!');  
107 - cb && cb(false);  
108 - }  
109 - }else {  
110 - // 弹出添加成功提示消息  
111 - layer.msg('无法获取停车场【'+Address+'】地理位置!');  
112 - cb && cb(false);  
113 - }  
114 - });  
115 - // 根据检索词发起检索。  
116 - localSearch.search(Address);  
117 - },  
118 -  
119 - // 画圆  
120 - pointsCircle : function(stationNameChangePoint) {  
121 - //创建圆  
122 - circle = new BMap.Circle(stationNameChangePoint,100,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});  
123 - // 百度地图添加覆盖物圆  
124 - mapB.addOverlay(circle);  
125 - // 开启编辑功能  
126 - circle.enableEditing();  
127 - // 编辑圆监听事件  
128 - circle.addEventListener('remove',function() {  
129 - // 清除marker  
130 - mapB.removeOverlay(marker);  
131 - // 返回圆形的半径,单位为米。  
132 - var newRadius = circle.getRadius();  
133 - // 返回圆形的中心点坐标。  
134 - var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;  
135 - var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];  
136 - circle = '';  
137 - PublicFunctions.setFormInputValue(newCenter,'','r',Math.round(newRadius));  
138 - });  
139 - },  
140 - // 打开绘画工具  
141 - drawingManagerOpen : function() {  
142 - // 打开鼠标绘画工具  
143 - drawingManager.open();  
144 - // 设置属性  
145 - drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);  
146 - },  
147 - drawingManagerClose : function() {  
148 - drawingManager.close();  
149 - },  
150 - clearMarkAndOverlays : function() {  
151 - // 清楚地图覆盖物  
152 - mapB.clearOverlays();  
153 - }  
154 - }  
155 - return Bmap; 1 +var addCarParkVmapWorlds = function() {
  2 + var mapB = '', circle = '', drawingManager = '',circle='',marker='';
  3 + var Bmap = {
  4 + init : function() {
  5 + // 设置中心点,
  6 + var CENTER_POINT = {lng: 103.52514, lat: 30.589808};
  7 + // 百度API Key
  8 + var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';
  9 + // 初始化百度地图
  10 + mapB = new BMap.Map("addCarParkbmap_basic");
  11 + //中心点和缩放级别
  12 + mapB.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);
  13 + //启用地图拖拽事件,默认启用(可不写)
  14 + mapB.enableDragging();
  15 + //启用地图滚轮放大缩小
  16 + mapB.enableScrollWheelZoom();
  17 + //禁用鼠标双击放大
  18 + mapB.disableDoubleClickZoom();
  19 + //启用键盘上下左右键移动地图
  20 + mapB.enableKeyboard();
  21 + var styleOptions = {
  22 + //边线颜色。
  23 + strokeColor : "blue",
  24 + //填充颜色。当参数为空时,圆形将没有填充效果。
  25 + fillColor : "blue",
  26 + //边线的宽度,以像素为单位。
  27 + strokeWeight : 3,
  28 + //边线透明度,取值范围0 - 1。
  29 + strokeOpacity : 0.8,
  30 + //填充的透明度,取值范围0 - 1。
  31 + fillOpacity : 0.6,
  32 + //边线的样式,solid或dashed。
  33 + strokeStyle : 'solid'
  34 + };
  35 + // 创建鼠标绘制管理类
  36 + drawingManager = new BMapLib.DrawingManager(mapB, {
  37 + //是否开启绘制模式
  38 + isOpen : false,
  39 + //是否显示工具栏
  40 + enableDrawingTool : false,
  41 + drawingToolOptions : {
  42 + //位置
  43 + anchor : BMAP_ANCHOR_TOP_RIGHT,
  44 + //偏离值
  45 + offset : new BMap.Size(5, 5),
  46 + //工具栏缩放比例
  47 + scale : 0.8
  48 + },
  49 + //线的样式
  50 + polygonOptions : styleOptions
  51 + });
  52 + // 添加绘画完成事件
  53 + drawingManager.addEventListener('polygoncomplete', function(e) {
  54 + drawingManager.close();
  55 + if (e.getPath().length <= 2) {
  56 + // 弹出提示消息
  57 + layer.msg('坐标点不能小于等于两个...');
  58 + // 清除地图覆盖物
  59 + mapB.clearOverlays();
  60 + drawingManager.open();
  61 + return false;
  62 + }else {
  63 + var pointE = e;
  64 + // 多变行质心点
  65 + var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat;
  66 + var addPolyGonLen_ = pointE.getPath().length;
  67 + for(var k =0;k<addPolyGonLen_;k++) {
  68 + if(k==0) {
  69 + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;
  70 + }else {
  71 + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;
  72 + }
  73 + }
  74 + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat;
  75 + PublicFunctions.setFormInputValue(addSttationPoints_,bPloygonGrid,'d','');
  76 + }
  77 + });
  78 + return mapB;
  79 + },
  80 + // 根据地理名称获取百度经纬度坐标
  81 + localSearchFromAdreesToPoint: function(Address,cb) {
  82 + // 创建一个搜索类实例
  83 + var localSearch = new BMap.LocalSearch(mapB);
  84 + // 检索完成后的回调函数。
  85 + localSearch.setSearchCompleteCallback(function (searchResult) {
  86 + var resultPoints = '';
  87 + if(searchResult) {
  88 + // 返回索引指定的结果。索引0表示第1条结果
  89 + var poi = searchResult.getPoi(0);
  90 + if(poi) {
  91 + //获取经度和纬度
  92 + var stationNameChangePoint = new BMap.Point( poi.point.lng, poi.point.lat);
  93 + marker = new BMap.Marker(stationNameChangePoint);
  94 + var PanOptions ={noAnimation :true};
  95 + mapB.panTo(stationNameChangePoint,PanOptions);
  96 + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
  97 + mapB.setZoom(18);
  98 + mapB.panBy(0,-80);
  99 + // 将标注添加到地图中
  100 + mapB.addOverlay(marker);
  101 + //跳动的动画
  102 + marker.setAnimation(BMAP_ANIMATION_BOUNCE);
  103 + cb && cb(stationNameChangePoint);
  104 + }else {
  105 + // 弹出添加成功提示消息
  106 + layer.msg('无法获取停车场【'+Address+'】地理位置!');
  107 + cb && cb(false);
  108 + }
  109 + }else {
  110 + // 弹出添加成功提示消息
  111 + layer.msg('无法获取停车场【'+Address+'】地理位置!');
  112 + cb && cb(false);
  113 + }
  114 + });
  115 + // 根据检索词发起检索。
  116 + localSearch.search(Address);
  117 + },
  118 +
  119 + // 画圆
  120 + pointsCircle : function(stationNameChangePoint) {
  121 + //创建圆
  122 + circle = new BMap.Circle(stationNameChangePoint,100,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
  123 + // 百度地图添加覆盖物圆
  124 + mapB.addOverlay(circle);
  125 + // 开启编辑功能
  126 + circle.enableEditing();
  127 + // 编辑圆监听事件
  128 + circle.addEventListener('remove',function() {
  129 + // 清除marker
  130 + mapB.removeOverlay(marker);
  131 + // 返回圆形的半径,单位为米。
  132 + var newRadius = circle.getRadius();
  133 + // 返回圆形的中心点坐标。
  134 + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;
  135 + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];
  136 + circle = '';
  137 + PublicFunctions.setFormInputValue(newCenter,'','r',Math.round(newRadius));
  138 + });
  139 + },
  140 + // 打开绘画工具
  141 + drawingManagerOpen : function() {
  142 + // 打开鼠标绘画工具
  143 + drawingManager.open();
  144 + // 设置属性
  145 + drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);
  146 + },
  147 + drawingManagerClose : function() {
  148 + drawingManager.close();
  149 + },
  150 + clearMarkAndOverlays : function() {
  151 + // 清楚地图覆盖物
  152 + mapB.clearOverlays();
  153 + }
  154 + }
  155 + return Bmap;
156 }(); 156 }();
157 \ No newline at end of file 157 \ No newline at end of file
src/main/resources/static/pages/base/carpark/js/carpark-positions-map.js
1 -/**  
2 - * 百度地图  
3 - *  
4 - */  
5 -  
6 -var CarParkPWorldsBMap = function () {  
7 -  
8 - var mapValue='',drawingManager='',marker='',circle='',polygon='';  
9 -  
10 - var Bmap = {  
11 - init : function() {  
12 - // 设置中心点,  
13 - var CENTER_POINT = {lng : 121.528733,lat : 31.237425};  
14 - // 百度API Key  
15 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';  
16 - // 初始化百度地图  
17 - mapValue = new BMap.Map("carParkbmap_basic");  
18 - //中心点和缩放级别  
19 - mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);  
20 - //启用地图拖拽事件,默认启用(可不写)  
21 - mapValue.enableDragging();  
22 - //启用地图滚轮放大缩小  
23 - mapValue.enableScrollWheelZoom();  
24 - //禁用鼠标双击放大  
25 - mapValue.disableDoubleClickZoom();  
26 - //启用键盘上下左右键移动地图  
27 - mapValue.enableKeyboard();  
28 - var styleOptions = {  
29 - //边线颜色。  
30 - strokeColor : "blue",  
31 - //填充颜色。当参数为空时,圆形将没有填充效果。  
32 - fillColor : "blue",  
33 - //边线的宽度,以像素为单位。  
34 - strokeWeight : 3,  
35 - //边线透明度,取值范围0 - 1。  
36 - strokeOpacity : 0.8,  
37 - //填充的透明度,取值范围0 - 1。  
38 - fillOpacity : 0.6,  
39 - //边线的样式,solid或dashed。  
40 - strokeStyle : 'solid'  
41 - };  
42 - // 创建鼠标绘制管理类  
43 - drawingManager = new BMapLib.DrawingManager(mapValue, {  
44 - //是否开启绘制模式  
45 - isOpen : false,  
46 - //是否显示工具栏  
47 - enableDrawingTool : false,  
48 - drawingToolOptions : {  
49 - //位置  
50 - anchor : BMAP_ANCHOR_TOP_RIGHT,  
51 - //偏离值  
52 - offset : new BMap.Size(5, 5),  
53 - //工具栏缩放比例  
54 - scale : 0.8  
55 - },  
56 - //线的样式  
57 - polygonOptions : styleOptions  
58 - });  
59 - // 添加绘画完成事件  
60 - drawingManager.addEventListener('polygoncomplete', function(e) {  
61 - drawingManager.close();  
62 - if (e.getPath().length <= 2) {  
63 - // 弹出提示消息  
64 - layer.msg('坐标点不能小于等于两个...');  
65 - // 清除地图覆盖物  
66 - Bmap.clearMarkAndOverlays();  
67 - // 加载该线路下所有站点位置添加到地图上  
68 - return false;  
69 - }else {  
70 - var pointE = e;  
71 - // 多变行质心点  
72 - var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat;  
73 - var addPolyGonLen_ = pointE.getPath().length;  
74 - for(var k =0;k<addPolyGonLen_;k++) {  
75 - if(k==0) {  
76 - bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;  
77 - }else {  
78 - bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;  
79 - }  
80 -  
81 - }  
82 - bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat;  
83 - /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */  
84 - EditCarParkObj.setCarParkBcenterPoint(addSttationPoints_);  
85 - /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */  
86 - EditCarParkObj.setCarParkShapesType('d');  
87 - /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */  
88 - EditCarParkObj.setCarParkRadius('');  
89 - /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */  
90 - EditCarParkObj.setCarParkBparkPoint(bPloygonGrid);  
91 - $.get('edit.html', function(m){  
92 - $(pjaxContainer).append(m);  
93 - $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]);  
94 - });  
95 - }  
96 - });  
97 - return mapValue;  
98 - },  
99 - openDrawingManager : function() {  
100 - // 清楚地图覆盖物  
101 - // mapValue.clearOverlays();  
102 - // 打开鼠标绘画工具  
103 - drawingManager.open();  
104 - // 设置属性  
105 - drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);  
106 - },  
107 - drawingManagerClose : function() {  
108 - drawingManager.close();  
109 - },  
110 - localSearchFromAdreesToPoint: function(Address) {  
111 - // 创建一个搜索类实例  
112 - var localSearch = new BMap.LocalSearch(mapValue);  
113 - // 检索完成后的回调函数。  
114 - localSearch.setSearchCompleteCallback(function (searchResult) {  
115 - var resultPoints = '';  
116 - if(searchResult) {  
117 - // 返回索引指定的结果。索引0表示第1条结果  
118 - var poi = searchResult.getPoi(0);  
119 - if(poi) {  
120 - //获取经度和纬度  
121 - var Points = poi.point.lng + ' ' + poi.point.lat;  
122 - var BJwpointsArray = Points.split(' ');  
123 - var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]);  
124 - var marker_stargt2 = new BMap.Marker(stationNameChangePoint);  
125 - var PanOptions ={noAnimation :true};  
126 - mapValue.panTo(stationNameChangePoint,PanOptions);  
127 - mapValue.panBy(0,-200);  
128 - // 将标注添加到地图中  
129 - mapValue.addOverlay(marker_stargt2);  
130 - //跳动的动画  
131 - marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE);  
132 - }  
133 - }  
134 - });  
135 - // 根据检索词发起检索。  
136 - localSearch.search(Address);  
137 - },  
138 - /** 画圆 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */  
139 - pointsCircle : function(r,point,htm,opts) {  
140 - //创建圆  
141 - circle = new BMap.Circle(point,r[0].carParkRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});  
142 - // 允许覆盖物在map.clearOverlays方法中被清除  
143 - circle.enableMassClear();  
144 - // 百度地图添加覆盖物圆  
145 - mapValue.addOverlay(circle);  
146 - // 创建信息窗口  
147 - infoWindow = new BMap.InfoWindow(htm, opts);  
148 - // 自定义标注物图片  
149 - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));  
150 - // 创建点  
151 - marker = new BMap.Marker(point,{icon : icon_target});  
152 - // 把标注添物加到地图上  
153 - mapValue.addOverlay(marker);  
154 - setTimeout(function(){  
155 - //开启信息窗口  
156 - marker.openInfoWindow(infoWindow,point);  
157 - },100);  
158 - // 是否在平移过程中禁止动画。(自1.2新增)  
159 - var PanOptions_ ={noAnimation :true};  
160 - // 将地图的中心点更改为给定的点。  
161 - mapValue.panTo(point,PanOptions_);  
162 - // 添加标志物监听事件  
163 - marker.addEventListener("click",function() {  
164 - //开启信息窗口  
165 - marker.openInfoWindow(infoWindow,point);  
166 - });  
167 - },  
168 -  
169 - /** 画多边形 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */  
170 - pointsPolygon : function(r,pointPolygon,htm,opts_polygon) {  
171 - // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)  
172 - mapValue.setZoom(17);  
173 - // 获取多边形坐标字符串  
174 - var stationBPolygonGrid = r[0].carParkBparkPoint;  
175 - // 截取多边形坐标字符串  
176 - var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2);  
177 - // 按逗号切割  
178 - var pointPolygonArray = stationBPolygonGridStr.split(',');  
179 - // 多边形坐标集合  
180 - var polygonP = [];  
181 - for(var v = 0;v<pointPolygonArray.length;v++) {  
182 - polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1]));  
183 - }  
184 - // 画多边形  
185 - polygon = new BMap.Polygon(polygonP, {  
186 - // 线条显色  
187 - strokeColor : "blue",  
188 - // 边线的宽度,以像素为单位。  
189 - strokeWeight : 2,  
190 - // 边线透明度,取值范围0 - 1。  
191 - strokeOpacity : 0.5  
192 - });  
193 - // 增加地图覆盖物多边形  
194 - mapValue.addOverlay(polygon);  
195 - // 创建信息窗口  
196 - infoWindow = new BMap.InfoWindow(htm, opts_polygon);  
197 - // 自定义标注物图片  
198 - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));  
199 - // 创建点  
200 - marker = new BMap.Marker(pointPolygon,{icon : icon_target});  
201 - // 把标注添物加到地图上  
202 - mapValue.addOverlay(marker);  
203 - // 是否在平移过程中禁止动画。(自1.2新增)  
204 - var PanOptions_ ={noAnimation :true};  
205 - // 将地图的中心点更改为给定的点。  
206 - mapValue.panTo(pointPolygon,PanOptions_);  
207 - // 将地图在水平位置上移动x像素,垂直位置上移动y像素。  
208 - mapValue.panBy(10,-250,PanOptions_);  
209 - //开启信息窗口  
210 - marker.openInfoWindow(infoWindow,pointPolygon);  
211 - },  
212 -  
213 - // 编辑图形  
214 - editShapes : function(stationShapesTypeV,mindex) {  
215 - // 关闭信息窗口  
216 - marker.closeInfoWindow();  
217 - // 清除marker  
218 - mapValue.removeOverlay(marker);  
219 - // 编辑圆  
220 - if(stationShapesTypeV =='r') {  
221 - // 开启编辑功能  
222 - circle.enableEditing();  
223 - // 编辑圆监听事件  
224 - circle.addEventListener('dblclick',function() {  
225 - // 关闭提示弹出层  
226 - layer.close(mindex);  
227 - // 返回圆形的半径,单位为米。  
228 - var newRadius = circle.getRadius();  
229 - // 返回圆形的中心点坐标。  
230 - var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;  
231 - var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];  
232 - /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */  
233 - EditCarParkObj.setCarParkBcenterPoint(newCenter);  
234 - /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */  
235 - EditCarParkObj.setCarParkShapesType('r');  
236 - /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */  
237 - EditCarParkObj.setCarParkRadius(Math.round(newRadius));  
238 - /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */  
239 - EditCarParkObj.setCarParkBparkPoint('');  
240 - // 加载编辑页面  
241 - $.get('edit.html', function(m){  
242 - $(pjaxContainer).append(m);  
243 - $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]);  
244 - });  
245 - });  
246 - // 编辑多变行  
247 - }else if(stationShapesTypeV =='d') {  
248 - // 开启编辑功能(自 1.1 新增)  
249 - polygon.enableEditing();  
250 - // 添加多变行编辑事件  
251 - polygon.addEventListener('dblclick',function(e) {  
252 - // 获取编辑的多边形对象  
253 - var edit_pointE = polygon;  
254 - var edit_bPloygonGrid = "";  
255 - var editPolyGonLen_ = edit_pointE.getPath().length;  
256 - for(var k =0;k<editPolyGonLen_;k++) {  
257 - if(k==0) {  
258 - edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;  
259 - }else {  
260 - edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;  
261 - }  
262 - }  
263 - edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat;  
264 - // 多边形中心点  
265 - var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat;  
266 - /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */  
267 - EditCarParkObj.setCarParkBcenterPoint(centre_points);  
268 - /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */  
269 - EditCarParkObj.setCarParkShapesType('d');  
270 - /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */  
271 - EditCarParkObj.setCarParkRadius('');  
272 - /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */  
273 - EditCarParkObj.setCarParkBparkPoint(edit_bPloygonGrid);  
274 - $.get('edit.html', function(m){  
275 - $(pjaxContainer).append(m);  
276 - $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]);  
277 - });  
278 - });  
279 - }  
280 - },  
281 - clearMarkAndOverlays : function() {  
282 - // 清楚地图覆盖物  
283 - mapValue.clearOverlays();  
284 - }  
285 - }  
286 - return Bmap; 1 +/**
  2 + * 百度地图
  3 + *
  4 + */
  5 +
  6 +var CarParkPWorldsBMap = function () {
  7 +
  8 + var mapValue='',drawingManager='',marker='',circle='',polygon='';
  9 +
  10 + var Bmap = {
  11 + init : function() {
  12 + // 设置中心点,
  13 + var CENTER_POINT = {lng: 103.52514, lat: 30.589808};
  14 + // 百度API Key
  15 + var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';
  16 + // 初始化百度地图
  17 + mapValue = new BMap.Map("carParkbmap_basic");
  18 + //中心点和缩放级别
  19 + mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);
  20 + //启用地图拖拽事件,默认启用(可不写)
  21 + mapValue.enableDragging();
  22 + //启用地图滚轮放大缩小
  23 + mapValue.enableScrollWheelZoom();
  24 + //禁用鼠标双击放大
  25 + mapValue.disableDoubleClickZoom();
  26 + //启用键盘上下左右键移动地图
  27 + mapValue.enableKeyboard();
  28 + var styleOptions = {
  29 + //边线颜色。
  30 + strokeColor : "blue",
  31 + //填充颜色。当参数为空时,圆形将没有填充效果。
  32 + fillColor : "blue",
  33 + //边线的宽度,以像素为单位。
  34 + strokeWeight : 3,
  35 + //边线透明度,取值范围0 - 1。
  36 + strokeOpacity : 0.8,
  37 + //填充的透明度,取值范围0 - 1。
  38 + fillOpacity : 0.6,
  39 + //边线的样式,solid或dashed。
  40 + strokeStyle : 'solid'
  41 + };
  42 + // 创建鼠标绘制管理类
  43 + drawingManager = new BMapLib.DrawingManager(mapValue, {
  44 + //是否开启绘制模式
  45 + isOpen : false,
  46 + //是否显示工具栏
  47 + enableDrawingTool : false,
  48 + drawingToolOptions : {
  49 + //位置
  50 + anchor : BMAP_ANCHOR_TOP_RIGHT,
  51 + //偏离值
  52 + offset : new BMap.Size(5, 5),
  53 + //工具栏缩放比例
  54 + scale : 0.8
  55 + },
  56 + //线的样式
  57 + polygonOptions : styleOptions
  58 + });
  59 + // 添加绘画完成事件
  60 + drawingManager.addEventListener('polygoncomplete', function(e) {
  61 + drawingManager.close();
  62 + if (e.getPath().length <= 2) {
  63 + // 弹出提示消息
  64 + layer.msg('坐标点不能小于等于两个...');
  65 + // 清除地图覆盖物
  66 + Bmap.clearMarkAndOverlays();
  67 + // 加载该线路下所有站点位置添加到地图上
  68 + return false;
  69 + }else {
  70 + var pointE = e;
  71 + // 多变行质心点
  72 + var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat;
  73 + var addPolyGonLen_ = pointE.getPath().length;
  74 + for(var k =0;k<addPolyGonLen_;k++) {
  75 + if(k==0) {
  76 + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;
  77 + }else {
  78 + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;
  79 + }
  80 +
  81 + }
  82 + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat;
  83 + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */
  84 + EditCarParkObj.setCarParkBcenterPoint(addSttationPoints_);
  85 + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */
  86 + EditCarParkObj.setCarParkShapesType('d');
  87 + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */
  88 + EditCarParkObj.setCarParkRadius('');
  89 + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */
  90 + EditCarParkObj.setCarParkBparkPoint(bPloygonGrid);
  91 + $.get('edit.html', function(m){
  92 + $(pjaxContainer).append(m);
  93 + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]);
  94 + });
  95 + }
  96 + });
  97 + return mapValue;
  98 + },
  99 + openDrawingManager : function() {
  100 + // 清楚地图覆盖物
  101 + // mapValue.clearOverlays();
  102 + // 打开鼠标绘画工具
  103 + drawingManager.open();
  104 + // 设置属性
  105 + drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);
  106 + },
  107 + drawingManagerClose : function() {
  108 + drawingManager.close();
  109 + },
  110 + localSearchFromAdreesToPoint: function(Address) {
  111 + // 创建一个搜索类实例
  112 + var localSearch = new BMap.LocalSearch(mapValue);
  113 + // 检索完成后的回调函数。
  114 + localSearch.setSearchCompleteCallback(function (searchResult) {
  115 + var resultPoints = '';
  116 + if(searchResult) {
  117 + // 返回索引指定的结果。索引0表示第1条结果
  118 + var poi = searchResult.getPoi(0);
  119 + if(poi) {
  120 + //获取经度和纬度
  121 + var Points = poi.point.lng + ' ' + poi.point.lat;
  122 + var BJwpointsArray = Points.split(' ');
  123 + var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]);
  124 + var marker_stargt2 = new BMap.Marker(stationNameChangePoint);
  125 + var PanOptions ={noAnimation :true};
  126 + mapValue.panTo(stationNameChangePoint,PanOptions);
  127 + mapValue.panBy(0,-200);
  128 + // 将标注添加到地图中
  129 + mapValue.addOverlay(marker_stargt2);
  130 + //跳动的动画
  131 + marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE);
  132 + }
  133 + }
  134 + });
  135 + // 根据检索词发起检索。
  136 + localSearch.search(Address);
  137 + },
  138 + /** 画圆 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */
  139 + pointsCircle : function(r,point,htm,opts) {
  140 + //创建圆
  141 + circle = new BMap.Circle(point,r[0].carParkRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
  142 + // 允许覆盖物在map.clearOverlays方法中被清除
  143 + circle.enableMassClear();
  144 + // 百度地图添加覆盖物圆
  145 + mapValue.addOverlay(circle);
  146 + // 创建信息窗口
  147 + infoWindow = new BMap.InfoWindow(htm, opts);
  148 + // 自定义标注物图片
  149 + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));
  150 + // 创建点
  151 + marker = new BMap.Marker(point,{icon : icon_target});
  152 + // 把标注添物加到地图上
  153 + mapValue.addOverlay(marker);
  154 + setTimeout(function(){
  155 + //开启信息窗口
  156 + marker.openInfoWindow(infoWindow,point);
  157 + },100);
  158 + // 是否在平移过程中禁止动画。(自1.2新增)
  159 + var PanOptions_ ={noAnimation :true};
  160 + // 将地图的中心点更改为给定的点。
  161 + mapValue.panTo(point,PanOptions_);
  162 + // 添加标志物监听事件
  163 + marker.addEventListener("click",function() {
  164 + //开启信息窗口
  165 + marker.openInfoWindow(infoWindow,point);
  166 + });
  167 + },
  168 +
  169 + /** 画多边形 @param:<r:停车场信息;point:中心点;htm:信息窗口html文本;pots:信息窗口参数属性> */
  170 + pointsPolygon : function(r,pointPolygon,htm,opts_polygon) {
  171 + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
  172 + mapValue.setZoom(17);
  173 + // 获取多边形坐标字符串
  174 + var stationBPolygonGrid = r[0].carParkBparkPoint;
  175 + // 截取多边形坐标字符串
  176 + var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2);
  177 + // 按逗号切割
  178 + var pointPolygonArray = stationBPolygonGridStr.split(',');
  179 + // 多边形坐标集合
  180 + var polygonP = [];
  181 + for(var v = 0;v<pointPolygonArray.length;v++) {
  182 + polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1]));
  183 + }
  184 + // 画多边形
  185 + polygon = new BMap.Polygon(polygonP, {
  186 + // 线条显色
  187 + strokeColor : "blue",
  188 + // 边线的宽度,以像素为单位。
  189 + strokeWeight : 2,
  190 + // 边线透明度,取值范围0 - 1。
  191 + strokeOpacity : 0.5
  192 + });
  193 + // 增加地图覆盖物多边形
  194 + mapValue.addOverlay(polygon);
  195 + // 创建信息窗口
  196 + infoWindow = new BMap.InfoWindow(htm, opts_polygon);
  197 + // 自定义标注物图片
  198 + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));
  199 + // 创建点
  200 + marker = new BMap.Marker(pointPolygon,{icon : icon_target});
  201 + // 把标注添物加到地图上
  202 + mapValue.addOverlay(marker);
  203 + // 是否在平移过程中禁止动画。(自1.2新增)
  204 + var PanOptions_ ={noAnimation :true};
  205 + // 将地图的中心点更改为给定的点。
  206 + mapValue.panTo(pointPolygon,PanOptions_);
  207 + // 将地图在水平位置上移动x像素,垂直位置上移动y像素。
  208 + mapValue.panBy(10,-250,PanOptions_);
  209 + //开启信息窗口
  210 + marker.openInfoWindow(infoWindow,pointPolygon);
  211 + },
  212 +
  213 + // 编辑图形
  214 + editShapes : function(stationShapesTypeV,mindex) {
  215 + // 关闭信息窗口
  216 + marker.closeInfoWindow();
  217 + // 清除marker
  218 + mapValue.removeOverlay(marker);
  219 + // 编辑圆
  220 + if(stationShapesTypeV =='r') {
  221 + // 开启编辑功能
  222 + circle.enableEditing();
  223 + // 编辑圆监听事件
  224 + circle.addEventListener('dblclick',function() {
  225 + // 关闭提示弹出层
  226 + layer.close(mindex);
  227 + // 返回圆形的半径,单位为米。
  228 + var newRadius = circle.getRadius();
  229 + // 返回圆形的中心点坐标。
  230 + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;
  231 + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];
  232 + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */
  233 + EditCarParkObj.setCarParkBcenterPoint(newCenter);
  234 + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */
  235 + EditCarParkObj.setCarParkShapesType('r');
  236 + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */
  237 + EditCarParkObj.setCarParkRadius(Math.round(newRadius));
  238 + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */
  239 + EditCarParkObj.setCarParkBparkPoint('');
  240 + // 加载编辑页面
  241 + $.get('edit.html', function(m){
  242 + $(pjaxContainer).append(m);
  243 + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]);
  244 + });
  245 + });
  246 + // 编辑多变行
  247 + }else if(stationShapesTypeV =='d') {
  248 + // 开启编辑功能(自 1.1 新增)
  249 + polygon.enableEditing();
  250 + // 添加多变行编辑事件
  251 + polygon.addEventListener('dblclick',function(e) {
  252 + // 获取编辑的多边形对象
  253 + var edit_pointE = polygon;
  254 + var edit_bPloygonGrid = "";
  255 + var editPolyGonLen_ = edit_pointE.getPath().length;
  256 + for(var k =0;k<editPolyGonLen_;k++) {
  257 + if(k==0) {
  258 + edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
  259 + }else {
  260 + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
  261 + }
  262 + }
  263 + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat;
  264 + // 多边形中心点
  265 + var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat;
  266 + /** 设置修改停车场集合对象图形质心点属性 @param:<addSttationPoints_:多边形质心点> */
  267 + EditCarParkObj.setCarParkBcenterPoint(centre_points);
  268 + /** 设置修改停车场集合对象图形类型属性 @param:<shapeType:图形类型> */
  269 + EditCarParkObj.setCarParkShapesType('d');
  270 + /** 设置修改停车场集合对象圆形半径属性 @param:<radius:圆形半径> */
  271 + EditCarParkObj.setCarParkRadius('');
  272 + /** 设置修改停车场集合对象名称 @param:<bParkPoint:多边形图形坐标集合> */
  273 + EditCarParkObj.setCarParkBparkPoint(edit_bPloygonGrid);
  274 + $.get('edit.html', function(m){
  275 + $(pjaxContainer).append(m);
  276 + $('#editPoitsions_carpark_mobal').trigger('editCarParkMobal_show', [CarParkPWorldsBMap,PublicFunctions,EditCarParkObj,GetAjaxData]);
  277 + });
  278 + });
  279 + }
  280 + },
  281 + clearMarkAndOverlays : function() {
  282 + // 清楚地图覆盖物
  283 + mapValue.clearOverlays();
  284 + }
  285 + }
  286 + return Bmap;
287 }(); 287 }();
288 \ No newline at end of file 288 \ No newline at end of file
src/main/resources/static/pages/base/section/js/add-vmap-world.js
@@ -2,7 +2,7 @@ var SectionVmapWorlds = function() { @@ -2,7 +2,7 @@ var SectionVmapWorlds = function() {
2 var mapB = '', drawingManager = ''; 2 var mapB = '', drawingManager = '';
3 var Bmap = { 3 var Bmap = {
4 init : function() { 4 init : function() {
5 - var CENTER_POINT = {lng : 121.528733,lat : 31.237425};// 设置中心点. 5 + var CENTER_POINT = {lng: 103.52514, lat: 30.589808};// 设置中心点.
6 var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';// 百度API Key 6 var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';// 百度API Key
7 mapB = new BMap.Map("sectionBmap_basic");// 初始化百度地图 7 mapB = new BMap.Map("sectionBmap_basic");// 初始化百度地图
8 mapB.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);//中心点和缩放级别 8 mapB.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);//中心点和缩放级别
src/main/resources/static/pages/base/station/add.html
@@ -122,6 +122,17 @@ @@ -122,6 +122,17 @@
122 </div> 122 </div>
123 </div> 123 </div>
124 </div> 124 </div>
  125 + <!-- 站点名称 -->
  126 + <div class="form-body">
  127 + <div class="form-group">
  128 + <label class="control-label col-md-3">
  129 + 经纬度(WGS84):
  130 + </label>
  131 + <div class="col-md-7">
  132 + <input type="text" class="form-control" id="centerPointWgsWkt" name="centerPointWgsWkt" placeholder="经纬度以空格分隔" />
  133 + </div>
  134 + </div>
  135 + </div>
125 <!-- 行业编码 --> 136 <!-- 行业编码 -->
126 <div class="form-body"> 137 <div class="form-body">
127 <div class="form-group"> 138 <div class="form-group">
@@ -207,8 +218,14 @@ @@ -207,8 +218,14 @@
207 <div class="col-md-4"> 218 <div class="col-md-4">
208 <p class="form-control-static" data-display="centerPointWkt"> </p> 219 <p class="form-control-static" data-display="centerPointWkt"> </p>
209 </div> 220 </div>
210 - </div>  
211 - <h4 class="form-section"> 站点信息 </h4> 221 + </div>
  222 + <div class="form-group">
  223 + <label class="control-label col-md-3"> 经纬度(WGS84): </label>
  224 + <div class="col-md-4">
  225 + <p class="form-control-static" data-display="centerPointWgsWkt"> </p>
  226 + </div>
  227 + </div>
  228 + <h4 class="form-section"> 站点信息 </h4>
212 <div class="form-group"> 229 <div class="form-group">
213 <label class="control-label col-md-3">站点名称 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label> 230 <label class="control-label col-md-3">站点名称 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:</label>
214 <div class="col-md-4"> 231 <div class="col-md-4">
src/main/resources/static/pages/base/station/edit.html
@@ -28,6 +28,17 @@ @@ -28,6 +28,17 @@
28 </div> 28 </div>
29 </div> 29 </div>
30 </div> 30 </div>
  31 + <!-- 经纬度 -->
  32 + <div class="form-body">
  33 + <div class="form-group">
  34 + <label class="control-label col-md-3">
  35 + 经纬度(WGS84):
  36 + </label>
  37 + <div class="col-md-7">
  38 + <input type="text" class="form-control" name="centerPointWgsWkt" placeholder="经纬度以空格分隔"/>
  39 + </div>
  40 + </div>
  41 + </div>
31 <!-- 站点编码 --> 42 <!-- 站点编码 -->
32 <div class="form-body"> 43 <div class="form-body">
33 <div class="form-group"> 44 <div class="form-group">
@@ -179,6 +190,11 @@ $(&#39;#edit_station_modal&#39;).on(&#39;modal.show&#39;, function(e, map,fun,stat){ @@ -179,6 +190,11 @@ $(&#39;#edit_station_modal&#39;).on(&#39;modal.show&#39;, function(e, map,fun,stat){
179 submitHandler : function(f) { 190 submitHandler : function(f) {
180 error.hide(); 191 error.hide();
181 var params = form.serializeJSON(); 192 var params = form.serializeJSON();
  193 + var centerPointWgsWkt = params.centerPointWgsWkt;
  194 + if (centerPointWgsWkt && centerPointWgsWkt.indexOf('POINT') < 0) {
  195 + alert('');
  196 + params.centerPointWgsWkt = 'POINT(' + centerPointWgsWkt + ')';
  197 + }
182 fun.stationUpdate(params,function(result) { 198 fun.stationUpdate(params,function(result) {
183 if (result.status == 'SUCCESS') { 199 if (result.status == 'SUCCESS') {
184 // 弹出添加成功提示消息 200 // 弹出添加成功提示消息
src/main/resources/static/pages/base/station/js/add-form-wizard.js
@@ -82,6 +82,7 @@ var FormWizard = function() { @@ -82,6 +82,7 @@ var FormWizard = function() {
82 // 表单序列化 82 // 表单序列化
83 var params = form.serializeJSON(); 83 var params = form.serializeJSON();
84 params.centerPointWkt = 'POINT(' + params.centerPointWkt + ')'; 84 params.centerPointWkt = 'POINT(' + params.centerPointWkt + ')';
  85 + params.centerPointWgsWkt = 'POINT(' + params.centerPointWgsWkt + ')';
85 //保存站点 86 //保存站点
86 PublicFunctions.stationSave(params,function(data) { 87 PublicFunctions.stationSave(params,function(data) {
87 if(data.status=='SUCCESS') { 88 if(data.status=='SUCCESS') {
src/main/resources/static/pages/base/station/js/station-positions-map.js
@@ -10,7 +10,7 @@ var StationPositionsWorldsBMap = function () { @@ -10,7 +10,7 @@ var StationPositionsWorldsBMap = function () {
10 // 关闭左侧栏 10 // 关闭左侧栏
11 if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();} 11 if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}
12 // 设置中心点, 12 // 设置中心点,
13 - var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; 13 + var CENTER_POINT = {lng: 103.52514, lat: 30.589808};
14 // 初始化百度地图 14 // 初始化百度地图
15 mapBValue = new BMap.Map("positionBmap_basic"); 15 mapBValue = new BMap.Map("positionBmap_basic");
16 //中心点和缩放级别 16 //中心点和缩放级别
@@ -50,7 +50,7 @@ var StationPositionsWorldsBMap = function () { @@ -50,7 +50,7 @@ var StationPositionsWorldsBMap = function () {
50 }, 50 },
51 position : function(station, html, opts) { 51 position : function(station, html, opts) {
52 // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增) 52 // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
53 - mapBValue.setZoom(17); 53 + mapBValue.centerAndZoom(station.point, 17);
54 // 创建信息窗口 54 // 创建信息窗口
55 infoWindow = new BMap.InfoWindow(html, opts); 55 infoWindow = new BMap.InfoWindow(html, opts);
56 // 创建点 56 // 创建点