Commit 4beb22c7677bb65a41717c7d09a6ee1ac979d3e6

Authored by yiming
2 parents 26a7b094 d104531e

Merge remote-tracking branch 'origin/qingpu_20180808' into qingpu_20180808

Showing 27 changed files with 2790 additions and 2730 deletions
src/main/java/com/bsth/data/schedule/late_adjust/LateAdjustHandle.java
@@ -53,8 +53,7 @@ public class LateAdjustHandle implements ApplicationContextAware { @@ -53,8 +53,7 @@ public class LateAdjustHandle implements ApplicationContextAware {
53 sch.setLateMinute(sch.getXlDir().equals("0") ? config.getUpStopMinute() : config.getDownStopMinute()); 53 sch.setLateMinute(sch.getXlDir().equals("0") ? config.getUpStopMinute() : config.getDownStopMinute());
54 } 54 }
55 55
56 - if (sch.getDfsj().compareTo(config.getYjtkStart()) > 0  
57 - && sch.getDfsj().compareTo(config.getYjtkEnd()) <= 0) { 56 + if (sch.getDfsj().compareTo(config.getYjtkStart()) > 0 && sch.getDfsj().compareTo(config.getYjtkEnd()) <= 0 && !config.getExcludeTrip().contains(sch.getBcType())) {
58 57
59 //班次压入 58 //班次压入
60 if (!lateSchMap.containsKey(sch.getId())) { 59 if (!lateSchMap.containsKey(sch.getId())) {
src/main/java/com/bsth/entity/realcontrol/LineConfig.java
@@ -79,6 +79,12 @@ public class LineConfig { @@ -79,6 +79,12 @@ public class LineConfig {
79 * 应急停靠 79 * 应急停靠
80 */ 80 */
81 private boolean enableYjtk; 81 private boolean enableYjtk;
  82 +
  83 + /**
  84 + * 排除班次类型
  85 + */
  86 + private String excludeTrip;
  87 +
82 /** HH:mm */ 88 /** HH:mm */
83 private String yjtkStart; 89 private String yjtkStart;
84 /** HH:mm */ 90 /** HH:mm */
@@ -220,6 +226,13 @@ public class LineConfig { @@ -220,6 +226,13 @@ public class LineConfig {
220 this.enableYjtk = enableYjtk; 226 this.enableYjtk = enableYjtk;
221 } 227 }
222 228
  229 + public String getExcludeTrip() {
  230 + return excludeTrip;
  231 + }
  232 +
  233 + public void setExcludeTrip(String excludeTrip) {
  234 + this.excludeTrip = excludeTrip;
  235 + }
223 236
224 public boolean isLockFirstOutTime() { 237 public boolean isLockFirstOutTime() {
225 return lockFirstOutTime; 238 return lockFirstOutTime;
src/main/java/com/bsth/service/realcontrol/impl/LineConfigServiceImpl.java
1 -package com.bsth.service.realcontrol.impl;  
2 -  
3 -import com.bsth.common.ResponseCode;  
4 -import com.bsth.data.LineConfigData;  
5 -import com.bsth.entity.realcontrol.LineConfig;  
6 -import com.bsth.repository.realcontrol.LineConfigRepository;  
7 -import com.bsth.service.impl.BaseServiceImpl;  
8 -import com.bsth.service.realcontrol.LineConfigService;  
9 -import com.google.common.base.Splitter;  
10 -import org.slf4j.Logger;  
11 -import org.slf4j.LoggerFactory;  
12 -import org.springframework.beans.factory.annotation.Autowired;  
13 -import org.springframework.stereotype.Service;  
14 -  
15 -import java.lang.reflect.Field;  
16 -import java.util.ArrayList;  
17 -import java.util.HashMap;  
18 -import java.util.List;  
19 -import java.util.Map;  
20 -  
21 -@Service  
22 -public class LineConfigServiceImpl extends BaseServiceImpl<LineConfig, Integer> implements LineConfigService {  
23 -  
24 - @Autowired  
25 - LineConfigRepository lineConfigRepository;  
26 -  
27 - @Autowired  
28 - LineConfigData lineConfigData;  
29 -  
30 - Logger logger = LoggerFactory.getLogger(this.getClass());  
31 -  
32 - @Override  
33 - public Map<String, Object> check(String[] codeArray) {  
34 - Map<String, Object> rs = new HashMap<>();  
35 - List<String> notArr = new ArrayList<>();  
36 -  
37 - for (String lineCode : codeArray) {  
38 - if (null == lineConfigData.get(lineCode + ""))  
39 - notArr.add(lineCode);  
40 - }  
41 -  
42 - if (notArr.size() > 0) {  
43 - rs.put("status", 1);  
44 - rs.put("not", notArr);  
45 - } else  
46 - rs.put("status", 0);  
47 - return rs;  
48 - }  
49 -  
50 - @Override  
51 - public Integer init(String lineCode) throws Exception {  
52 - LineConfig conf = lineConfigData.get(lineCode);  
53 -  
54 - if (conf == null)  
55 - lineConfigData.init(lineCode);  
56 -  
57 - return 1;  
58 - }  
59 -  
60 - @Override  
61 - public Map<String, Object> editStartOptTime(String time, String lineCode) {  
62 - Map<String, Object> rs = new HashMap<>();  
63 - try {  
64 - LineConfig conf = lineConfigData.get(lineCode);  
65 - conf.setStartOpt(time);  
66 - lineConfigData.set(conf);  
67 -  
68 - rs.put("status", ResponseCode.SUCCESS);  
69 - rs.put("time", time);  
70 - } catch (Exception e) {  
71 - rs.put("status", ResponseCode.ERROR);  
72 - rs.put("msg", e.getMessage());  
73 - logger.error("", e);  
74 - }  
75 - return rs;  
76 - }  
77 -  
78 - @Override  
79 - public Map<String, Object> editOutTimeType(String lineCode, int type, String parkCode, String stationCode) {  
80 - Map<String, Object> rs = new HashMap<>();  
81 - try {  
82 - LineConfig conf = lineConfigData.get(lineCode);  
83 -  
84 - conf.setOutConfig(type);  
85 - if(type == 2){  
86 - conf.setTwinsParks(parkCode);  
87 - conf.setTwinsStations(stationCode);  
88 - }  
89 - lineConfigData.set(conf);  
90 -  
91 - rs.put("status", ResponseCode.SUCCESS);  
92 - rs.put("conf", conf);  
93 - } catch (Exception e) {  
94 - rs.put("status", ResponseCode.ERROR);  
95 - rs.put("msg", e.getMessage());  
96 - logger.error("", e);  
97 - }  
98 - return rs;  
99 - }  
100 -  
101 - @Override  
102 - public LineConfig getByLineCode(String lineCode) {  
103 - return lineConfigData.get(lineCode);  
104 - }  
105 -  
106 - @Override  
107 - public Map<String, Object> enableInParkForSource(String lineCode, int enable) {  
108 - Map<String, Object> rs = new HashMap<>();  
109 - try {  
110 - LineConfig conf = lineConfigData.get(lineCode);  
111 -  
112 - conf.setInParkForSource(enable == 1);  
113 - lineConfigData.set(conf);  
114 -  
115 - rs.put("status", ResponseCode.SUCCESS);  
116 - rs.put("enable", enable);  
117 - } catch (Exception e) {  
118 - rs.put("status", ResponseCode.ERROR);  
119 - rs.put("msg", e.getMessage());  
120 - logger.error("", e);  
121 - }  
122 - return rs;  
123 - }  
124 -  
125 - @Override  
126 - public Map<String, Object> bufferTimeDiff(String lineCode, String field, String value) {  
127 -  
128 - Map<String, Object> rs = new HashMap<>();  
129 - try {  
130 - LineConfig conf = lineConfigData.get(lineCode);  
131 - Field f = conf.getClass().getDeclaredField(field);  
132 - f.setAccessible(true);  
133 - f.setInt(conf, Integer.parseInt(value));  
134 -  
135 - lineConfigData.set(conf);  
136 -  
137 - rs.put("status", ResponseCode.SUCCESS);  
138 - rs.put("field", field);  
139 - rs.put("value", value);  
140 - } catch (Exception e) {  
141 - rs.put("status", ResponseCode.ERROR);  
142 - rs.put("msg", e.getMessage());  
143 - logger.error("", e);  
144 - }  
145 - return rs;  
146 - }  
147 -  
148 - @Override  
149 - public Map<String, Object> yjtkSet(Map<String, String> map) {  
150 - String lineCode = map.get("lineCode").toString();  
151 - int enableYjtk = Integer.parseInt(map.get("enableYjtk").toString());  
152 -  
153 - Map<String, Object> rs = new HashMap<>();  
154 - try {  
155 - LineConfig conf = lineConfigData.get(lineCode);  
156 -  
157 - if(enableYjtk == 1){  
158 - String yjtkStart = map.containsKey("yjtkStart") ? map.get("yjtkStart").toString() : "00:00";  
159 - String yjtkEnd = map.containsKey("yjtkEnd") ? map.get("yjtkEnd").toString() : "23:59";  
160 - int upStopMinute = Integer.parseInt(map.get("upStopMinute").toString());  
161 - int downStopMinute = Integer.parseInt(map.get("downStopMinute").toString());  
162 -  
163 - conf.setEnableYjtk(true);  
164 - conf.setYjtkStart(yjtkStart);  
165 - conf.setYjtkEnd(yjtkEnd);  
166 - conf.setUpStopMinute(upStopMinute);  
167 - conf.setDownStopMinute(downStopMinute);  
168 - }  
169 - else  
170 - conf.setEnableYjtk(false);  
171 -  
172 - lineConfigData.set(conf);  
173 -  
174 - rs.put("status", ResponseCode.SUCCESS);  
175 - rs.put("conf", conf);  
176 - } catch (Exception e) {  
177 - rs.put("status", ResponseCode.ERROR);  
178 - rs.put("msg", e.getMessage());  
179 - logger.error("", e);  
180 - }  
181 - return rs;  
182 - }  
183 -  
184 - @Override  
185 - public Map<String, Object> parkAndStationSet(Map<String, String> map) {  
186 - String lineCode = map.get("lineCode").toString();  
187 - String twinsPark = map.get("twinsPark").toString();  
188 - String twinsStation = map.get("twinsStation").toString();  
189 -  
190 - Map<String, Object> rs = new HashMap<>();  
191 - try {  
192 - LineConfig conf = lineConfigData.get(lineCode);  
193 - conf.setTwinsParks(twinsPark);  
194 - conf.setTwinsStations(twinsStation);  
195 -  
196 - lineConfigData.set(conf);  
197 -  
198 - rs.put("status", ResponseCode.SUCCESS);  
199 - rs.put("conf", conf);  
200 - } catch (Exception e) {  
201 - rs.put("status", ResponseCode.ERROR);  
202 - rs.put("msg", e.getMessage());  
203 - logger.error("", e);  
204 - }  
205 - return rs;  
206 - }  
207 -  
208 - @Override  
209 - public Map<String, Object> findByIdx(String idx) {  
210 - Map<String, Object> rs = new HashMap();  
211 - try{  
212 - List<LineConfig> list = new ArrayList<>();  
213 - List<String> ids = Splitter.on(",").splitToList(idx);  
214 -  
215 - for(String id : ids){  
216 - list.add(lineConfigData.get(id));  
217 - }  
218 -  
219 - rs.put("status", ResponseCode.SUCCESS);  
220 - rs.put("list", list);  
221 - }catch (Exception e){  
222 - rs.put("status", ResponseCode.ERROR);  
223 - logger.error("", e);  
224 - }  
225 - return rs;  
226 - }  
227 -  
228 - @Override  
229 - public Map<String, Object> setAutoExec(Map<String, String> map) {  
230 - String lineCode = map.get("lineCode").toString();  
231 - boolean autoExec = Boolean.parseBoolean(map.get("autoExec").toString());  
232 -  
233 - Map<String, Object> rs = new HashMap<>();  
234 - try {  
235 - LineConfig conf = lineConfigData.get(lineCode);  
236 - conf.setAutoExec(autoExec);  
237 -  
238 - lineConfigData.set(conf);  
239 - rs.put("status", ResponseCode.SUCCESS);  
240 - rs.put("conf", conf);  
241 - } catch (Exception e) {  
242 - rs.put("status", ResponseCode.ERROR);  
243 - rs.put("msg", e.getMessage());  
244 - logger.error("", e);  
245 - }  
246 - return rs;  
247 - }  
248 -  
249 - @Override  
250 - public Map<String, Object> setReadReverse(int status, String lineCode) {  
251 - Map<String, Object> rs = new HashMap<>();  
252 - try {  
253 - LineConfig conf = lineConfigData.get(lineCode);  
254 - conf.setReadReverse(status==1?true:false);  
255 -  
256 - lineConfigData.set(conf);  
257 - rs.put("status", ResponseCode.SUCCESS);  
258 - rs.put("conf", conf);  
259 - } catch (Exception e) {  
260 - rs.put("status", ResponseCode.ERROR);  
261 - rs.put("msg", e.getMessage());  
262 - logger.error("", e);  
263 - }  
264 - return rs;  
265 - }  
266 -} 1 +package com.bsth.service.realcontrol.impl;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.data.LineConfigData;
  5 +import com.bsth.entity.realcontrol.LineConfig;
  6 +import com.bsth.repository.realcontrol.LineConfigRepository;
  7 +import com.bsth.service.impl.BaseServiceImpl;
  8 +import com.bsth.service.realcontrol.LineConfigService;
  9 +import com.google.common.base.Splitter;
  10 +import org.slf4j.Logger;
  11 +import org.slf4j.LoggerFactory;
  12 +import org.springframework.beans.factory.annotation.Autowired;
  13 +import org.springframework.stereotype.Service;
  14 +
  15 +import java.lang.reflect.Field;
  16 +import java.util.ArrayList;
  17 +import java.util.HashMap;
  18 +import java.util.List;
  19 +import java.util.Map;
  20 +
  21 +@Service
  22 +public class LineConfigServiceImpl extends BaseServiceImpl<LineConfig, Integer> implements LineConfigService {
  23 +
  24 + @Autowired
  25 + LineConfigRepository lineConfigRepository;
  26 +
  27 + @Autowired
  28 + LineConfigData lineConfigData;
  29 +
  30 + Logger logger = LoggerFactory.getLogger(this.getClass());
  31 +
  32 + @Override
  33 + public Map<String, Object> check(String[] codeArray) {
  34 + Map<String, Object> rs = new HashMap<>();
  35 + List<String> notArr = new ArrayList<>();
  36 +
  37 + for (String lineCode : codeArray) {
  38 + if (null == lineConfigData.get(lineCode + ""))
  39 + notArr.add(lineCode);
  40 + }
  41 +
  42 + if (notArr.size() > 0) {
  43 + rs.put("status", 1);
  44 + rs.put("not", notArr);
  45 + } else
  46 + rs.put("status", 0);
  47 + return rs;
  48 + }
  49 +
  50 + @Override
  51 + public Integer init(String lineCode) throws Exception {
  52 + LineConfig conf = lineConfigData.get(lineCode);
  53 +
  54 + if (conf == null)
  55 + lineConfigData.init(lineCode);
  56 +
  57 + return 1;
  58 + }
  59 +
  60 + @Override
  61 + public Map<String, Object> editStartOptTime(String time, String lineCode) {
  62 + Map<String, Object> rs = new HashMap<>();
  63 + try {
  64 + LineConfig conf = lineConfigData.get(lineCode);
  65 + conf.setStartOpt(time);
  66 + lineConfigData.set(conf);
  67 +
  68 + rs.put("status", ResponseCode.SUCCESS);
  69 + rs.put("time", time);
  70 + } catch (Exception e) {
  71 + rs.put("status", ResponseCode.ERROR);
  72 + rs.put("msg", e.getMessage());
  73 + logger.error("", e);
  74 + }
  75 + return rs;
  76 + }
  77 +
  78 + @Override
  79 + public Map<String, Object> editOutTimeType(String lineCode, int type, String parkCode, String stationCode) {
  80 + Map<String, Object> rs = new HashMap<>();
  81 + try {
  82 + LineConfig conf = lineConfigData.get(lineCode);
  83 +
  84 + conf.setOutConfig(type);
  85 + if(type == 2){
  86 + conf.setTwinsParks(parkCode);
  87 + conf.setTwinsStations(stationCode);
  88 + }
  89 + lineConfigData.set(conf);
  90 +
  91 + rs.put("status", ResponseCode.SUCCESS);
  92 + rs.put("conf", conf);
  93 + } catch (Exception e) {
  94 + rs.put("status", ResponseCode.ERROR);
  95 + rs.put("msg", e.getMessage());
  96 + logger.error("", e);
  97 + }
  98 + return rs;
  99 + }
  100 +
  101 + @Override
  102 + public LineConfig getByLineCode(String lineCode) {
  103 + return lineConfigData.get(lineCode);
  104 + }
  105 +
  106 + @Override
  107 + public Map<String, Object> enableInParkForSource(String lineCode, int enable) {
  108 + Map<String, Object> rs = new HashMap<>();
  109 + try {
  110 + LineConfig conf = lineConfigData.get(lineCode);
  111 +
  112 + conf.setInParkForSource(enable == 1);
  113 + lineConfigData.set(conf);
  114 +
  115 + rs.put("status", ResponseCode.SUCCESS);
  116 + rs.put("enable", enable);
  117 + } catch (Exception e) {
  118 + rs.put("status", ResponseCode.ERROR);
  119 + rs.put("msg", e.getMessage());
  120 + logger.error("", e);
  121 + }
  122 + return rs;
  123 + }
  124 +
  125 + @Override
  126 + public Map<String, Object> bufferTimeDiff(String lineCode, String field, String value) {
  127 +
  128 + Map<String, Object> rs = new HashMap<>();
  129 + try {
  130 + LineConfig conf = lineConfigData.get(lineCode);
  131 + Field f = conf.getClass().getDeclaredField(field);
  132 + f.setAccessible(true);
  133 + f.setInt(conf, Integer.parseInt(value));
  134 +
  135 + lineConfigData.set(conf);
  136 +
  137 + rs.put("status", ResponseCode.SUCCESS);
  138 + rs.put("field", field);
  139 + rs.put("value", value);
  140 + } catch (Exception e) {
  141 + rs.put("status", ResponseCode.ERROR);
  142 + rs.put("msg", e.getMessage());
  143 + logger.error("", e);
  144 + }
  145 + return rs;
  146 + }
  147 +
  148 + @Override
  149 + public Map<String, Object> yjtkSet(Map<String, String> map) {
  150 + String lineCode = map.get("lineCode").toString();
  151 + int enableYjtk = Integer.parseInt(map.get("enableYjtk").toString());
  152 +
  153 + Map<String, Object> rs = new HashMap<>();
  154 + try {
  155 + LineConfig conf = lineConfigData.get(lineCode);
  156 +
  157 + if(enableYjtk == 1){
  158 + String excludeTrip = map.get("excludeTrip") == null ? "" : map.get("excludeTrip").toString();
  159 + String yjtkStart = map.containsKey("yjtkStart") ? map.get("yjtkStart").toString() : "00:00";
  160 + String yjtkEnd = map.containsKey("yjtkEnd") ? map.get("yjtkEnd").toString() : "23:59";
  161 + int upStopMinute = Integer.parseInt(map.get("upStopMinute").toString());
  162 + int downStopMinute = Integer.parseInt(map.get("downStopMinute").toString());
  163 +
  164 + conf.setEnableYjtk(true);
  165 + conf.setExcludeTrip(excludeTrip);
  166 + conf.setYjtkStart(yjtkStart);
  167 + conf.setYjtkEnd(yjtkEnd);
  168 + conf.setUpStopMinute(upStopMinute);
  169 + conf.setDownStopMinute(downStopMinute);
  170 + }
  171 + else
  172 + conf.setEnableYjtk(false);
  173 +
  174 + lineConfigData.set(conf);
  175 +
  176 + rs.put("status", ResponseCode.SUCCESS);
  177 + rs.put("conf", conf);
  178 + } catch (Exception e) {
  179 + rs.put("status", ResponseCode.ERROR);
  180 + rs.put("msg", e.getMessage());
  181 + logger.error("", e);
  182 + }
  183 + return rs;
  184 + }
  185 +
  186 + @Override
  187 + public Map<String, Object> parkAndStationSet(Map<String, String> map) {
  188 + String lineCode = map.get("lineCode").toString();
  189 + String twinsPark = map.get("twinsPark").toString();
  190 + String twinsStation = map.get("twinsStation").toString();
  191 +
  192 + Map<String, Object> rs = new HashMap<>();
  193 + try {
  194 + LineConfig conf = lineConfigData.get(lineCode);
  195 + conf.setTwinsParks(twinsPark);
  196 + conf.setTwinsStations(twinsStation);
  197 +
  198 + lineConfigData.set(conf);
  199 +
  200 + rs.put("status", ResponseCode.SUCCESS);
  201 + rs.put("conf", conf);
  202 + } catch (Exception e) {
  203 + rs.put("status", ResponseCode.ERROR);
  204 + rs.put("msg", e.getMessage());
  205 + logger.error("", e);
  206 + }
  207 + return rs;
  208 + }
  209 +
  210 + @Override
  211 + public Map<String, Object> findByIdx(String idx) {
  212 + Map<String, Object> rs = new HashMap();
  213 + try{
  214 + List<LineConfig> list = new ArrayList<>();
  215 + List<String> ids = Splitter.on(",").splitToList(idx);
  216 +
  217 + for(String id : ids){
  218 + list.add(lineConfigData.get(id));
  219 + }
  220 +
  221 + rs.put("status", ResponseCode.SUCCESS);
  222 + rs.put("list", list);
  223 + }catch (Exception e){
  224 + rs.put("status", ResponseCode.ERROR);
  225 + logger.error("", e);
  226 + }
  227 + return rs;
  228 + }
  229 +
  230 + @Override
  231 + public Map<String, Object> setAutoExec(Map<String, String> map) {
  232 + String lineCode = map.get("lineCode").toString();
  233 + boolean autoExec = Boolean.parseBoolean(map.get("autoExec").toString());
  234 +
  235 + Map<String, Object> rs = new HashMap<>();
  236 + try {
  237 + LineConfig conf = lineConfigData.get(lineCode);
  238 + conf.setAutoExec(autoExec);
  239 +
  240 + lineConfigData.set(conf);
  241 + rs.put("status", ResponseCode.SUCCESS);
  242 + rs.put("conf", conf);
  243 + } catch (Exception e) {
  244 + rs.put("status", ResponseCode.ERROR);
  245 + rs.put("msg", e.getMessage());
  246 + logger.error("", e);
  247 + }
  248 + return rs;
  249 + }
  250 +
  251 + @Override
  252 + public Map<String, Object> setReadReverse(int status, String lineCode) {
  253 + Map<String, Object> rs = new HashMap<>();
  254 + try {
  255 + LineConfig conf = lineConfigData.get(lineCode);
  256 + conf.setReadReverse(status==1?true:false);
  257 +
  258 + lineConfigData.set(conf);
  259 + rs.put("status", ResponseCode.SUCCESS);
  260 + rs.put("conf", conf);
  261 + } catch (Exception e) {
  262 + rs.put("status", ResponseCode.ERROR);
  263 + rs.put("msg", e.getMessage());
  264 + logger.error("", e);
  265 + }
  266 + return rs;
  267 + }
  268 +}
src/main/resources/application-test.properties
@@ -10,7 +10,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy @@ -10,7 +10,7 @@ spring.jpa.hibernate.naming_strategy= org.hibernate.cfg.ImprovedNamingStrategy
10 spring.jpa.database= MYSQL 10 spring.jpa.database= MYSQL
11 spring.jpa.show-sql= true 11 spring.jpa.show-sql= true
12 spring.datasource.driver-class-name= com.mysql.jdbc.Driver 12 spring.datasource.driver-class-name= com.mysql.jdbc.Driver
13 -spring.datasource.url= jdbc:mysql://192.168.40.82/control?useUnicode=true&characterEncoding=utf-8&useSSL=false 13 +spring.datasource.url= jdbc:mysql://192.168.40.88/control?useUnicode=true&characterEncoding=utf-8&useSSL=false
14 spring.datasource.username= root 14 spring.datasource.username= root
15 spring.datasource.password= root2jsp 15 spring.datasource.password= root2jsp
16 #DATASOURCE 16 #DATASOURCE
src/main/resources/static/gpsTest/test.html
1 -<!DOCTYPE html>  
2 -<html>  
3 -<head>  
4 -<meta charset="UTF-8">  
5 -<title>GPS点测试</title>  
6 -<meta name=”renderer” content=”webkit”>  
7 -<meta http-equiv=”X-UA-Compatible” content=”IE=Edge,chrome=1″>  
8 -  
9 -<meta http-equiv="Pragma" content="no-cache">  
10 -<meta http-equiv="Cache-control" content="no-cache">  
11 -<meta http-equiv="Cache" content="no-cache">  
12 -<head>  
13 -<!-- select2 下拉框插件 -->  
14 -<link href="/metronic_v4.5.4/plugins/select2/css/select2.min.css"  
15 - rel="stylesheet" type="text/css" />  
16 -<style type="text/css">  
17 -html,body {  
18 - height: 100%;  
19 - overflow: hidden;  
20 -}  
21 -  
22 -#mapContainer {  
23 - width: 100%;  
24 - height: calc(100% - 93px);  
25 -}  
26 -  
27 -form {  
28 - padding: 25px;  
29 -}  
30 -  
31 -form .item {  
32 - display: inline-block;  
33 -}  
34 -  
35 -form .item input {  
36 - height: 26px;  
37 - width: 110px;  
38 -}  
39 -  
40 -form .item select {  
41 - height: 32px;  
42 -}  
43 -</style>  
44 -</head>  
45 -<body>  
46 - <form action="">  
47 - <div class="item">  
48 - 线路: <select name="xl" style="width: 150px;">  
49 - </select>  
50 - </div>  
51 - <div class="item">  
52 - 方向: <select name="directions" style="width: 70px;">  
53 - <option value="0">上行</option>  
54 - <option value="1">下行</option>  
55 - </select>  
56 - </div>  
57 - <div class="item">  
58 - 设备号: <input name="device" value="059L0903" />  
59 - </div>  
60 - <div class="item">  
61 - 开始时间戳: <input type="number" name="startTime" value="1461380940000" />  
62 - </div>  
63 - <div class="item">  
64 - 结束时间戳: <input type="number" name="endTime" value="1461381960000" />  
65 - </div>  
66 - <div class="item">  
67 - <input type="button" value="查询GPS轨迹" onclick="searchGps()">  
68 - </div>  
69 - <div class="item">  
70 - <input type="button" value="开启测距" onclick="myDis.open();"  
71 - style="width: 75px" /> <input type="button" value="关闭测距"  
72 - onclick="myDis.close()" style="width: 75px" />  
73 -  
74 - </div>  
75 -  
76 - <div class="item">  
77 - <a target="_blank" href="http://tool.chinaz.com/Tools/unixtime.aspx"  
78 - style="font-size: 12px; color: red;">毫秒时间戳转换</a>  
79 - </div>  
80 - </form>  
81 -  
82 - <div id="mapContainer"></div>  
83 - <script src="/assets/plugins/pinyin.js"></script>  
84 - <script src="/metronic_v4.5.4/plugins/jquery.min.js"></script>  
85 - <script src="/assets/plugins/jquery.serializejson.js"></script>  
86 - <script  
87 - src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script>  
88 - <script type="text/javascript"  
89 - src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script>  
90 - <!-- moment.js 日期处理类库 -->  
91 - <script src="/assets/plugins/moment-with-locales.js"></script>  
92 - <!-- select2 下拉框 -->  
93 - <script src="/metronic_v4.5.4/plugins/select2/js/select2.full.min.js"></script>  
94 - <script>  
95 -  
96 - var inMark = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA1CAYAAABSrotqAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAGW0lEQVRYw62XX2wc1RWHv3vv7NhrQkKCIa0poaKRmjdUFUGr+IH+ITy0Kg/0qVRV1ZamVV95al94oPSBVmoRUZTIKRFBLW1aapBK6gIChYTgFJRQHoITqCCO7eC1vY7t2Z1/954+zK69Xs9mx4mPdLWjmTvnO79z7zl3VlHAvv3XmXuM8R4EBpVSu1DqpiQRBJlH5APn5KQ4NzzycP/pbr7U1R5+6y+Vr2njP6EVX1FKoRTZAOJUQMBlP4gIIrwtNvnlyMO3vL4u4AND49vMjZsOaqMfUgpMA+ZEiBJIrJAkQslT+B4YrXACzknj1x4N6rWfnfrJ7XNdgd888NEOs+XmEaPVLq0zRVEiRGnmsGlJsnKtFfT4ih5PIQJWwDr3QRJUHzix9wsXOwLvOzDW72269ZQxeqcxIAL1WLAtoDzgMlgr+vwsG6kTrOXDoDL91Xcf/eLM8pxWuJT7j4hSO5UC66AW5cM6mXNCEDmsA60UAjv9rf1HWoU1L9Tg0OT3dU/5Wd9TeFpRiwWRFZhNhSvTMbX5hDh0uNhR6jWUb/LYvL0H460kSyko+xrrhCgVJAp/MPrzgecAMVkuH/PuuHv335VSW3s8TZgIrgUWzKdMXagRLqU4KygF4gRnhSiwLFZivF6N32tWAhTwPUWSCmhz18RC3z4+fsNpgN3f+/H9oO4ESO3qNNaupFQ+qWeRa5U7AGY/rlO7kq5Kb+qkUUrqzru/+8M9zTXUeKUHs92miG3LmlhhbjJCGVVoVCdCnG3ZyamgVRaQLvV+B9AeoJUu3QtgdLZWy6mspgigzdpyFS+/ZwTVhBv7/WyOgDbZBtTa3NMEKqX0Dsg6RqvFoUN3cOyczr2f1F3+FtbmDkB5gEKzFQFr215OBe3lO9Yu33GSrg47XUnxtiYQRKUgpdadCaAbnSMfmK+8Pf3L74ssATSAtorSt7a/vKnPUA87pMhTa9cAKJfzMwKysAwU56aUWQvcssUQJ/lA6aBw8xaPJHe+m4asLERcOpb3cvkGg1/SeEatGSZn+CVFeZPJDQRnxwDJgDY5nzcniIXbBkq5zo3Jyqg5PAMDAz5BlL/oLo0uLAOT4MqZvEnWCbEoPjfgU/LUKoDRK/BSSXHbgE8kqmOzt+HiGUA8QBY+Ov127823u0YAq1VGDno0n9/hs7BoWQocSSKIQKmk6OvTbN5sqAZCLeqw3uBmz791ChBFdmL4g4dnziptdnXYYhit2FxWlH2N72WHcmqhFjkW61c/xsTZc6OP3PIlIPayAHA2Dt/wem/oCLROqAZCNchU5B3AnczF9dcBR0sKxQZzI4U9rNOS+vwrDWHLJ76bOH7gTZBwo2GCBDOv/OF4Q+EyUCb+sW/JJeGxDQfG4b8vjRwK2hUKYNPF6gsbDUyC6lHAtgMB3NTfnv5ns+dtkL6F2eF9/6KRznagXDyxvyZx9PJG4WxUf+niif01Wtr8KiBgo8VPj24UMA5mXqAlne1AAPfhc79+DZHZ66aJq0wM/eJVWtKZB5Tqu0frNlr80/Xy0jB4fmbsZNQVCNj6+LlDoFxh7+2mkHjy3OFGOtse5U2H3sE/Xn5ZeT33dfJ5tdYmNjk5+tPt9wMhbd8Fed8DAqTJwuyhaxWYLM4MASk5HyGdPkDshT8/+hLiLq8XJuIu/+/Ir4bz0nk1oMyNHgttuPTseoGuvnh4/uzwqtorBATszNnXDqyvoUu48N6rB2mrvSJAAHd+/48mbVgr3AhsGDw/NvTIFG2lUBQoQFr/5L2nipSIgAvH//s0HTZL01QXPwro3X3o8rAu9expfdBeFpJGx0b3fvYhckqhqMJllVFl/PfdFNanx5/qpq6IwmZQvYPPTB9XpvTlPIWSxqOjez/z9YY6181ZN3NAEs5d+k2nCfHc5JNA0g1WVGGLyspbynh3tSp0aXLm9N7tg0XUFVXYVJlG81NPrlE3P/k7srUr1OyLAgHS/zzxjRex9v3mDbHp+2d/u+fFBrBwqoqaUKnEYfXS480b4dzk41QqMV125vWYBvoGn5l+596Dn74D9K0z6MY/4M7WvqkESOPK+GNRlsRm3eXNK+SwVYkPlBpBacA05uvGfVgpBSFr2K4RRALE5GykTif+toZT1WFu87pVSft1Asy1q70WhYrVwOa4ZoXred7JOq7h/wF6az0ukZgX/AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNS0wNy0yNVQyMTo1MDo0MyswODowMOgS43cAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMTEtMjBUMjI6NDc6MTErMDg6MDAou1syAAAATnRFWHRzb2Z0d2FyZQBJbWFnZU1hZ2ljayA2LjguOC0xMCBRMTYgeDg2XzY0IDIwMTUtMDctMTkgaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmcFDJw1AAAAGHRFWHRUaHVtYjo6RG9jdW1lbnQ6OlBhZ2VzADGn/7svAAAAF3RFWHRUaHVtYjo6SW1hZ2U6OkhlaWdodAA1Mwmpb+QAAAAWdEVYdFRodW1iOjpJbWFnZTo6V2lkdGgAMjgpleAmAAAAGXRFWHRUaHVtYjo6TWltZXR5cGUAaW1hZ2UvcG5nP7JWTgAAABd0RVh0VGh1bWI6Ok1UaW1lADEzODQ5NTg4MzEXUMEwAAAAE3RFWHRUaHVtYjo6U2l6ZQA0LjUzS0JC/AyPiAAAAFp0RVh0VGh1bWI6OlVSSQBmaWxlOi8vL2hvbWUvd3d3cm9vdC93d3cuZWFzeWljb24ubmV0L2Nkbi1pbWcuZWFzeWljb24uY24vc3JjLzExMjk3LzExMjk3NzIucG5nqXNeUQAAAABJRU5ErkJggg==';  
97 - var outMark = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAvCAMAAAC18jgTAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABO1BMVEUAAAAiu4ggv40gvowgvowgvosgvowfvo0jv44hv40gvosgvowcxo4fvowgvowdvYogv4whvo0gvowhvYwrqoAhv4wnxIkgv4wA//8gvIshvosgvowhvIshvowgvowrv5Ugv4ohvosgvowhv4wgv4whvYwXuYsgvowgvowiu4gfvo0zzJkhvowktpIgvowgv40hvo0gv4wgvowAqqogvosgvowjv4sgvowivIskv4khvowgvYsiu44hvosfvI0hv4sgvYofvowgvowgv40gv4wjuYsgvowhvowfvIsgvYsgvo0hvoxAv4Agv4wgvowgvoshvo0mv4whvowgvowfwo8gv4wgv40duokAAAAfvYsgvYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAYjGUYj2kAAAAAAAAAAAAgvoz///9v2GMAAAAAZ3RSTlMAD1eZyOr4miSc950Jivoj0i/pfAarDaoBWH3JLuv5DDDL0ZunbQvu/h6CBbQO5jhOkNwDtfAsz0Qc42EtdUGLYKKOwsYW7/s5f7nMBCj9N40U8/YZh48aAaOmAggNERMWF0lLGBkanzLKGQAAAAFiS0dEaMts9CIAAAGZSURBVDjLfZRnW8IwFIUvyN6FUlCx4AZxKw7cA/eeKKNUwfz/f2ChZNAmnC+U+54m9548KQCRwznicns8bpfX6QC7fP4AIgoEfRYcCkfQgCLhEMujMWRTLEq55EYcuSXyPpcbjv4aoRgSKGb2EUZChXvzRcSGSHfaIP0fT0iyLCXitOI38qP5JBWzKSVFE3OAk/I0HiudJMVR8JL1FRqMQgb3ggs/Jthox3B1HIg3wxoyuDoBKn6UWYOMqyp4uIYsNfC3yNEtJoc3OQXT3DFJmDNMUCkaFI1yFubmqcMedb4AsMAeVqaYzbGHtWj4l5bFx51f6a64mhca/OaeayK+3m9qY5PPS1tk7G0eV3doMLtlToN7bLT7JZvhYPByHqoWfmS93ceD/CRtNcApy89kG4fiOeXlCucLAoULzC+vgCvSxjUIdGPy2zuR4b53jx8eQagn5gi5en5B6PVtiAHeEfoYxqHiUT9FrNrT17f5a8O1eqOptXT951fXW1qzUa9ZXtfanU7nry/jsa1VuSsYtjZ3BdIDFin/A1AVNdoKDyAYAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE1LTA3LTI1VDIxOjUwOjQzKzA4OjAw6BLjdwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0xMS0yMFQyMjo0NzoxMyswODowML8kShsAAABOdEVYdHNvZnR3YXJlAEltYWdlTWFnaWNrIDYuOC44LTEwIFExNiB4ODZfNjQgMjAxNS0wNy0xOSBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZwUMnDUAAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf/uy8AAAAXdEVYdFRodW1iOjpJbWFnZTo6SGVpZ2h0ADQ3F9+avAAAABZ0RVh0VGh1bWI6OkltYWdlOjpXaWR0aAAzMtBbOHkAAAAZdEVYdFRodW1iOjpNaW1ldHlwZQBpbWFnZS9wbmc/slZOAAAAF3RFWHRUaHVtYjo6TVRpbWUAMTM4NDk1ODgzM/leoBwAAAATdEVYdFRodW1iOjpTaXplADQuMDFLQkKe5chzAAAAWnRFWHRUaHVtYjo6VVJJAGZpbGU6Ly8vaG9tZS93d3dyb290L3d3dy5lYXN5aWNvbi5uZXQvY2RuLWltZy5lYXN5aWNvbi5jbi9zcmMvMTEyOTcvMTEyOTc4Ni5wbmetpUpEAAAAAElFTkSuQmCC';  
98 -  
99 - var inOuts = [outMark, inMark];  
100 -  
101 - var stationCodeMap = {};  
102 -  
103 - var map = new BMap.Map("mapContainer");  
104 - map.centerAndZoom(new BMap.Point(121.544336, 31.221315), 15);  
105 - map.enableScrollWheelZoom();  
106 - //中心点和缩放级别  
107 - map.setCurrentCity("上海");  
108 - var myDis = new BMapLib.DistanceTool(map);  
109 -  
110 -  
111 - $.get('/line/all', function(rs){  
112 - var data = [];  
113 - $.each(rs, function(){  
114 - data.push({id: this.id, text: this.name});  
115 - });  
116 -  
117 - initPinYinSelect2('select[name=xl]', data);  
118 - });  
119 -  
120 - function searchGps(){  
121 - var params = $('form').serializeJSON();  
122 - //查询线路路由站点  
123 - $.get('/test/gps/route', params, function(rs){  
124 - var array = rs[0].children[0].children  
125 - ,coords,circle, cdsArray, points, polygon;  
126 - //画出站点  
127 - console.log(array);  
128 - $.each(array, function(){  
129 - stationCodeMap[this.stationStationCod] = this.name;  
130 - if(this.stationShapesType === 'r'){  
131 - //画圆  
132 - coords = this.stationBJwpoints.split(' ');  
133 - circle = new BMap.Circle(new BMap.Point(coords[0], coords[1]),this.stationRadius);  
134 - circle.setStrokeColor('red');  
135 - circle.setStrokeWeight(2)  
136 - map.addOverlay(circle);  
137 - }  
138 - else if(this.stationShapesType === 'd'){  
139 - //画多边形  
140 - coords = this.stationBPolygonGrid.substring(9, this.stationBPolygonGrid.length - 2);  
141 - cdsArray = coords.split(',');  
142 - points = [];  
143 - $.each(cdsArray, function(){  
144 - coords = this.split(' ');  
145 - points.push(new BMap.Point(coords[0], coords[1]));  
146 - });  
147 -  
148 - polygon = new BMap.Polygon(points, {strokeColor:"red", strokeWeight:2, strokeOpacity:0.5});  
149 - map.addOverlay(polygon);  
150 - }  
151 - });  
152 - coords = array[array.length / 2].stationBJwpoints.split(' ');  
153 - map.setCenter(new BMap.Point(coords[0], coords[1]))  
154 - });  
155 -  
156 - //查询gps点  
157 - $.get('/gps/history/' + params.device, params, function(gpsArray){  
158 - console.log(stationCodeMap);  
159 - var marker, label, point, state, text;  
160 - $.each(gpsArray, function(){  
161 - point = new BMap.Point(this.lon, this.lat);  
162 - marker = new BMap.Marker(point);  
163 - state = this.inout_stop;  
164 -  
165 - if(state == 0 || state == 1){  
166 - text = state == 0?'出':'进';  
167 -  
168 - console.log(stationCodeMap[this.stopNo], this);  
169 - marker.setIcon(new BMap.Icon(inOuts[this.inout_stop], new BMap.Size(25,25)));  
170 - label = new BMap.Label(  
171 - stationCodeMap[this.stopNo] + '/' +moment(this.ts).format('HH:mm.ss') + ' -'+text  
172 - , {position: point, offset: new BMap.Size(-25,-18)});  
173 - marker.setLabel(label);  
174 - }  
175 - else{  
176 - label = new BMap.Label(moment(this.ts).format('HH:mm.ss')  
177 - , {position: point, offset: new BMap.Size(-25,-18)});  
178 - marker.setLabel(label);  
179 - }  
180 -  
181 - map.addOverlay(marker);  
182 - });  
183 - });  
184 - }  
185 -  
186 -  
187 - /**  
188 - * 支持拼音搜索的select2  
189 - * @param selector  
190 - * @param data  
191 - */  
192 - function initPinYinSelect2(selector, data, cb){  
193 -  
194 - $.each(data, function(){  
195 - this.fullChars = pinyin.getFullChars(this.text).toUpperCase();  
196 - this.camelChars = pinyin.getCamelChars(this.text);  
197 - });  
198 -  
199 - $.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) {  
200 - $(selector).select2({  
201 - data: data,  
202 - matcher: oldMatcher(function(term, text, item){  
203 - var upTerm = term.toUpperCase();  
204 - if(item.fullChars.indexOf(upTerm) != -1  
205 - || item.camelChars.indexOf(upTerm) != -1)  
206 - return true;  
207 -  
208 - return text.indexOf(term) != -1;  
209 - })  
210 - });  
211 -  
212 - cb && cb();  
213 - });  
214 -  
215 - return $(selector);  
216 - }  
217 -</script>  
218 -</body>  
219 -</html> 1 +<!DOCTYPE html>
  2 +<html>
  3 +<head>
  4 +<meta charset="UTF-8">
  5 +<title>GPS点测试</title>
  6 +<meta name=”renderer” content=”webkit”>
  7 +<meta http-equiv=”X-UA-Compatible” content=”IE=Edge,chrome=1″>
  8 +
  9 +<meta http-equiv="Pragma" content="no-cache">
  10 +<meta http-equiv="Cache-control" content="no-cache">
  11 +<meta http-equiv="Cache" content="no-cache">
  12 +<head>
  13 +<!-- select2 下拉框插件 -->
  14 +<link href="/metronic_v4.5.4/plugins/select2/css/select2.min.css"
  15 + rel="stylesheet" type="text/css" />
  16 +<style type="text/css">
  17 +html,body {
  18 + height: 100%;
  19 + overflow: hidden;
  20 +}
  21 +
  22 +#mapContainer {
  23 + width: 100%;
  24 + height: calc(100% - 93px);
  25 +}
  26 +
  27 +form {
  28 + padding: 25px;
  29 +}
  30 +
  31 +form .item {
  32 + display: inline-block;
  33 +}
  34 +
  35 +form .item input {
  36 + height: 26px;
  37 + width: 110px;
  38 +}
  39 +
  40 +form .item select {
  41 + height: 32px;
  42 +}
  43 +</style>
  44 +</head>
  45 +<body>
  46 + <form action="">
  47 + <div class="item">
  48 + 线路: <select name="xl" style="width: 150px;">
  49 + </select>
  50 + </div>
  51 + <div class="item">
  52 + 方向: <select name="directions" style="width: 70px;">
  53 + <option value="0">上行</option>
  54 + <option value="1">下行</option>
  55 + </select>
  56 + </div>
  57 + <div class="item">
  58 + 设备号: <input name="device" value="059L0903" />
  59 + </div>
  60 + <div class="item">
  61 + 开始时间戳: <input type="number" name="startTime" value="1461380940000" />
  62 + </div>
  63 + <div class="item">
  64 + 结束时间戳: <input type="number" name="endTime" value="1461381960000" />
  65 + </div>
  66 + <div class="item">
  67 + <input type="button" value="查询GPS轨迹" onclick="searchGps()">
  68 + </div>
  69 + <div class="item">
  70 + <input type="button" value="开启测距" onclick="myDis.open();"
  71 + style="width: 75px" /> <input type="button" value="关闭测距"
  72 + onclick="myDis.close()" style="width: 75px" />
  73 +
  74 + </div>
  75 +
  76 + <div class="item">
  77 + <a target="_blank" href="http://tool.chinaz.com/Tools/unixtime.aspx"
  78 + style="font-size: 12px; color: red;">毫秒时间戳转换</a>
  79 + </div>
  80 + </form>
  81 +
  82 + <div id="mapContainer"></div>
  83 + <script src="/assets/plugins/pinyin.js"></script>
  84 + <script src="/metronic_v4.5.4/plugins/jquery.min.js"></script>
  85 + <script src="/assets/plugins/jquery.serializejson.js"></script>
  86 + <script
  87 + src="http://api.map.baidu.com/api?v=2.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script>
  88 + <script type="text/javascript"
  89 + src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script>
  90 + <!-- moment.js 日期处理类库 -->
  91 + <script src="/assets/plugins/moment-with-locales.js"></script>
  92 + <!-- select2 下拉框 -->
  93 + <script src="/metronic_v4.5.4/plugins/select2/js/select2.full.min.js"></script>
  94 + <script>
  95 +
  96 + var inMark = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAA1CAYAAABSrotqAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAGW0lEQVRYw62XX2wc1RWHv3vv7NhrQkKCIa0poaKRmjdUFUGr+IH+ITy0Kg/0qVRV1ZamVV95al94oPSBVmoRUZTIKRFBLW1aapBK6gIChYTgFJRQHoITqCCO7eC1vY7t2Z1/954+zK69Xs9mx4mPdLWjmTvnO79z7zl3VlHAvv3XmXuM8R4EBpVSu1DqpiQRBJlH5APn5KQ4NzzycP/pbr7U1R5+6y+Vr2njP6EVX1FKoRTZAOJUQMBlP4gIIrwtNvnlyMO3vL4u4AND49vMjZsOaqMfUgpMA+ZEiBJIrJAkQslT+B4YrXACzknj1x4N6rWfnfrJ7XNdgd888NEOs+XmEaPVLq0zRVEiRGnmsGlJsnKtFfT4ih5PIQJWwDr3QRJUHzix9wsXOwLvOzDW72269ZQxeqcxIAL1WLAtoDzgMlgr+vwsG6kTrOXDoDL91Xcf/eLM8pxWuJT7j4hSO5UC66AW5cM6mXNCEDmsA60UAjv9rf1HWoU1L9Tg0OT3dU/5Wd9TeFpRiwWRFZhNhSvTMbX5hDh0uNhR6jWUb/LYvL0H460kSyko+xrrhCgVJAp/MPrzgecAMVkuH/PuuHv335VSW3s8TZgIrgUWzKdMXagRLqU4KygF4gRnhSiwLFZivF6N32tWAhTwPUWSCmhz18RC3z4+fsNpgN3f+/H9oO4ESO3qNNaupFQ+qWeRa5U7AGY/rlO7kq5Kb+qkUUrqzru/+8M9zTXUeKUHs92miG3LmlhhbjJCGVVoVCdCnG3ZyamgVRaQLvV+B9AeoJUu3QtgdLZWy6mspgigzdpyFS+/ZwTVhBv7/WyOgDbZBtTa3NMEKqX0Dsg6RqvFoUN3cOyczr2f1F3+FtbmDkB5gEKzFQFr215OBe3lO9Yu33GSrg47XUnxtiYQRKUgpdadCaAbnSMfmK+8Pf3L74ssATSAtorSt7a/vKnPUA87pMhTa9cAKJfzMwKysAwU56aUWQvcssUQJ/lA6aBw8xaPJHe+m4asLERcOpb3cvkGg1/SeEatGSZn+CVFeZPJDQRnxwDJgDY5nzcniIXbBkq5zo3Jyqg5PAMDAz5BlL/oLo0uLAOT4MqZvEnWCbEoPjfgU/LUKoDRK/BSSXHbgE8kqmOzt+HiGUA8QBY+Ov127823u0YAq1VGDno0n9/hs7BoWQocSSKIQKmk6OvTbN5sqAZCLeqw3uBmz791ChBFdmL4g4dnziptdnXYYhit2FxWlH2N72WHcmqhFjkW61c/xsTZc6OP3PIlIPayAHA2Dt/wem/oCLROqAZCNchU5B3AnczF9dcBR0sKxQZzI4U9rNOS+vwrDWHLJ76bOH7gTZBwo2GCBDOv/OF4Q+EyUCb+sW/JJeGxDQfG4b8vjRwK2hUKYNPF6gsbDUyC6lHAtgMB3NTfnv5ns+dtkL6F2eF9/6KRznagXDyxvyZx9PJG4WxUf+niif01Wtr8KiBgo8VPj24UMA5mXqAlne1AAPfhc79+DZHZ66aJq0wM/eJVWtKZB5Tqu0frNlr80/Xy0jB4fmbsZNQVCNj6+LlDoFxh7+2mkHjy3OFGOtse5U2H3sE/Xn5ZeT33dfJ5tdYmNjk5+tPt9wMhbd8Fed8DAqTJwuyhaxWYLM4MASk5HyGdPkDshT8/+hLiLq8XJuIu/+/Ir4bz0nk1oMyNHgttuPTseoGuvnh4/uzwqtorBATszNnXDqyvoUu48N6rB2mrvSJAAHd+/48mbVgr3AhsGDw/NvTIFG2lUBQoQFr/5L2nipSIgAvH//s0HTZL01QXPwro3X3o8rAu9expfdBeFpJGx0b3fvYhckqhqMJllVFl/PfdFNanx5/qpq6IwmZQvYPPTB9XpvTlPIWSxqOjez/z9YY6181ZN3NAEs5d+k2nCfHc5JNA0g1WVGGLyspbynh3tSp0aXLm9N7tg0XUFVXYVJlG81NPrlE3P/k7srUr1OyLAgHS/zzxjRex9v3mDbHp+2d/u+fFBrBwqoqaUKnEYfXS480b4dzk41QqMV125vWYBvoGn5l+596Dn74D9K0z6MY/4M7WvqkESOPK+GNRlsRm3eXNK+SwVYkPlBpBacA05uvGfVgpBSFr2K4RRALE5GykTif+toZT1WFu87pVSft1Asy1q70WhYrVwOa4ZoXred7JOq7h/wF6az0ukZgX/AAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNS0wNy0yNVQyMTo1MDo0MyswODowMOgS43cAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTMtMTEtMjBUMjI6NDc6MTErMDg6MDAou1syAAAATnRFWHRzb2Z0d2FyZQBJbWFnZU1hZ2ljayA2LjguOC0xMCBRMTYgeDg2XzY0IDIwMTUtMDctMTkgaHR0cDovL3d3dy5pbWFnZW1hZ2ljay5vcmcFDJw1AAAAGHRFWHRUaHVtYjo6RG9jdW1lbnQ6OlBhZ2VzADGn/7svAAAAF3RFWHRUaHVtYjo6SW1hZ2U6OkhlaWdodAA1Mwmpb+QAAAAWdEVYdFRodW1iOjpJbWFnZTo6V2lkdGgAMjgpleAmAAAAGXRFWHRUaHVtYjo6TWltZXR5cGUAaW1hZ2UvcG5nP7JWTgAAABd0RVh0VGh1bWI6Ok1UaW1lADEzODQ5NTg4MzEXUMEwAAAAE3RFWHRUaHVtYjo6U2l6ZQA0LjUzS0JC/AyPiAAAAFp0RVh0VGh1bWI6OlVSSQBmaWxlOi8vL2hvbWUvd3d3cm9vdC93d3cuZWFzeWljb24ubmV0L2Nkbi1pbWcuZWFzeWljb24uY24vc3JjLzExMjk3LzExMjk3NzIucG5nqXNeUQAAAABJRU5ErkJggg==';
  97 + var outMark = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAvCAMAAAC18jgTAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABO1BMVEUAAAAiu4ggv40gvowgvowgvosgvowfvo0jv44hv40gvosgvowcxo4fvowgvowdvYogv4whvo0gvowhvYwrqoAhv4wnxIkgv4wA//8gvIshvosgvowhvIshvowgvowrv5Ugv4ohvosgvowhv4wgv4whvYwXuYsgvowgvowiu4gfvo0zzJkhvowktpIgvowgv40hvo0gv4wgvowAqqogvosgvowjv4sgvowivIskv4khvowgvYsiu44hvosfvI0hv4sgvYofvowgvowgv40gv4wjuYsgvowhvowfvIsgvYsgvo0hvoxAv4Agv4wgvowgvoshvo0mv4whvowgvowfwo8gv4wgv40duokAAAAfvYsgvYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAYjGUYj2kAAAAAAAAAAAAgvoz///9v2GMAAAAAZ3RSTlMAD1eZyOr4miSc950Jivoj0i/pfAarDaoBWH3JLuv5DDDL0ZunbQvu/h6CBbQO5jhOkNwDtfAsz0Qc42EtdUGLYKKOwsYW7/s5f7nMBCj9N40U8/YZh48aAaOmAggNERMWF0lLGBkanzLKGQAAAAFiS0dEaMts9CIAAAGZSURBVDjLfZRnW8IwFIUvyN6FUlCx4AZxKw7cA/eeKKNUwfz/f2ChZNAmnC+U+54m9548KQCRwznicns8bpfX6QC7fP4AIgoEfRYcCkfQgCLhEMujMWRTLEq55EYcuSXyPpcbjv4aoRgSKGb2EUZChXvzRcSGSHfaIP0fT0iyLCXitOI38qP5JBWzKSVFE3OAk/I0HiudJMVR8JL1FRqMQgb3ggs/Jthox3B1HIg3wxoyuDoBKn6UWYOMqyp4uIYsNfC3yNEtJoc3OQXT3DFJmDNMUCkaFI1yFubmqcMedb4AsMAeVqaYzbGHtWj4l5bFx51f6a64mhca/OaeayK+3m9qY5PPS1tk7G0eV3doMLtlToN7bLT7JZvhYPByHqoWfmS93ceD/CRtNcApy89kG4fiOeXlCucLAoULzC+vgCvSxjUIdGPy2zuR4b53jx8eQagn5gi5en5B6PVtiAHeEfoYxqHiUT9FrNrT17f5a8O1eqOptXT951fXW1qzUa9ZXtfanU7nry/jsa1VuSsYtjZ3BdIDFin/A1AVNdoKDyAYAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE1LTA3LTI1VDIxOjUwOjQzKzA4OjAw6BLjdwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxMy0xMS0yMFQyMjo0NzoxMyswODowML8kShsAAABOdEVYdHNvZnR3YXJlAEltYWdlTWFnaWNrIDYuOC44LTEwIFExNiB4ODZfNjQgMjAxNS0wNy0xOSBodHRwOi8vd3d3LmltYWdlbWFnaWNrLm9yZwUMnDUAAAAYdEVYdFRodW1iOjpEb2N1bWVudDo6UGFnZXMAMaf/uy8AAAAXdEVYdFRodW1iOjpJbWFnZTo6SGVpZ2h0ADQ3F9+avAAAABZ0RVh0VGh1bWI6OkltYWdlOjpXaWR0aAAzMtBbOHkAAAAZdEVYdFRodW1iOjpNaW1ldHlwZQBpbWFnZS9wbmc/slZOAAAAF3RFWHRUaHVtYjo6TVRpbWUAMTM4NDk1ODgzM/leoBwAAAATdEVYdFRodW1iOjpTaXplADQuMDFLQkKe5chzAAAAWnRFWHRUaHVtYjo6VVJJAGZpbGU6Ly8vaG9tZS93d3dyb290L3d3dy5lYXN5aWNvbi5uZXQvY2RuLWltZy5lYXN5aWNvbi5jbi9zcmMvMTEyOTcvMTEyOTc4Ni5wbmetpUpEAAAAAElFTkSuQmCC';
  98 +
  99 + var inOuts = [outMark, inMark];
  100 +
  101 + var stationCodeMap = {};
  102 +
  103 + var map = new BMap.Map("mapContainer");
  104 + map.centerAndZoom(new BMap.Point(121.544336, 31.221315), 15);
  105 + map.enableScrollWheelZoom();
  106 + //中心点和缩放级别
  107 + map.setCurrentCity("上海");
  108 + var myDis = new BMapLib.DistanceTool(map);
  109 +
  110 +
  111 + $.get('/line/all', function(rs){
  112 + var data = [];
  113 + $.each(rs, function(){
  114 + data.push({id: this.id, text: this.name});
  115 + });
  116 +
  117 + initPinYinSelect2('select[name=xl]', data);
  118 + });
  119 +
  120 + function searchGps(){
  121 + var params = $('form').serializeJSON();
  122 + //查询线路路由站点
  123 + $.get('/test/gps/route', params, function(rs){
  124 + var array = rs[0].children[0].children
  125 + ,coords,circle, cdsArray, points, polygon;
  126 + //画出站点
  127 + console.log(array);
  128 + $.each(array, function(){
  129 + stationCodeMap[this.stationStationCod] = this.name;
  130 + if(this.stationShapesType === 'r'){
  131 + //画圆
  132 + coords = this.stationBJwpoints.split(' ');
  133 + circle = new BMap.Circle(new BMap.Point(coords[0], coords[1]),this.stationRadius);
  134 + circle.setStrokeColor('red');
  135 + circle.setStrokeWeight(2)
  136 + map.addOverlay(circle);
  137 + }
  138 + else if(this.stationShapesType === 'd'){
  139 + //画多边形
  140 + coords = this.stationBPolygonGrid.substring(9, this.stationBPolygonGrid.length - 2);
  141 + cdsArray = coords.split(',');
  142 + points = [];
  143 + $.each(cdsArray, function(){
  144 + coords = this.split(' ');
  145 + points.push(new BMap.Point(coords[0], coords[1]));
  146 + });
  147 +
  148 + polygon = new BMap.Polygon(points, {strokeColor:"red", strokeWeight:2, strokeOpacity:0.5});
  149 + map.addOverlay(polygon);
  150 + }
  151 + });
  152 + coords = array[array.length / 2].stationBJwpoints.split(' ');
  153 + map.setCenter(new BMap.Point(coords[0], coords[1]))
  154 + });
  155 +
  156 + //查询gps点
  157 + $.get('/gps/history/' + params.device, params, function(gpsArray){
  158 + console.log(stationCodeMap);
  159 + var marker, label, point, state, text;
  160 + $.each(gpsArray, function(){
  161 + point = new BMap.Point(this.lon, this.lat);
  162 + marker = new BMap.Marker(point);
  163 + state = this.inout_stop;
  164 +
  165 + if(state == 0 || state == 1){
  166 + text = state == 0?'出':'进';
  167 +
  168 + console.log(stationCodeMap[this.stopNo], this);
  169 + marker.setIcon(new BMap.Icon(inOuts[this.inout_stop], new BMap.Size(25,25)));
  170 + label = new BMap.Label(
  171 + stationCodeMap[this.stopNo] + '/' +moment(this.ts).format('HH:mm.ss') + ' -'+text
  172 + , {position: point, offset: new BMap.Size(-25,-18)});
  173 + marker.setLabel(label);
  174 + }
  175 + else{
  176 + label = new BMap.Label(moment(this.ts).format('HH:mm.ss')
  177 + , {position: point, offset: new BMap.Size(-25,-18)});
  178 + marker.setLabel(label);
  179 + }
  180 +
  181 + map.addOverlay(marker);
  182 + });
  183 + });
  184 + }
  185 +
  186 +
  187 + /**
  188 + * 支持拼音搜索的select2
  189 + * @param selector
  190 + * @param data
  191 + */
  192 + function initPinYinSelect2(selector, data, cb){
  193 +
  194 + $.each(data, function(){
  195 + this.fullChars = pinyin.getFullChars(this.text).toUpperCase();
  196 + this.camelChars = pinyin.getCamelChars(this.text);
  197 + });
  198 +
  199 + $.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) {
  200 + $(selector).select2({
  201 + data: data,
  202 + matcher: oldMatcher(function(term, text, item){
  203 + var upTerm = term.toUpperCase();
  204 + if(item.fullChars.indexOf(upTerm) != -1
  205 + || item.camelChars.indexOf(upTerm) != -1)
  206 + return true;
  207 +
  208 + return text.indexOf(term) != -1;
  209 + })
  210 + });
  211 +
  212 + cb && cb();
  213 + });
  214 +
  215 + return $(selector);
  216 + }
  217 +</script>
  218 +</body>
  219 +</html>
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 : 121.528733,lat : 31.237425};
  7 + // 百度API Key
  8 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
  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 : 121.528733,lat : 31.237425};
  14 + // 百度API Key
  15 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
  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/geo_data_edit/main.html
@@ -126,7 +126,7 @@ @@ -126,7 +126,7 @@
126 {{/if}} 126 {{/if}}
127 </script> 127 </script>
128 <!-- 百度 --> 128 <!-- 百度 -->
129 -<script src="//api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script> 129 +<script src="//api.map.baidu.com/api?v=2.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script>
130 <script src="/metronic_v4.5.4/plugins/jquery.min.js"></script> 130 <script src="/metronic_v4.5.4/plugins/jquery.min.js"></script>
131 <script src="/assets/plugins/uk3.0/uikit.min.js"></script> 131 <script src="/assets/plugins/uk3.0/uikit.min.js"></script>
132 <script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script> 132 <script src="/assets/plugins/uk3.0/uikit-icons.min.js"></script>
src/main/resources/static/pages/base/line/js/map.js
@@ -24,7 +24,7 @@ var WorldsBMapLine = function () { @@ -24,7 +24,7 @@ var WorldsBMapLine = function () {
24 var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; 24 var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
25 25
26 // 百度API Key 26 // 百度API Key
27 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; 27 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
28 28
29 // 初始化百度地图 29 // 初始化百度地图
30 mapBValue = new BMap.Map("bmap_basic"); 30 mapBValue = new BMap.Map("bmap_basic");
src/main/resources/static/pages/base/roadspeed/js/add-vmap-world.js
@@ -3,7 +3,7 @@ var SectionVmapWorlds = function() { @@ -3,7 +3,7 @@ var SectionVmapWorlds = function() {
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 : 121.528733,lat : 31.237425};// 设置中心点.
6 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';// 百度API Key 6 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';// 百度API Key
7 mapB = new BMap.Map("roadBmap_basic");// 初始化百度地图 7 mapB = new BMap.Map("roadBmap_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);//中心点和缩放级别
9 mapB.enableDragging(); //启用地图拖拽事件,默认启用(可不写) 9 mapB.enableDragging(); //启用地图拖拽事件,默认启用(可不写)
src/main/resources/static/pages/base/roadspeed/js/roadspeed-positions-map.js
1 -/**  
2 - * @description : (TODO) 百度地图  
3 - *  
4 - * @author bsth@lq  
5 - *  
6 - * @version 1.0  
7 - *  
8 - */  
9 -  
10 -var RoadspeedPWorldsBMap = function () {  
11 - // 定义地图对象、地图覆盖物、线性几何图形.  
12 - var mapValue = '',marker='', polyUpline='';  
13 - var Bmap = {  
14 - // 初始化地图.  
15 - init : function() {  
16 - // 设置中心点  
17 - var CENTER_POINT = {lng : 121.528733,lat : 31.237425};  
18 - // 百度API Key  
19 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';  
20 - // 初始化百度地图  
21 - mapValue = new BMap.Map('roadspeedPbmap_basic');  
22 - //中心点和缩放级别  
23 - mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);  
24 - //启用地图拖拽事件,默认启用(可不写)  
25 - mapValue.enableDragging();  
26 - //启用地图滚轮放大缩小  
27 - mapValue.enableScrollWheelZoom();  
28 - //禁用鼠标双击放大  
29 - mapValue.disableDoubleClickZoom();  
30 - //启用键盘上下左右键移动地图  
31 - mapValue.enableKeyboard();  
32 - return mapValue;  
33 - },  
34 - // 绘制线路走向线性几何图形.  
35 - drawingUpline : function(r) {  
36 - var bRoadVectorStr = r.bRoadVector;  
37 - var tempStr = bRoadVectorStr.substring(11,bRoadVectorStr.length-1);  
38 - var lineArray = tempStr.split(',');  
39 - var polylineArray = [];  
40 - var lineaLen = lineArray.length  
41 - for(var i = 0;i<lineaLen;i++) {  
42 - polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));  
43 - }  
44 - var centerI = Math.ceil(lineaLen/2);  
45 - // 中心坐标点  
46 - var point = new BMap.Point(lineArray[centerI].split(' ')[0],lineArray[centerI].split(' ')[1]);  
47 - // 创建线路走向  
48 - polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "#5298ff",strokeWeight : 6,strokeOpacity :1,strokeStyle:'solid'});  
49 - // 把折线添加到地图上  
50 - mapValue.addOverlay(polyUpline);  
51 - // 信息窗口参数属性  
52 - var opts = {  
53 - // 信息窗口宽度  
54 - width : 200,  
55 - // 信息窗口高度  
56 - height : 300,  
57 - // 信息窗位置偏移值。  
58 - offset: new BMap.Size(500,-80),  
59 - //标题  
60 - title : '<h4 style="color:#FFFFFF">'+r.name+'详情</h4>',  
61 - //设置不允许信窗发送短息  
62 - enableMessage : false,  
63 - //是否开启点击地图关闭信息窗口  
64 - enableCloseOnClick : false,  
65 - // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)  
66 - enableAutoPan:true  
67 - };  
68 - var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+  
69 - '<span style="color:#DDD;font-size: 15px;">路段名称:' + r.name + '</span>' +  
70 - '<span class="help-block" style="color:#DDD;font-size: 15px;">限速开始时间:' + r.speedStartDate + '</span>' +  
71 - '<span class="help-block" style="color:#DDD;font-size: 15px;">限速结束时间:' + r.speedEndDate + '</span>' +  
72 - '<span class="help-block" style="color:#DDD;font-size: 15px;">限  速:' + r.speed + '</span>';  
73 - // 创建信息窗口  
74 - var infoWindow_target = new BMap.InfoWindow(htm, opts);  
75 - // 自定义标注物图片  
76 - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/blank.gif',new BMap.Size(20, 20));  
77 - // 创建点  
78 - marker = new BMap.Marker(point,{icon : icon_target});  
79 - // 把标注添物加到地图上  
80 - mapValue.addOverlay(marker);  
81 - //开启信息窗口  
82 - marker.openInfoWindow(infoWindow_target,point);  
83 - var PanOptions_ ={noAnimation :true};  
84 - mapValue.reset();  
85 - mapValue.panTo(point,PanOptions_);  
86 - mapValue.panBy(0,-110,PanOptions_);  
87 - mapValue.setZoom(14);  
88 - },  
89 - // 编辑线路走向几何线性图形.  
90 - editPolyUpline : function() {  
91 - // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)  
92 - polyUpline.disableMassClear();  
93 - RoadspeedPWorldsBMap.clearMarkAndOverlays();  
94 - // 允许覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)  
95 - polyUpline.enableMassClear();  
96 - // 开启线路编辑  
97 - polyUpline.enableEditing();  
98 - // 添加双击折线保存事件  
99 - polyUpline.addEventListener('dblclick',function(e) {  
100 - // 关闭  
101 - layer.closeAll();  
102 - polyUpline.disableEditing();  
103 - // 获取折线坐标集合  
104 - var editPloyLineArray = polyUpline.getPath();  
105 - EditRoadspeedObj.setEitdBroadspeedVector(JSON.stringify(editPloyLineArray));  
106 - polyUpline= '';  
107 - // 加载修改路段弹出层mobal页面  
108 - $.get('editroadspeed.html', function(m){  
109 - $(pjaxContainer).append(m);  
110 - $('#edit_roadspeed_mobal').trigger('editRoadspeedMobal_show', [RoadspeedPWorldsBMap,GetAjaxData,EditRoadspeedObj,PositionsPublicFunctions]);  
111 - });  
112 - });  
113 - },  
114 - // 清楚地图覆盖物  
115 - clearMarkAndOverlays : function() {  
116 - mapValue.clearOverlays();  
117 - mapValue.removeOverlay();  
118 - }  
119 - }  
120 - return Bmap; 1 +/**
  2 + * @description : (TODO) 百度地图
  3 + *
  4 + * @author bsth@lq
  5 + *
  6 + * @version 1.0
  7 + *
  8 + */
  9 +
  10 +var RoadspeedPWorldsBMap = function () {
  11 + // 定义地图对象、地图覆盖物、线性几何图形.
  12 + var mapValue = '',marker='', polyUpline='';
  13 + var Bmap = {
  14 + // 初始化地图.
  15 + init : function() {
  16 + // 设置中心点
  17 + var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
  18 + // 百度API Key
  19 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
  20 + // 初始化百度地图
  21 + mapValue = new BMap.Map('roadspeedPbmap_basic');
  22 + //中心点和缩放级别
  23 + mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);
  24 + //启用地图拖拽事件,默认启用(可不写)
  25 + mapValue.enableDragging();
  26 + //启用地图滚轮放大缩小
  27 + mapValue.enableScrollWheelZoom();
  28 + //禁用鼠标双击放大
  29 + mapValue.disableDoubleClickZoom();
  30 + //启用键盘上下左右键移动地图
  31 + mapValue.enableKeyboard();
  32 + return mapValue;
  33 + },
  34 + // 绘制线路走向线性几何图形.
  35 + drawingUpline : function(r) {
  36 + var bRoadVectorStr = r.bRoadVector;
  37 + var tempStr = bRoadVectorStr.substring(11,bRoadVectorStr.length-1);
  38 + var lineArray = tempStr.split(',');
  39 + var polylineArray = [];
  40 + var lineaLen = lineArray.length
  41 + for(var i = 0;i<lineaLen;i++) {
  42 + polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));
  43 + }
  44 + var centerI = Math.ceil(lineaLen/2);
  45 + // 中心坐标点
  46 + var point = new BMap.Point(lineArray[centerI].split(' ')[0],lineArray[centerI].split(' ')[1]);
  47 + // 创建线路走向
  48 + polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "#5298ff",strokeWeight : 6,strokeOpacity :1,strokeStyle:'solid'});
  49 + // 把折线添加到地图上
  50 + mapValue.addOverlay(polyUpline);
  51 + // 信息窗口参数属性
  52 + var opts = {
  53 + // 信息窗口宽度
  54 + width : 200,
  55 + // 信息窗口高度
  56 + height : 300,
  57 + // 信息窗位置偏移值。
  58 + offset: new BMap.Size(500,-80),
  59 + //标题
  60 + title : '<h4 style="color:#FFFFFF">'+r.name+'详情</h4>',
  61 + //设置不允许信窗发送短息
  62 + enableMessage : false,
  63 + //是否开启点击地图关闭信息窗口
  64 + enableCloseOnClick : false,
  65 + // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)
  66 + enableAutoPan:true
  67 + };
  68 + var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+
  69 + '<span style="color:#DDD;font-size: 15px;">路段名称:' + r.name + '</span>' +
  70 + '<span class="help-block" style="color:#DDD;font-size: 15px;">限速开始时间:' + r.speedStartDate + '</span>' +
  71 + '<span class="help-block" style="color:#DDD;font-size: 15px;">限速结束时间:' + r.speedEndDate + '</span>' +
  72 + '<span class="help-block" style="color:#DDD;font-size: 15px;">限  速:' + r.speed + '</span>';
  73 + // 创建信息窗口
  74 + var infoWindow_target = new BMap.InfoWindow(htm, opts);
  75 + // 自定义标注物图片
  76 + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/blank.gif',new BMap.Size(20, 20));
  77 + // 创建点
  78 + marker = new BMap.Marker(point,{icon : icon_target});
  79 + // 把标注添物加到地图上
  80 + mapValue.addOverlay(marker);
  81 + //开启信息窗口
  82 + marker.openInfoWindow(infoWindow_target,point);
  83 + var PanOptions_ ={noAnimation :true};
  84 + mapValue.reset();
  85 + mapValue.panTo(point,PanOptions_);
  86 + mapValue.panBy(0,-110,PanOptions_);
  87 + mapValue.setZoom(14);
  88 + },
  89 + // 编辑线路走向几何线性图形.
  90 + editPolyUpline : function() {
  91 + // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
  92 + polyUpline.disableMassClear();
  93 + RoadspeedPWorldsBMap.clearMarkAndOverlays();
  94 + // 允许覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
  95 + polyUpline.enableMassClear();
  96 + // 开启线路编辑
  97 + polyUpline.enableEditing();
  98 + // 添加双击折线保存事件
  99 + polyUpline.addEventListener('dblclick',function(e) {
  100 + // 关闭
  101 + layer.closeAll();
  102 + polyUpline.disableEditing();
  103 + // 获取折线坐标集合
  104 + var editPloyLineArray = polyUpline.getPath();
  105 + EditRoadspeedObj.setEitdBroadspeedVector(JSON.stringify(editPloyLineArray));
  106 + polyUpline= '';
  107 + // 加载修改路段弹出层mobal页面
  108 + $.get('editroadspeed.html', function(m){
  109 + $(pjaxContainer).append(m);
  110 + $('#edit_roadspeed_mobal').trigger('editRoadspeedMobal_show', [RoadspeedPWorldsBMap,GetAjaxData,EditRoadspeedObj,PositionsPublicFunctions]);
  111 + });
  112 + });
  113 + },
  114 + // 清楚地图覆盖物
  115 + clearMarkAndOverlays : function() {
  116 + mapValue.clearOverlays();
  117 + mapValue.removeOverlay();
  118 + }
  119 + }
  120 + return Bmap;
121 }(); 121 }();
122 \ No newline at end of file 122 \ No newline at end of file
src/main/resources/static/pages/base/section/js/add-vmap-world.js
@@ -3,7 +3,7 @@ var SectionVmapWorlds = function() { @@ -3,7 +3,7 @@ var SectionVmapWorlds = function() {
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 : 121.528733,lat : 31.237425};// 设置中心点.
6 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';// 百度API Key 6 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';// 百度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);//中心点和缩放级别
9 mapB.enableDragging(); //启用地图拖拽事件,默认启用(可不写) 9 mapB.enableDragging(); //启用地图拖拽事件,默认启用(可不写)
src/main/resources/static/pages/base/section/js/section-positions-map.js
1 -/**  
2 - * @description : (TODO) 百度地图  
3 - *  
4 - * @author bsth@lq  
5 - *  
6 - * @version 1.0  
7 - *  
8 - */  
9 -  
10 -var SectionPWorldsBMap = function () {  
11 - // 定义地图对象、地图覆盖物、线性几何图形.  
12 - var mapValue = '',marker='', polyUpline='';  
13 - var Bmap = {  
14 - // 初始化地图.  
15 - init : function() {  
16 - // 设置中心点  
17 - var CENTER_POINT = {lng : 121.528733,lat : 31.237425};  
18 - // 百度API Key  
19 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';  
20 - // 初始化百度地图  
21 - mapValue = new BMap.Map('sectionPbmap_basic');  
22 - //中心点和缩放级别  
23 - mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);  
24 - //启用地图拖拽事件,默认启用(可不写)  
25 - mapValue.enableDragging();  
26 - //启用地图滚轮放大缩小  
27 - mapValue.enableScrollWheelZoom();  
28 - //禁用鼠标双击放大  
29 - mapValue.disableDoubleClickZoom();  
30 - //启用键盘上下左右键移动地图  
31 - mapValue.enableKeyboard();  
32 - return mapValue;  
33 - },  
34 - // 绘制线路走向线性几何图形.  
35 - drawingUpline : function(r) {  
36 - var sectionBsectionVectorStr = r[0].sectionBsectionVector;  
37 - var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1);  
38 - var lineArray = tempStr.split(',');  
39 - var polylineArray = [];  
40 - var lineaLen = lineArray.length  
41 - for(var i = 0;i<lineaLen;i++) {  
42 - polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));  
43 - }  
44 - var centerI = Math.ceil(lineaLen/2);  
45 - // 中心坐标点  
46 - var point = new BMap.Point(lineArray[centerI].split(' ')[0],lineArray[centerI].split(' ')[1]);  
47 - // 创建线路走向  
48 - polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "#5298ff",strokeWeight : 6,strokeOpacity :1,strokeStyle:'solid'});  
49 - // 把折线添加到地图上  
50 - mapValue.addOverlay(polyUpline);  
51 - // 信息窗口参数属性  
52 - var opts = {  
53 - // 信息窗口宽度  
54 - width : 200,  
55 - // 信息窗口高度  
56 - height : 450,  
57 - // 信息窗位置偏移值。  
58 - offset: new BMap.Size(500,-80),  
59 - //标题  
60 - title : '<h4 style="color:#FFFFFF">'+r[0].sectionName+'站详情</h4>',  
61 - //设置不允许信窗发送短息  
62 - enableMessage : false,  
63 - //是否开启点击地图关闭信息窗口  
64 - enableCloseOnClick : false,  
65 - // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)  
66 - enableAutoPan:true  
67 - };  
68 - var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+  
69 - '<span style="color:#DDD;font-size: 15px;">路段名称:' + r[0].sectionName + '</span>' +  
70 - '<span class="help-block" style="color:#DDD;font-size: 15px;">路段编码:' + r[0].sectionCode + '</span>' +  
71 - '<span class="help-block" style="color:#DDD;font-size: 15px;">路段序号:' + r[0].sectionRouteCode + '</span>' +  
72 - '<span class="help-block" style="color:#DDD;font-size: 15px;">限  速:' + r[0].sectionSpeedLimit + '</span>' +  
73 - '<span class="help-block" style="color:#DDD;font-size: 15px;">路段长度:' + r[0].sectionDistance + '</span>' +  
74 - '<span class="help-block" style="color:#DDD;font-size: 15px;">路段时间:' + r[0].sectionTime + '</span>' +  
75 - '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ 'ddd' +'" >说明/描述:' + 'ddd' + '</span>' ;  
76 - // 创建信息窗口  
77 - var infoWindow_target = new BMap.InfoWindow(htm, opts);  
78 - // 自定义标注物图片  
79 - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/blank.gif',new BMap.Size(20, 20));  
80 - // 创建点  
81 - marker = new BMap.Marker(point,{icon : icon_target});  
82 - // 把标注添物加到地图上  
83 - mapValue.addOverlay(marker);  
84 - //开启信息窗口  
85 - marker.openInfoWindow(infoWindow_target,point);  
86 - var PanOptions_ ={noAnimation :true};  
87 - mapValue.reset();  
88 - mapValue.panTo(point,PanOptions_);  
89 - mapValue.panBy(0,-110,PanOptions_);  
90 - mapValue.setZoom(14);  
91 - },  
92 - // 编辑线路走向几何线性图形.  
93 - editPolyUpline : function() {  
94 - // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)  
95 - polyUpline.disableMassClear();  
96 - SectionPWorldsBMap.clearMarkAndOverlays();  
97 - // 允许覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)  
98 - polyUpline.enableMassClear();  
99 - // 开启线路编辑  
100 - polyUpline.enableEditing();  
101 - // 添加双击折线保存事件  
102 - polyUpline.addEventListener('dblclick',function(e) {  
103 - // 关闭  
104 - layer.closeAll();  
105 - polyUpline.disableEditing();  
106 - // 获取折线坐标集合  
107 - var editPloyLineArray = polyUpline.getPath();  
108 - EditSectionObj.setEitdBsectionVector(JSON.stringify(editPloyLineArray));  
109 - polyUpline= '';  
110 - // 加载修改路段弹出层mobal页面  
111 - $.get('editsection.html', function(m){  
112 - $(pjaxContainer).append(m);  
113 - $('#edit_section_mobal').trigger('editSectionMobal_show', [SectionPWorldsBMap,GetAjaxData,EditSectionObj,PositionsPublicFunctions]);  
114 - });  
115 - });  
116 - },  
117 - // 清楚地图覆盖物  
118 - clearMarkAndOverlays : function() {  
119 - mapValue.clearOverlays();  
120 - mapValue.removeOverlay();  
121 - }  
122 - }  
123 - return Bmap; 1 +/**
  2 + * @description : (TODO) 百度地图
  3 + *
  4 + * @author bsth@lq
  5 + *
  6 + * @version 1.0
  7 + *
  8 + */
  9 +
  10 +var SectionPWorldsBMap = function () {
  11 + // 定义地图对象、地图覆盖物、线性几何图形.
  12 + var mapValue = '',marker='', polyUpline='';
  13 + var Bmap = {
  14 + // 初始化地图.
  15 + init : function() {
  16 + // 设置中心点
  17 + var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
  18 + // 百度API Key
  19 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
  20 + // 初始化百度地图
  21 + mapValue = new BMap.Map('sectionPbmap_basic');
  22 + //中心点和缩放级别
  23 + mapValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);
  24 + //启用地图拖拽事件,默认启用(可不写)
  25 + mapValue.enableDragging();
  26 + //启用地图滚轮放大缩小
  27 + mapValue.enableScrollWheelZoom();
  28 + //禁用鼠标双击放大
  29 + mapValue.disableDoubleClickZoom();
  30 + //启用键盘上下左右键移动地图
  31 + mapValue.enableKeyboard();
  32 + return mapValue;
  33 + },
  34 + // 绘制线路走向线性几何图形.
  35 + drawingUpline : function(r) {
  36 + var sectionBsectionVectorStr = r[0].sectionBsectionVector;
  37 + var tempStr = sectionBsectionVectorStr.substring(11,sectionBsectionVectorStr.length-1);
  38 + var lineArray = tempStr.split(',');
  39 + var polylineArray = [];
  40 + var lineaLen = lineArray.length
  41 + for(var i = 0;i<lineaLen;i++) {
  42 + polylineArray.push(new BMap.Point(lineArray[i].split(' ')[0],lineArray[i].split(' ')[1]));
  43 + }
  44 + var centerI = Math.ceil(lineaLen/2);
  45 + // 中心坐标点
  46 + var point = new BMap.Point(lineArray[centerI].split(' ')[0],lineArray[centerI].split(' ')[1]);
  47 + // 创建线路走向
  48 + polyUpline = new BMap.Polyline(polylineArray, {strokeColor : "#5298ff",strokeWeight : 6,strokeOpacity :1,strokeStyle:'solid'});
  49 + // 把折线添加到地图上
  50 + mapValue.addOverlay(polyUpline);
  51 + // 信息窗口参数属性
  52 + var opts = {
  53 + // 信息窗口宽度
  54 + width : 200,
  55 + // 信息窗口高度
  56 + height : 450,
  57 + // 信息窗位置偏移值。
  58 + offset: new BMap.Size(500,-80),
  59 + //标题
  60 + title : '<h4 style="color:#FFFFFF">'+r[0].sectionName+'站详情</h4>',
  61 + //设置不允许信窗发送短息
  62 + enableMessage : false,
  63 + //是否开启点击地图关闭信息窗口
  64 + enableCloseOnClick : false,
  65 + // 是否开启信息窗口打开时地图自动移动(默认开启)。(自 1.1 新增)
  66 + enableAutoPan:true
  67 + };
  68 + var htm = '<HR style="border:1 dashed #987cb9" width="100%" color=#987cb9 SIZE=1>'+
  69 + '<span style="color:#DDD;font-size: 15px;">路段名称:' + r[0].sectionName + '</span>' +
  70 + '<span class="help-block" style="color:#DDD;font-size: 15px;">路段编码:' + r[0].sectionCode + '</span>' +
  71 + '<span class="help-block" style="color:#DDD;font-size: 15px;">路段序号:' + r[0].sectionRouteCode + '</span>' +
  72 + '<span class="help-block" style="color:#DDD;font-size: 15px;">限  速:' + r[0].sectionSpeedLimit + '</span>' +
  73 + '<span class="help-block" style="color:#DDD;font-size: 15px;">路段长度:' + r[0].sectionDistance + '</span>' +
  74 + '<span class="help-block" style="color:#DDD;font-size: 15px;">路段时间:' + r[0].sectionTime + '</span>' +
  75 + '<span class="help-block" style="width: 100%;font-size: 15px;;color:#DDD; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; " title="'+ 'ddd' +'" >说明/描述:' + 'ddd' + '</span>' ;
  76 + // 创建信息窗口
  77 + var infoWindow_target = new BMap.InfoWindow(htm, opts);
  78 + // 自定义标注物图片
  79 + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/blank.gif',new BMap.Size(20, 20));
  80 + // 创建点
  81 + marker = new BMap.Marker(point,{icon : icon_target});
  82 + // 把标注添物加到地图上
  83 + mapValue.addOverlay(marker);
  84 + //开启信息窗口
  85 + marker.openInfoWindow(infoWindow_target,point);
  86 + var PanOptions_ ={noAnimation :true};
  87 + mapValue.reset();
  88 + mapValue.panTo(point,PanOptions_);
  89 + mapValue.panBy(0,-110,PanOptions_);
  90 + mapValue.setZoom(14);
  91 + },
  92 + // 编辑线路走向几何线性图形.
  93 + editPolyUpline : function() {
  94 + // 禁止覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
  95 + polyUpline.disableMassClear();
  96 + SectionPWorldsBMap.clearMarkAndOverlays();
  97 + // 允许覆盖物在map.clearOverlays方法中被清除。(自 1.1 新增)
  98 + polyUpline.enableMassClear();
  99 + // 开启线路编辑
  100 + polyUpline.enableEditing();
  101 + // 添加双击折线保存事件
  102 + polyUpline.addEventListener('dblclick',function(e) {
  103 + // 关闭
  104 + layer.closeAll();
  105 + polyUpline.disableEditing();
  106 + // 获取折线坐标集合
  107 + var editPloyLineArray = polyUpline.getPath();
  108 + EditSectionObj.setEitdBsectionVector(JSON.stringify(editPloyLineArray));
  109 + polyUpline= '';
  110 + // 加载修改路段弹出层mobal页面
  111 + $.get('editsection.html', function(m){
  112 + $(pjaxContainer).append(m);
  113 + $('#edit_section_mobal').trigger('editSectionMobal_show', [SectionPWorldsBMap,GetAjaxData,EditSectionObj,PositionsPublicFunctions]);
  114 + });
  115 + });
  116 + },
  117 + // 清楚地图覆盖物
  118 + clearMarkAndOverlays : function() {
  119 + mapValue.clearOverlays();
  120 + mapValue.removeOverlay();
  121 + }
  122 + }
  123 + return Bmap;
124 }(); 124 }();
125 \ No newline at end of file 125 \ No newline at end of file
src/main/resources/static/pages/base/sectionspeed/js/map.js
1 -/**  
2 - * @description TODO(路段限速地图JS模块)  
3 - *  
4 - * @author bsth@lq  
5 - *  
6 - * @date 二〇一六年十月二十一日 15:34:33  
7 - *  
8 - */  
9 -  
10 -var SectionSpeedVmapWorlds = function() {  
11 -  
12 - /** 路段限速地图JS模块下的全局变量 <mapB:地图对象;drawingManager:鼠标绘制对象;polyUpline:线路走向对象;bitsPolyline:路段对象> */  
13 - var mapB = '', drawingManager = '',polyUpline = '',bitsPolyline='';  
14 -  
15 - var overlays = [];  
16 -  
17 - /** 路段限速地图JS模块下的全局变量---鼠标绘制参数  
18 - * <strokeColor:边线颜色;  
19 - * fillColor:填充颜色。当参数为空时,圆形将没有填充效果;  
20 - * strokeWeight: 边线的宽度,以像素为单位  
21 - * strokeOpacity:边线透明度,取值范围0 - 1;  
22 - * fillOpacity:填充的透明度,取值范围0 - 1;  
23 - * strokeStyle:边线的样式,solid或dashed> */  
24 - var styleOptions = {strokeColor : "red", fillColor : "red", strokeWeight : 3,strokeOpacity : 0.8,fillOpacity : 0.6, strokeStyle : 'solid'};  
25 -  
26 - /** 鼠标工具参数  
27 - * <anchor:位置;  
28 - * offset:偏离值;  
29 - * scale:工具栏缩放比例;  
30 - * drawingModes:工具模型> */  
31 - var drawingToolOptions = {anchor : BMAP_ANCHOR_TOP_LEFT, offset : new BMap.Size(80, 5),scale : 0.8,drawingModes:[BMAP_DRAWING_POLYLINE]};  
32 -  
33 - /** 路段限速地图JS模块下的全局变量---鼠标监听时间参数  
34 - * <isOpen:是否开启绘制模式;  
35 - * enableDrawingTool:是否显示工具栏;  
36 - * drawingToolOptions:鼠标工具参数;  
37 - * polylineOptions:线的样式> */  
38 - var drawingManagerOptions = {isOpen : false,enableDrawingTool : false,drawingToolOptions : drawingToolOptions,polylineOptions : styleOptions,}  
39 -  
40 - /** 鼠标监听事件 */  
41 - function addDrawingManagerEvent(e,overlay) {}  
42 -  
43 - /** 地图绘制地图走向参数 */  
44 - var polylineOptions = {strokeColor : "blue",strokeWeight : 6,strokeOpacity : 0.5};  
45 -  
46 - /** 自定义标注物图片 */  
47 - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/gjzd.png',new BMap.Size(10, 10));  
48 -  
49 - /** 创建标注物参数 */  
50 - var RichMarkerOptions = {"anchor" : new BMap.Size(-10,8), "enableDragging" : true};  
51 -  
52 - var Bmap = {  
53 -  
54 - /** 初始化地图 */  
55 - init : function() {  
56 -  
57 - /** 设置中心点 */  
58 - var CENTER_POINT = {lng : 121.528733,lat : 31.237425};  
59 -  
60 - /** 百度API Key */  
61 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';  
62 -  
63 - /** 初始化百度地图 */  
64 - mapB = new BMap.Map("mapContainer",{enableMapClick:false});  
65 -  
66 - /** 中心点和缩放级别 */  
67 - mapB.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);  
68 -  
69 - /** 启用地图拖拽事件,默认启用(可不写) */  
70 - mapB.enableDragging();  
71 -  
72 - /** 启用地图滚轮放大缩小 */  
73 - mapB.enableScrollWheelZoom();  
74 -  
75 - /** 禁用鼠标双击放大 */  
76 - mapB.disableDoubleClickZoom();  
77 -  
78 - /** 启用键盘上下左右键移动地图 */  
79 - mapB.enableKeyboard();  
80 -  
81 - /** 创建鼠标绘制管理类 */  
82 - // drawingManager = new BMapLib.DrawingManager(mapB, drawingManagerOptions);  
83 -  
84 - /** 添加绘画完成事件 */  
85 - // drawingManager.addEventListener('polylinecomplete', addDrawingManagerEvent);  
86 -  
87 - return mapB;  
88 - },  
89 -  
90 - /** 关闭信息窗口 */  
91 - closeMapInfoWin:function() {  
92 -  
93 - mapB.closeInfoWindow();  
94 -  
95 - },  
96 -  
97 - /** 在地图上画出线路走向 */  
98 - drawingUpline : function (polylineArray,resultdata) {  
99 -  
100 - /** 创建线路走向 */  
101 - polyUpline = new BMap.Polyline(polylineArray,polylineOptions);  
102 -  
103 - /** 把折线添加到地图上 */  
104 - mapB.addOverlay(polyUpline);  
105 -  
106 - var ceter_index = Math.round(resultdata.length / 2);  
107 -  
108 - var ceterPointsStr = resultdata[ceter_index].bJwpoints;  
109 -  
110 - var ceterPointsArray = ceterPointsStr.split(' ');  
111 -  
112 - var polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]);  
113 -  
114 - var PanOptions_ ={noAnimation :true};  
115 -  
116 - mapB.reset();  
117 -  
118 - mapB.panTo(polyline_center,PanOptions_);  
119 -  
120 - mapB.setZoom(14);  
121 -  
122 - },  
123 -  
124 - /** 在地图上画出路段 */  
125 - drawingSecitons : function(polylineArray) {  
126 -  
127 - /** 创建路段 */  
128 - bitsPolyline = new BMap.Polyline(polylineArray, {strokeColor : "red",strokeWeight : 6,strokeOpacity : 0.5});  
129 -  
130 - /** 把路段添加到地图上 */  
131 - mapB.addOverlay(bitsPolyline);  
132 - },  
133 -  
134 -  
135 - /** 在地图上画点 @param:<point_center:中心坐标点> */  
136 - drawingUpStationPoint : function(point_center,stationName,s) {  
137 -  
138 - var html2 = '<div style="position: absolute; margin: 0pt; padding: 0pt; width: 160px; height: 26px; left: -10px; top: -35px; overflow: hidden;">'  
139 - + '<img class="rm3_image" style="border:none;left:0px; top:0px; position:absolute;" src="/pages/base/stationroute/css/img/back160.png">'  
140 - + '</div>'  
141 - + '<label class=" BMapLabel" unselectable="on" style="position: absolute; -moz-user-select: none; display: inline; cursor: inherit; border: 0px none; padding: 2px 1px 1px; white-space: nowrap; font: 12px arial,simsun; z-index: 80; color: rgb(255, 102, 0); left: 15px; top: -35px;"><span style="float: left; color: #fdfdfd; margin-left: -22px; font-size: 6px;">'+ s+'</span>'+ stationName+'</label>';  
142 -  
143 -  
144 - var myRichMarker1 = new BMapLib.RichMarker(html2, point_center,RichMarkerOptions);  
145 -  
146 - myRichMarker1.disableDragging();  
147 -  
148 - mapB.addOverlay(myRichMarker1);  
149 -  
150 - /** 创建标注物 */  
151 - marker = new BMap.Marker(point_center,{icon : icon_target});  
152 -  
153 - /** 允许覆盖物在map.clearOverlays方法中被清除。 */  
154 - marker.enableMassClear();  
155 -  
156 - /** 添加 */  
157 - mapB.addOverlay(marker);  
158 - },  
159 -  
160 - /** 清除地图覆盖物 */  
161 - clearMarkAndOverlays : function() {  
162 -  
163 - // 清楚地图覆盖物  
164 - mapB.clearOverlays();  
165 -  
166 - mapB.removeOverlay();  
167 -  
168 - }  
169 -  
170 - }  
171 -  
172 - return Bmap;  
173 - 1 +/**
  2 + * @description TODO(路段限速地图JS模块)
  3 + *
  4 + * @author bsth@lq
  5 + *
  6 + * @date 二〇一六年十月二十一日 15:34:33
  7 + *
  8 + */
  9 +
  10 +var SectionSpeedVmapWorlds = function() {
  11 +
  12 + /** 路段限速地图JS模块下的全局变量 <mapB:地图对象;drawingManager:鼠标绘制对象;polyUpline:线路走向对象;bitsPolyline:路段对象> */
  13 + var mapB = '', drawingManager = '',polyUpline = '',bitsPolyline='';
  14 +
  15 + var overlays = [];
  16 +
  17 + /** 路段限速地图JS模块下的全局变量---鼠标绘制参数
  18 + * <strokeColor:边线颜色;
  19 + * fillColor:填充颜色。当参数为空时,圆形将没有填充效果;
  20 + * strokeWeight: 边线的宽度,以像素为单位
  21 + * strokeOpacity:边线透明度,取值范围0 - 1;
  22 + * fillOpacity:填充的透明度,取值范围0 - 1;
  23 + * strokeStyle:边线的样式,solid或dashed> */
  24 + var styleOptions = {strokeColor : "red", fillColor : "red", strokeWeight : 3,strokeOpacity : 0.8,fillOpacity : 0.6, strokeStyle : 'solid'};
  25 +
  26 + /** 鼠标工具参数
  27 + * <anchor:位置;
  28 + * offset:偏离值;
  29 + * scale:工具栏缩放比例;
  30 + * drawingModes:工具模型> */
  31 + var drawingToolOptions = {anchor : BMAP_ANCHOR_TOP_LEFT, offset : new BMap.Size(80, 5),scale : 0.8,drawingModes:[BMAP_DRAWING_POLYLINE]};
  32 +
  33 + /** 路段限速地图JS模块下的全局变量---鼠标监听时间参数
  34 + * <isOpen:是否开启绘制模式;
  35 + * enableDrawingTool:是否显示工具栏;
  36 + * drawingToolOptions:鼠标工具参数;
  37 + * polylineOptions:线的样式> */
  38 + var drawingManagerOptions = {isOpen : false,enableDrawingTool : false,drawingToolOptions : drawingToolOptions,polylineOptions : styleOptions,}
  39 +
  40 + /** 鼠标监听事件 */
  41 + function addDrawingManagerEvent(e,overlay) {}
  42 +
  43 + /** 地图绘制地图走向参数 */
  44 + var polylineOptions = {strokeColor : "blue",strokeWeight : 6,strokeOpacity : 0.5};
  45 +
  46 + /** 自定义标注物图片 */
  47 + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/gjzd.png',new BMap.Size(10, 10));
  48 +
  49 + /** 创建标注物参数 */
  50 + var RichMarkerOptions = {"anchor" : new BMap.Size(-10,8), "enableDragging" : true};
  51 +
  52 + var Bmap = {
  53 +
  54 + /** 初始化地图 */
  55 + init : function() {
  56 +
  57 + /** 设置中心点 */
  58 + var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
  59 +
  60 + /** 百度API Key */
  61 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
  62 +
  63 + /** 初始化百度地图 */
  64 + mapB = new BMap.Map("mapContainer",{enableMapClick:false});
  65 +
  66 + /** 中心点和缩放级别 */
  67 + mapB.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);
  68 +
  69 + /** 启用地图拖拽事件,默认启用(可不写) */
  70 + mapB.enableDragging();
  71 +
  72 + /** 启用地图滚轮放大缩小 */
  73 + mapB.enableScrollWheelZoom();
  74 +
  75 + /** 禁用鼠标双击放大 */
  76 + mapB.disableDoubleClickZoom();
  77 +
  78 + /** 启用键盘上下左右键移动地图 */
  79 + mapB.enableKeyboard();
  80 +
  81 + /** 创建鼠标绘制管理类 */
  82 + // drawingManager = new BMapLib.DrawingManager(mapB, drawingManagerOptions);
  83 +
  84 + /** 添加绘画完成事件 */
  85 + // drawingManager.addEventListener('polylinecomplete', addDrawingManagerEvent);
  86 +
  87 + return mapB;
  88 + },
  89 +
  90 + /** 关闭信息窗口 */
  91 + closeMapInfoWin:function() {
  92 +
  93 + mapB.closeInfoWindow();
  94 +
  95 + },
  96 +
  97 + /** 在地图上画出线路走向 */
  98 + drawingUpline : function (polylineArray,resultdata) {
  99 +
  100 + /** 创建线路走向 */
  101 + polyUpline = new BMap.Polyline(polylineArray,polylineOptions);
  102 +
  103 + /** 把折线添加到地图上 */
  104 + mapB.addOverlay(polyUpline);
  105 +
  106 + var ceter_index = Math.round(resultdata.length / 2);
  107 +
  108 + var ceterPointsStr = resultdata[ceter_index].bJwpoints;
  109 +
  110 + var ceterPointsArray = ceterPointsStr.split(' ');
  111 +
  112 + var polyline_center = new BMap.Point(ceterPointsArray[0],ceterPointsArray[1]);
  113 +
  114 + var PanOptions_ ={noAnimation :true};
  115 +
  116 + mapB.reset();
  117 +
  118 + mapB.panTo(polyline_center,PanOptions_);
  119 +
  120 + mapB.setZoom(14);
  121 +
  122 + },
  123 +
  124 + /** 在地图上画出路段 */
  125 + drawingSecitons : function(polylineArray) {
  126 +
  127 + /** 创建路段 */
  128 + bitsPolyline = new BMap.Polyline(polylineArray, {strokeColor : "red",strokeWeight : 6,strokeOpacity : 0.5});
  129 +
  130 + /** 把路段添加到地图上 */
  131 + mapB.addOverlay(bitsPolyline);
  132 + },
  133 +
  134 +
  135 + /** 在地图上画点 @param:<point_center:中心坐标点> */
  136 + drawingUpStationPoint : function(point_center,stationName,s) {
  137 +
  138 + var html2 = '<div style="position: absolute; margin: 0pt; padding: 0pt; width: 160px; height: 26px; left: -10px; top: -35px; overflow: hidden;">'
  139 + + '<img class="rm3_image" style="border:none;left:0px; top:0px; position:absolute;" src="/pages/base/stationroute/css/img/back160.png">'
  140 + + '</div>'
  141 + + '<label class=" BMapLabel" unselectable="on" style="position: absolute; -moz-user-select: none; display: inline; cursor: inherit; border: 0px none; padding: 2px 1px 1px; white-space: nowrap; font: 12px arial,simsun; z-index: 80; color: rgb(255, 102, 0); left: 15px; top: -35px;"><span style="float: left; color: #fdfdfd; margin-left: -22px; font-size: 6px;">'+ s+'</span>'+ stationName+'</label>';
  142 +
  143 +
  144 + var myRichMarker1 = new BMapLib.RichMarker(html2, point_center,RichMarkerOptions);
  145 +
  146 + myRichMarker1.disableDragging();
  147 +
  148 + mapB.addOverlay(myRichMarker1);
  149 +
  150 + /** 创建标注物 */
  151 + marker = new BMap.Marker(point_center,{icon : icon_target});
  152 +
  153 + /** 允许覆盖物在map.clearOverlays方法中被清除。 */
  154 + marker.enableMassClear();
  155 +
  156 + /** 添加 */
  157 + mapB.addOverlay(marker);
  158 + },
  159 +
  160 + /** 清除地图覆盖物 */
  161 + clearMarkAndOverlays : function() {
  162 +
  163 + // 清楚地图覆盖物
  164 + mapB.clearOverlays();
  165 +
  166 + mapB.removeOverlay();
  167 +
  168 + }
  169 +
  170 + }
  171 +
  172 + return Bmap;
  173 +
174 }(); 174 }();
175 \ No newline at end of file 175 \ No newline at end of file
src/main/resources/static/pages/base/station/js/add-vmap-world.js
1 -var StationPVmapWorlds = 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("stationbmap_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 -  
54 - // 添加绘画完成事件  
55 - drawingManager.addEventListener('polygoncomplete', function(e) {  
56 - if (e.getPath().length <= 2) {  
57 - // 弹出提示消息  
58 - layer.msg('坐标点不能小于等于两个...');  
59 - // 清除地图覆盖物  
60 - map.clearOverlays();  
61 - // 加载该线路下所有站点位置添加到地图上  
62 - return false;  
63 - }else {  
64 - var pointE = e;  
65 - // 多变行质心点  
66 - var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat;  
67 - var addPolyGonLen_ = pointE.getPath().length;  
68 - var bPloygonGrid ='';  
69 - for(var k =0;k<addPolyGonLen_;k++) {  
70 - if(k==0) {  
71 - bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;  
72 - }else {  
73 - bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;  
74 - }  
75 - }  
76 - bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat;  
77 - PublicFunctions.setFormInputValue(addSttationPoints_,bPloygonGrid,'多边形','');  
78 - }  
79 - });  
80 - return mapB;  
81 - },  
82 -  
83 - // 根据地理名称获取百度经纬度坐标  
84 - localSearchFromAdreesToPoint: function(Address,cb) {  
85 - // 创建一个搜索类实例  
86 - var localSearch = new BMap.LocalSearch(mapB);  
87 - // 检索完成后的回调函数。  
88 - localSearch.setSearchCompleteCallback(function (searchResult) {  
89 - var resultPoints = '';  
90 - if(searchResult) {  
91 - // 返回索引指定的结果。索引0表示第1条结果  
92 - var poi = searchResult.getPoi(0);  
93 - if(poi) {  
94 - //获取经度和纬度  
95 - var stationNameChangePoint = new BMap.Point( poi.point.lng, poi.point.lat);  
96 - marker = new BMap.Marker(stationNameChangePoint);  
97 - var PanOptions ={noAnimation :true};  
98 - mapB.panTo(stationNameChangePoint,PanOptions);  
99 - // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)  
100 - mapB.setZoom(18);  
101 - mapB.panBy(0,-80);  
102 - // 将标注添加到地图中  
103 - mapB.addOverlay(marker);  
104 - //跳动的动画  
105 - marker.setAnimation(BMAP_ANIMATION_BOUNCE);  
106 - cb && cb(stationNameChangePoint);  
107 - }else {  
108 - // 弹出添加成功提示消息  
109 - layer.msg('无法获取停车场【'+Address+'】地理位置!');  
110 - cb && cb(false);  
111 - }  
112 - }else {  
113 - // 弹出添加成功提示消息  
114 - layer.msg('无法获取停车场【'+Address+'】地理位置!');  
115 - cb && cb(false);  
116 - }  
117 - });  
118 - // 根据检索词发起检索。  
119 - localSearch.search(Address);  
120 - },  
121 - // 画圆  
122 - pointsCircle : function(stationNameChangePoint) {  
123 - //创建圆  
124 - circle = new BMap.Circle(stationNameChangePoint,100,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});  
125 - // 百度地图添加覆盖物圆  
126 - mapB.addOverlay(circle);  
127 - // 开启编辑功能  
128 - circle.enableEditing();  
129 - // 编辑圆监听事件  
130 - circle.addEventListener('remove',function() {  
131 - // 清除marker  
132 - mapB.removeOverlay(marker);  
133 - // 返回圆形的半径,单位为米。  
134 - var newRadius = circle.getRadius();  
135 - // 返回圆形的中心点坐标。  
136 - var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;  
137 - var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];  
138 - circle = '';  
139 - PublicFunctions.setFormInputValue(newCenter,'','圆形',Math.round(newRadius));  
140 - });  
141 - },  
142 - // 打开绘画工具  
143 - drawingManagerOpen : function() {  
144 - // 打开鼠标绘画工具  
145 - drawingManager.open();  
146 - // 设置属性  
147 - drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);  
148 - },  
149 - drawingManagerClose : function() {  
150 - drawingManager.close();  
151 - },  
152 - clearMarkAndOverlays : function() {  
153 - // 清楚地图覆盖物  
154 - mapB.clearOverlays();  
155 - }  
156 - }  
157 - return Bmap; 1 +var StationPVmapWorlds = 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 = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
  9 + // 初始化百度地图
  10 + mapB = new BMap.Map("stationbmap_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 +
  54 + // 添加绘画完成事件
  55 + drawingManager.addEventListener('polygoncomplete', function(e) {
  56 + if (e.getPath().length <= 2) {
  57 + // 弹出提示消息
  58 + layer.msg('坐标点不能小于等于两个...');
  59 + // 清除地图覆盖物
  60 + map.clearOverlays();
  61 + // 加载该线路下所有站点位置添加到地图上
  62 + return false;
  63 + }else {
  64 + var pointE = e;
  65 + // 多变行质心点
  66 + var addSttationPoints_ = pointE.getBounds().getCenter().lng+ ' ' + pointE.getBounds().getCenter().lat;
  67 + var addPolyGonLen_ = pointE.getPath().length;
  68 + var bPloygonGrid ='';
  69 + for(var k =0;k<addPolyGonLen_;k++) {
  70 + if(k==0) {
  71 + bPloygonGrid = pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;
  72 + }else {
  73 + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[k].lng + ' ' + pointE.getPath()[k].lat;
  74 + }
  75 + }
  76 + bPloygonGrid = bPloygonGrid + ',' + pointE.getPath()[0].lng + ' ' + pointE.getPath()[0].lat;
  77 + PublicFunctions.setFormInputValue(addSttationPoints_,bPloygonGrid,'多边形','');
  78 + }
  79 + });
  80 + return mapB;
  81 + },
  82 +
  83 + // 根据地理名称获取百度经纬度坐标
  84 + localSearchFromAdreesToPoint: function(Address,cb) {
  85 + // 创建一个搜索类实例
  86 + var localSearch = new BMap.LocalSearch(mapB);
  87 + // 检索完成后的回调函数。
  88 + localSearch.setSearchCompleteCallback(function (searchResult) {
  89 + var resultPoints = '';
  90 + if(searchResult) {
  91 + // 返回索引指定的结果。索引0表示第1条结果
  92 + var poi = searchResult.getPoi(0);
  93 + if(poi) {
  94 + //获取经度和纬度
  95 + var stationNameChangePoint = new BMap.Point( poi.point.lng, poi.point.lat);
  96 + marker = new BMap.Marker(stationNameChangePoint);
  97 + var PanOptions ={noAnimation :true};
  98 + mapB.panTo(stationNameChangePoint,PanOptions);
  99 + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
  100 + mapB.setZoom(18);
  101 + mapB.panBy(0,-80);
  102 + // 将标注添加到地图中
  103 + mapB.addOverlay(marker);
  104 + //跳动的动画
  105 + marker.setAnimation(BMAP_ANIMATION_BOUNCE);
  106 + cb && cb(stationNameChangePoint);
  107 + }else {
  108 + // 弹出添加成功提示消息
  109 + layer.msg('无法获取停车场【'+Address+'】地理位置!');
  110 + cb && cb(false);
  111 + }
  112 + }else {
  113 + // 弹出添加成功提示消息
  114 + layer.msg('无法获取停车场【'+Address+'】地理位置!');
  115 + cb && cb(false);
  116 + }
  117 + });
  118 + // 根据检索词发起检索。
  119 + localSearch.search(Address);
  120 + },
  121 + // 画圆
  122 + pointsCircle : function(stationNameChangePoint) {
  123 + //创建圆
  124 + circle = new BMap.Circle(stationNameChangePoint,100,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
  125 + // 百度地图添加覆盖物圆
  126 + mapB.addOverlay(circle);
  127 + // 开启编辑功能
  128 + circle.enableEditing();
  129 + // 编辑圆监听事件
  130 + circle.addEventListener('remove',function() {
  131 + // 清除marker
  132 + mapB.removeOverlay(marker);
  133 + // 返回圆形的半径,单位为米。
  134 + var newRadius = circle.getRadius();
  135 + // 返回圆形的中心点坐标。
  136 + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;
  137 + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];
  138 + circle = '';
  139 + PublicFunctions.setFormInputValue(newCenter,'','圆形',Math.round(newRadius));
  140 + });
  141 + },
  142 + // 打开绘画工具
  143 + drawingManagerOpen : function() {
  144 + // 打开鼠标绘画工具
  145 + drawingManager.open();
  146 + // 设置属性
  147 + drawingManager.setDrawingMode(BMAP_DRAWING_POLYGON);
  148 + },
  149 + drawingManagerClose : function() {
  150 + drawingManager.close();
  151 + },
  152 + clearMarkAndOverlays : function() {
  153 + // 清楚地图覆盖物
  154 + mapB.clearOverlays();
  155 + }
  156 + }
  157 + return Bmap;
158 }(); 158 }();
159 \ No newline at end of file 159 \ No newline at end of file
src/main/resources/static/pages/base/station/js/station-positions-map.js
1 -/**  
2 - * 百度地图  
3 - *  
4 - */  
5 -  
6 -var StationPositionsWorldsBMap = function () {  
7 - var mapBValue = '',marker='',polygon='';  
8 - var Bmap = {  
9 - init : function() {  
10 - // 关闭左侧栏  
11 - if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}  
12 - // 设置中心点,  
13 - var CENTER_POINT = {lng : 121.528733,lat : 31.237425};  
14 - // 百度API Key  
15 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT';  
16 - // 初始化百度地图  
17 - mapBValue = new BMap.Map("positionBmap_basic");  
18 - //中心点和缩放级别  
19 - mapBValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);  
20 - //启用地图拖拽事件,默认启用(可不写)  
21 - mapBValue.enableDragging();  
22 - //启用地图滚轮放大缩小  
23 - mapBValue.enableScrollWheelZoom();  
24 - //禁用鼠标双击放大  
25 - mapBValue.disableDoubleClickZoom();  
26 - //启用键盘上下左右键移动地图  
27 - mapBValue.enableKeyboard();  
28 - return mapBValue;  
29 - },  
30 - // 获取百度地图map值  
31 - getMapBValue : function(){  
32 - return mapBValue;  
33 - },  
34 - pointsCircle : function(r,point,htm,opts) {  
35 - // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)  
36 - mapBValue.setZoom(17);  
37 - //创建圆  
38 - circle = new BMap.Circle(point,r[0].stationRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});  
39 - // 允许覆盖物在map.clearOverlays方法中被清除  
40 - circle.enableMassClear();  
41 - // 百度地图添加覆盖物圆  
42 - mapBValue.addOverlay(circle);  
43 - // 创建信息窗口  
44 - infoWindow = new BMap.InfoWindow(htm, opts);  
45 - // 自定义标注物图片  
46 - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));  
47 - // 创建点  
48 - marker = new BMap.Marker(point,{icon : icon_target});  
49 - // 把标注添物加到地图上  
50 - mapBValue.addOverlay(marker);  
51 - setTimeout(function(){  
52 - //开启信息窗口  
53 - marker.openInfoWindow(infoWindow,point);  
54 - },100);  
55 - // 是否在平移过程中禁止动画。(自1.2新增)  
56 - var PanOptions_ ={noAnimation :true};  
57 - // 将地图的中心点更改为给定的点。  
58 - mapBValue.panTo(point,PanOptions_);  
59 - mapBValue.panBy(10,-250,PanOptions_);  
60 - // 添加标志物监听事件  
61 - marker.addEventListener("click",function() {  
62 - //开启信息窗口  
63 - marker.openInfoWindow(infoWindow,point);  
64 - });  
65 - },  
66 - pointsPolygon : function(r,pointPolygon,htm,opts_polygon) {  
67 - // 获取多边形坐标字符串  
68 - var stationBPolygonGrid = r[0].stationBPolyonGrid;  
69 - // 截取多边形坐标字符串  
70 - var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2);  
71 - // 按逗号切割  
72 - var pointPolygonArray = stationBPolygonGridStr.split(',');  
73 - // 多边形坐标集合  
74 - var polygonP = [];  
75 - for(var v = 0;v<pointPolygonArray.length;v++) {  
76 - polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1]));  
77 - }  
78 - // 画多边形  
79 - polygon = new BMap.Polygon(polygonP, {  
80 - // 线条显色  
81 - strokeColor : "blue",  
82 - // 边线的宽度,以像素为单位。  
83 - strokeWeight : 2,  
84 - // 边线透明度,取值范围0 - 1。  
85 - strokeOpacity : 0.5  
86 - });  
87 - // 增加地图覆盖物多边形  
88 - mapBValue.addOverlay(polygon);  
89 - // 创建信息窗口  
90 - infoWindow = new BMap.InfoWindow(htm, opts_polygon);  
91 - // 自定义标注物图片  
92 - var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));  
93 - // 创建点  
94 - marker = new BMap.Marker(pointPolygon,{icon : icon_target});  
95 - // 把标注添物加到地图上  
96 - mapBValue.addOverlay(marker);  
97 - // 是否在平移过程中禁止动画。(自1.2新增)  
98 - var PanOptions_ ={noAnimation :true};  
99 - // 将地图的中心点更改为给定的点。  
100 - mapBValue.panTo(pointPolygon,PanOptions_);  
101 - // 将地图在水平位置上移动x像素,垂直位置上移动y像素。  
102 - mapBValue.panBy(10,-510,PanOptions_);  
103 - //开启信息窗口  
104 - marker.openInfoWindow(infoWindow,pointPolygon);  
105 - },  
106 - // 编辑图形  
107 - editShapes : function(stationShapesTypeV,mindex) {  
108 - // 关闭信息窗口  
109 - marker.closeInfoWindow();  
110 - // 清除marker  
111 - mapBValue.removeOverlay(marker);  
112 - // 编辑圆  
113 - if(stationShapesTypeV =='r') {  
114 - // 开启编辑功能  
115 - circle.enableEditing();  
116 - // 编辑圆监听事件  
117 - circle.addEventListener('dblclick',function() {  
118 - // 关闭提示弹出层  
119 - layer.close(mindex);  
120 - // 返回圆形的半径,单位为米。  
121 - var newRadius = circle.getRadius();  
122 - // 返回圆形的中心点坐标。  
123 - var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;  
124 - var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];  
125 - /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */  
126 - PositionsStationObj.setEitdStationBJwpoints(newCenter);  
127 - /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */  
128 - PositionsStationObj.setEitdStationShapesType('r');  
129 - /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */  
130 - PositionsStationObj.setEitdStationRadius(Math.round(newRadius));  
131 - /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */  
132 - PositionsStationObj.setEitdBPolygonGrid('');  
133 - // 加载编辑页面  
134 - $.get('edit.html', function(m){  
135 - $(pjaxContainer).append(m);  
136 - $('#editPoitsions_station_mobal').trigger('editStationMobal_show', [StationPositionsWorldsBMap,PositionsPublicFunctions,PositionsStationObj]);  
137 - });  
138 - });  
139 - // 编辑多边行  
140 - }else if(stationShapesTypeV =='d') {  
141 - // 开启编辑功能(自 1.1 新增)  
142 - polygon.enableEditing();  
143 - // 添加多边行编辑事件  
144 - polygon.addEventListener('dblclick',function(e) {  
145 - // 获取编辑的多边形对象  
146 - var edit_pointE = polygon;  
147 - var edit_bPloygonGrid = "";  
148 - var editPolyGonLen_ = edit_pointE.getPath().length;  
149 - for(var k =0;k<editPolyGonLen_;k++) {  
150 - if(k==0) {  
151 - edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;  
152 - }else {  
153 - edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;  
154 - }  
155 - }  
156 - edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat;  
157 - // 多边形中心点  
158 - var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat;  
159 - /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */  
160 - PositionsStationObj.setEitdStationBJwpoints(centre_points);  
161 - /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */  
162 - PositionsStationObj.setEitdStationShapesType('d');  
163 - /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */  
164 - PositionsStationObj.setEitdStationRadius('');  
165 - /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */  
166 - PositionsStationObj.setEitdBPolygonGrid(edit_bPloygonGrid);  
167 - $.get('edit.html', function(m){  
168 - $(pjaxContainer).append(m);  
169 - $('#editPoitsions_station_mobal').trigger('editStationMobal_show', [StationPositionsWorldsBMap,PositionsPublicFunctions,PositionsStationObj]);  
170 - });  
171 - });  
172 - }  
173 - },  
174 - // 定位  
175 - localSearchFromAdreesToPoint: function(Address,callback) {  
176 - // 创建一个搜索类实例  
177 - var localSearch = new BMap.LocalSearch(mapBValue);  
178 - // 检索完成后的回调函数。  
179 - localSearch.setSearchCompleteCallback(function (searchResult) {  
180 - var resultPoints = '';  
181 - if(searchResult) {  
182 - // 返回索引指定的结果。索引0表示第1条结果  
183 - var poi = searchResult.getPoi(0);  
184 - if(poi) {  
185 - //获取经度和纬度  
186 - resultPoints = poi.point.lng + ' ' + poi.point.lat;  
187 - callback && callback(resultPoints);  
188 - }else {  
189 - callback && callback(false);  
190 - }  
191 - }else {  
192 - callback && callback(false);  
193 - }  
194 - });  
195 - // 根据检索词发起检索。  
196 - localSearch.search(Address);  
197 - },  
198 - localtionPoint : function(stationNameV) {  
199 - StationPositionsWorldsBMap.localSearchFromAdreesToPoint(stationNameV,function(Points) {  
200 - if(Points) {  
201 - var BJwpointsArray = Points.split(' ');  
202 - var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]);  
203 - var marker_stargt2 = new BMap.Marker(stationNameChangePoint);  
204 - var PanOptions ={noAnimation :true};  
205 - mapBValue.panTo(stationNameChangePoint,PanOptions);  
206 - mapBValue.panBy(0,-100);  
207 - // 将标注添加到地图中  
208 - mapBValue.addOverlay(marker_stargt2);  
209 - //跳动的动画  
210 - marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE);  
211 - }  
212 - });  
213 - },  
214 - // 清楚地图覆盖物  
215 - clearMarkAndOverlays : function() {  
216 - mapBValue.clearOverlays();  
217 - }  
218 - }  
219 - return Bmap; 1 +/**
  2 + * 百度地图
  3 + *
  4 + */
  5 +
  6 +var StationPositionsWorldsBMap = function () {
  7 + var mapBValue = '',marker='',polygon='';
  8 + var Bmap = {
  9 + init : function() {
  10 + // 关闭左侧栏
  11 + if (!$('body').hasClass('page-sidebar-closed')) {$('.menu-toggler.sidebar-toggler').click();}
  12 + // 设置中心点,
  13 + var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
  14 + // 百度API Key
  15 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
  16 + // 初始化百度地图
  17 + mapBValue = new BMap.Map("positionBmap_basic");
  18 + //中心点和缩放级别
  19 + mapBValue.centerAndZoom(new BMap.Point(CENTER_POINT.lng,CENTER_POINT.lat), 15);
  20 + //启用地图拖拽事件,默认启用(可不写)
  21 + mapBValue.enableDragging();
  22 + //启用地图滚轮放大缩小
  23 + mapBValue.enableScrollWheelZoom();
  24 + //禁用鼠标双击放大
  25 + mapBValue.disableDoubleClickZoom();
  26 + //启用键盘上下左右键移动地图
  27 + mapBValue.enableKeyboard();
  28 + return mapBValue;
  29 + },
  30 + // 获取百度地图map值
  31 + getMapBValue : function(){
  32 + return mapBValue;
  33 + },
  34 + pointsCircle : function(r,point,htm,opts) {
  35 + // 将视图切换到指定的缩放等级,中心点坐标不变。注意:当有信息窗口在地图上打开时,地图缩放将保证信息窗口所在的坐标位置不动。(自1.2新增)
  36 + mapBValue.setZoom(17);
  37 + //创建圆
  38 + circle = new BMap.Circle(point,r[0].stationRadius,{strokeColor:"blue", strokeWeight:2, strokeOpacity:0.5});
  39 + // 允许覆盖物在map.clearOverlays方法中被清除
  40 + circle.enableMassClear();
  41 + // 百度地图添加覆盖物圆
  42 + mapBValue.addOverlay(circle);
  43 + // 创建信息窗口
  44 + infoWindow = new BMap.InfoWindow(htm, opts);
  45 + // 自定义标注物图片
  46 + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));
  47 + // 创建点
  48 + marker = new BMap.Marker(point,{icon : icon_target});
  49 + // 把标注添物加到地图上
  50 + mapBValue.addOverlay(marker);
  51 + setTimeout(function(){
  52 + //开启信息窗口
  53 + marker.openInfoWindow(infoWindow,point);
  54 + },100);
  55 + // 是否在平移过程中禁止动画。(自1.2新增)
  56 + var PanOptions_ ={noAnimation :true};
  57 + // 将地图的中心点更改为给定的点。
  58 + mapBValue.panTo(point,PanOptions_);
  59 + mapBValue.panBy(10,-250,PanOptions_);
  60 + // 添加标志物监听事件
  61 + marker.addEventListener("click",function() {
  62 + //开启信息窗口
  63 + marker.openInfoWindow(infoWindow,point);
  64 + });
  65 + },
  66 + pointsPolygon : function(r,pointPolygon,htm,opts_polygon) {
  67 + // 获取多边形坐标字符串
  68 + var stationBPolygonGrid = r[0].stationBPolyonGrid;
  69 + // 截取多边形坐标字符串
  70 + var stationBPolygonGridStr = stationBPolygonGrid.substring(9,stationBPolygonGrid.length-2);
  71 + // 按逗号切割
  72 + var pointPolygonArray = stationBPolygonGridStr.split(',');
  73 + // 多边形坐标集合
  74 + var polygonP = [];
  75 + for(var v = 0;v<pointPolygonArray.length;v++) {
  76 + polygonP.push(new BMap.Point(pointPolygonArray[v].split(" ")[0],pointPolygonArray[v].split(" ")[1]));
  77 + }
  78 + // 画多边形
  79 + polygon = new BMap.Polygon(polygonP, {
  80 + // 线条显色
  81 + strokeColor : "blue",
  82 + // 边线的宽度,以像素为单位。
  83 + strokeWeight : 2,
  84 + // 边线透明度,取值范围0 - 1。
  85 + strokeOpacity : 0.5
  86 + });
  87 + // 增加地图覆盖物多边形
  88 + mapBValue.addOverlay(polygon);
  89 + // 创建信息窗口
  90 + infoWindow = new BMap.InfoWindow(htm, opts_polygon);
  91 + // 自定义标注物图片
  92 + var icon_target = new BMap.Icon('/pages/base/stationroute/css/img/cz.png',new BMap.Size(20, 20));
  93 + // 创建点
  94 + marker = new BMap.Marker(pointPolygon,{icon : icon_target});
  95 + // 把标注添物加到地图上
  96 + mapBValue.addOverlay(marker);
  97 + // 是否在平移过程中禁止动画。(自1.2新增)
  98 + var PanOptions_ ={noAnimation :true};
  99 + // 将地图的中心点更改为给定的点。
  100 + mapBValue.panTo(pointPolygon,PanOptions_);
  101 + // 将地图在水平位置上移动x像素,垂直位置上移动y像素。
  102 + mapBValue.panBy(10,-510,PanOptions_);
  103 + //开启信息窗口
  104 + marker.openInfoWindow(infoWindow,pointPolygon);
  105 + },
  106 + // 编辑图形
  107 + editShapes : function(stationShapesTypeV,mindex) {
  108 + // 关闭信息窗口
  109 + marker.closeInfoWindow();
  110 + // 清除marker
  111 + mapBValue.removeOverlay(marker);
  112 + // 编辑圆
  113 + if(stationShapesTypeV =='r') {
  114 + // 开启编辑功能
  115 + circle.enableEditing();
  116 + // 编辑圆监听事件
  117 + circle.addEventListener('dblclick',function() {
  118 + // 关闭提示弹出层
  119 + layer.close(mindex);
  120 + // 返回圆形的半径,单位为米。
  121 + var newRadius = circle.getRadius();
  122 + // 返回圆形的中心点坐标。
  123 + var newCenter = circle.getCenter().lng + ' ' + circle.getCenter().lat;
  124 + var centre_New = [{potion:{lng:circle.getCenter().lng,lat:circle.getCenter().lat}}];
  125 + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
  126 + PositionsStationObj.setEitdStationBJwpoints(newCenter);
  127 + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
  128 + PositionsStationObj.setEitdStationShapesType('r');
  129 + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
  130 + PositionsStationObj.setEitdStationRadius(Math.round(newRadius));
  131 + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
  132 + PositionsStationObj.setEitdBPolygonGrid('');
  133 + // 加载编辑页面
  134 + $.get('edit.html', function(m){
  135 + $(pjaxContainer).append(m);
  136 + $('#editPoitsions_station_mobal').trigger('editStationMobal_show', [StationPositionsWorldsBMap,PositionsPublicFunctions,PositionsStationObj]);
  137 + });
  138 + });
  139 + // 编辑多边行
  140 + }else if(stationShapesTypeV =='d') {
  141 + // 开启编辑功能(自 1.1 新增)
  142 + polygon.enableEditing();
  143 + // 添加多边行编辑事件
  144 + polygon.addEventListener('dblclick',function(e) {
  145 + // 获取编辑的多边形对象
  146 + var edit_pointE = polygon;
  147 + var edit_bPloygonGrid = "";
  148 + var editPolyGonLen_ = edit_pointE.getPath().length;
  149 + for(var k =0;k<editPolyGonLen_;k++) {
  150 + if(k==0) {
  151 + edit_bPloygonGrid = edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
  152 + }else {
  153 + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[k].lng + ' ' + edit_pointE.getPath()[k].lat;
  154 + }
  155 + }
  156 + edit_bPloygonGrid = edit_bPloygonGrid + ',' + edit_pointE.getPath()[0].lng + ' ' + edit_pointE.getPath()[0].lat;
  157 + // 多边形中心点
  158 + var centre_points = edit_pointE.getBounds().getCenter().lng + ' ' + edit_pointE.getBounds().getCenter().lat;
  159 + /** 设置修改站点集合对象站点中心点百度坐标属性值 @param:<bJwpoints:中心点百度坐标) */
  160 + PositionsStationObj.setEitdStationBJwpoints(centre_points);
  161 + /** 设置修改站点集合对象范围图形类型属性值 @param:<shapesType:范围图形类型) */
  162 + PositionsStationObj.setEitdStationShapesType('d');
  163 + /** 设置修改站点集合对象圆形半径属性值 @param:<radius:圆形半径) */
  164 + PositionsStationObj.setEitdStationRadius('');
  165 + /** 设置修改站点集合对象图形百度坐标集合属性值 @param:<bPolygonGrid:图形百度坐标集合) */
  166 + PositionsStationObj.setEitdBPolygonGrid(edit_bPloygonGrid);
  167 + $.get('edit.html', function(m){
  168 + $(pjaxContainer).append(m);
  169 + $('#editPoitsions_station_mobal').trigger('editStationMobal_show', [StationPositionsWorldsBMap,PositionsPublicFunctions,PositionsStationObj]);
  170 + });
  171 + });
  172 + }
  173 + },
  174 + // 定位
  175 + localSearchFromAdreesToPoint: function(Address,callback) {
  176 + // 创建一个搜索类实例
  177 + var localSearch = new BMap.LocalSearch(mapBValue);
  178 + // 检索完成后的回调函数。
  179 + localSearch.setSearchCompleteCallback(function (searchResult) {
  180 + var resultPoints = '';
  181 + if(searchResult) {
  182 + // 返回索引指定的结果。索引0表示第1条结果
  183 + var poi = searchResult.getPoi(0);
  184 + if(poi) {
  185 + //获取经度和纬度
  186 + resultPoints = poi.point.lng + ' ' + poi.point.lat;
  187 + callback && callback(resultPoints);
  188 + }else {
  189 + callback && callback(false);
  190 + }
  191 + }else {
  192 + callback && callback(false);
  193 + }
  194 + });
  195 + // 根据检索词发起检索。
  196 + localSearch.search(Address);
  197 + },
  198 + localtionPoint : function(stationNameV) {
  199 + StationPositionsWorldsBMap.localSearchFromAdreesToPoint(stationNameV,function(Points) {
  200 + if(Points) {
  201 + var BJwpointsArray = Points.split(' ');
  202 + var stationNameChangePoint = new BMap.Point(BJwpointsArray[0], BJwpointsArray[1]);
  203 + var marker_stargt2 = new BMap.Marker(stationNameChangePoint);
  204 + var PanOptions ={noAnimation :true};
  205 + mapBValue.panTo(stationNameChangePoint,PanOptions);
  206 + mapBValue.panBy(0,-100);
  207 + // 将标注添加到地图中
  208 + mapBValue.addOverlay(marker_stargt2);
  209 + //跳动的动画
  210 + marker_stargt2.setAnimation(BMAP_ANIMATION_BOUNCE);
  211 + }
  212 + });
  213 + },
  214 + // 清楚地图覆盖物
  215 + clearMarkAndOverlays : function() {
  216 + mapBValue.clearOverlays();
  217 + }
  218 + }
  219 + return Bmap;
220 }(); 220 }();
221 \ No newline at end of file 221 \ No newline at end of file
src/main/resources/static/pages/base/stationroute/js/stationroute-list-map.js
@@ -88,7 +88,7 @@ window.WorldsBMap = function () { @@ -88,7 +88,7 @@ window.WorldsBMap = function () {
88 // 设置中心点, 88 // 设置中心点,
89 var CENTER_POINT = {lng: 121.528733, lat: 31.237425}; 89 var CENTER_POINT = {lng: 121.528733, lat: 31.237425};
90 // 百度API Key 90 // 百度API Key
91 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; 91 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
92 // 初始化百度地图 92 // 初始化百度地图
93 mapBValue = new BMap.Map("bmap_basic" , {enableMapClick: false}); 93 mapBValue = new BMap.Map("bmap_basic" , {enableMapClick: false});
94 //中心点和缩放级别 94 //中心点和缩放级别
src/main/resources/static/pages/excep/js/map.js
@@ -24,7 +24,7 @@ var BasicMap = function () { @@ -24,7 +24,7 @@ var BasicMap = function () {
24 var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; 24 var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
25 25
26 // 百度API Key 26 // 百度API Key
27 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; 27 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
28 28
29 // 初始化百度地图 29 // 初始化百度地图
30 mapBValue = new BMap.Map("BasicMap"); 30 mapBValue = new BMap.Map("BasicMap");
src/main/resources/static/pages/excep/js/outbound-map.js
@@ -35,7 +35,7 @@ var WorldsBMap = function () { @@ -35,7 +35,7 @@ var WorldsBMap = function () {
35 var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; 35 var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
36 36
37 // 百度API Key 37 // 百度API Key
38 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; 38 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
39 39
40 // 初始化百度地图 40 // 初始化百度地图
41 mapBValue = new BMap.Map("bmap_basic"); 41 mapBValue = new BMap.Map("bmap_basic");
src/main/resources/static/pages/excep/js/speeding-map.js
@@ -24,7 +24,7 @@ var SpeedingMap = function () { @@ -24,7 +24,7 @@ var SpeedingMap = function () {
24 var CENTER_POINT = {lng : 121.528733,lat : 31.237425}; 24 var CENTER_POINT = {lng : 121.528733,lat : 31.237425};
25 25
26 // 百度API Key 26 // 百度API Key
27 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; 27 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
28 28
29 // 初始化百度地图 29 // 初始化百度地图
30 mapBValue = new BMap.Map("speedingMap"); 30 mapBValue = new BMap.Map("speedingMap");
src/main/resources/static/pages/mapmonitor/real/js/map_platform_old.js
@@ -37,7 +37,7 @@ var realMap = (function() { @@ -37,7 +37,7 @@ var realMap = (function() {
37 var city = "上海"; 37 var city = "上海";
38 38
39 //百度API Key 39 //百度API Key
40 - var bdKey = 'IGGrr4UjwIYzatoCRFKEL8sT'; 40 + var bdKey = '1TgEKvYqohJyeGXnN6yHSSTb4psOarQw';
41 41
42 var bd_gps_info_win_opts = { 42 var bd_gps_info_win_opts = {
43 width : 190, 43 width : 190,
src/main/resources/static/real_control_v2/alone_page/home/home_wrap.html
1 -<!DOCTYPE html>  
2 -<html lang="zh-cn">  
3 -  
4 -<head>  
5 - <meta charset="UTF-8">  
6 - <title>主页模拟图</title>  
7 - <!-- uikit core style-->  
8 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css" />  
9 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" merge="plugins"/>  
10 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" merge="plugins"/>  
11 - <link rel="stylesheet"  
12 - href="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="plugins"/>  
13 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css" merge="plugins"/>  
14 -  
15 - <!-- main style -->  
16 - <link rel="stylesheet" href="/real_control_v2/css/main.css" />  
17 - <!-- home style -->  
18 - <link rel="stylesheet" href="/real_control_v2/css/home.css" merge="custom_style"/>  
19 -  
20 - <!-- custom table -->  
21 - <link rel="stylesheet" href="/real_control_v2/css/ct_table.css" merge="custom_style"/>  
22 - <!-- jquery contextMenu style -->  
23 - <link rel="stylesheet" href="/real_control_v2/assets/css/jquery.contextMenu.min.css" merge="plugins"/>  
24 - <!-- formvalidation style -->  
25 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/formvalidation/formValidation.min.css" merge="plugins"/>  
26 - <!-- js tree -->  
27 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/jstree/default/style.css" merge="plugins"/>  
28 - <!-- tooltip css-->  
29 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.css" merge="plugins"/>  
30 - <link rel="stylesheet" href="/real_control_v2/css/pace.css" merge="plugins"/>  
31 -  
32 - <link rel="stylesheet" href="/real_control_v2/css/modal_extend.css" merge="custom_style"/>  
33 - <!-- perfect-scrollbar style -->  
34 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" merge="plugins"/>  
35 - <!-- layer 3.0.3 -->  
36 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/layer3.0.3/skin/default/layer.css" merge="plugins"/>  
37 - <link rel="stylesheet" href="/real_control_v2/assets/plugins/layer3.0.3/skin/moon/style.css" merge="plugins"/>  
38 -  
39 -  
40 - <style>  
41 - .main-container{  
42 - height: 100% !important;  
43 - }  
44 -  
45 - #main-tab-content{  
46 - padding: 0 !important;  
47 - list-style: none;  
48 - }  
49 -  
50 - .home-panel{  
51 -  
52 - }  
53 -  
54 - #home-main-content{  
55 - padding: 0 !important;  
56 - }  
57 -  
58 - #main-tab-content>.home-panel>#home-main-content{  
59 - overflow: inherit !important;  
60 - }  
61 - </style>  
62 -</head>  
63 -  
64 -<body>  
65 -<!--<div class="main-container" style="height: 100%;">  
66 -</div>-->  
67 -<div class="main-container">  
68 - <ul id="main-tab-content">  
69 - <li class="home-panel"></li>  
70 - </ul>  
71 -</div>  
72 -  
73 -  
74 -<!-- 地图相关 -->  
75 -<script src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script>  
76 -<script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>  
77 -<script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>  
78 -<script src="/assets/js/TransGPS.js" merge="plugins"></script>  
79 -<!-- jquery -->  
80 -<script src="/real_control_v2/assets/js/jquery.min.js"></script>  
81 -<!-- jquery actual -->  
82 -<script src="/real_control_v2/assets/js/jquery.actual.min.js" merge="plugins"></script>  
83 -<!-- jquery.serializejson JSON序列化插件 -->  
84 -<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script>  
85 -<!-- moment.js 日期处理类库 -->  
86 -<script src="/real_control_v2/assets/plugins/moment/moment.min.js"></script>  
87 -<script src="/real_control_v2/assets/plugins/moment/zh-cn.js"></script>  
88 -  
89 -<!-- flatpickr -->  
90 -<script src="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script>  
91 -<script src="/real_control_v2/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script>  
92 -  
93 -<!-- perfect-scrollbar -->  
94 -<script src="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>  
95 -<!-- common js -->  
96 -<script src="/real_control_v2/js/common.js"></script>  
97 -<!-- art-template 模版引擎 -->  
98 -<script src="/assets/plugins/template.js" merge="plugins"></script>  
99 -<!-- d3 -->  
100 -<script src="/assets/js/d3.min.js"></script>  
101 -<!-- EventProxy -->  
102 -<script src="/assets/js/eventproxy.js"></script>  
103 -<!-- Geolib -->  
104 -<script src="/real_control_v2/geolib/geolib.js" merge="plugins"></script>  
105 -  
106 -<script>  
107 -  
108 -  
109 - var res_load_ep = EventProxy.create('load_home_layout', 'load_home_line_panel', 'load_data_basic', 'data-basic', function () {  
110 - //加载主页  
111 - gb_home_layout.layout(function () {  
112 - gb_home_line_panel.init(function () {  
113 - //gps自刷新  
114 - gb_data_gps.fixedTimeRefresh();  
115 -  
116 - $('.uk-icon-send-o.home_alone_page').remove();  
117 - });  
118 - });  
119 - });  
120 -  
121 - function connectArr(arr, separator, transFun) {  
122 - var rs = '';  
123 - $.each(arr, function (i, item) {  
124 - if (transFun)  
125 - item = transFun(item);  
126 - rs += (separator + item);  
127 - });  
128 - return rs.substr(separator.length);  
129 - }  
130 -  
131 - var isArray = function (obj) {  
132 - return Object.prototype.toString.call(obj) === '[object Array]';  
133 - };  
134 -  
135 - var gb_form_validation_opts = {  
136 - framework: 'uikit',  
137 - locale: 'zh_CN',  
138 - icon: {  
139 - valid: 'uk-icon-check',  
140 - invalid: 'uk-icon-times',  
141 - validating: 'uk-icon-refresh'  
142 - }  
143 - };  
144 -  
145 -</script>  
146 -  
147 -<!-- uikit core -->  
148 -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>  
149 -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>  
150 -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/pagination.min.js" merge="uikit_js"></script>  
151 -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>  
152 -<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script>  
153 -  
154 -  
155 -<!-- jquery contextMenu -->  
156 -<script src="/real_control_v2/assets/js/jquery.contextMenu.min.js" merge="plugins"></script>  
157 -<script src="/real_control_v2/assets/js/jquery.ui.position.min.js" merge="plugins"></script>  
158 -<!-- formvalidation- -->  
159 -<script src="/real_control_v2/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script>  
160 -<script src="/real_control_v2/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script>  
161 -<script src="/real_control_v2/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script>  
162 -<!-- js tree -->  
163 -<script src="/real_control_v2/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>  
164 -<!-- simple pinyin -->  
165 -<script src="/assets/plugins/pinyin.js" merge="plugins"></script>  
166 -<!-- qtip -->  
167 -<script src="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.js" merge="plugins"></script>  
168 -<!-- layer 3.0.3 -->  
169 -<script src="/real_control_v2/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script>  
170 -  
171 -<!-- 数据 -->  
172 -<script src="/real_control_v2/alone_page/home/alone_data_basic.js" merge="custom_js"></script>  
173 -<script src="/real_control_v2/alone_page/home/alone_data_gps.js" merge="custom_js"></script>  
174 -<script src="/real_control_v2/js/data/gps_abnormal.js" merge="custom_js"></script>  
175 -<!-- 线路模拟图 -->  
176 -<script src="/real_control_v2/js/utils/svg_chart.js" merge="custom_js"></script>  
177 -<script src="/real_control_v2/js/utils/svg_data_convert.js" merge="custom_js"></script>  
178 -<script src="/real_control_v2/js/utils/svg_chart_tooltip.js" merge="custom_js"></script>  
179 -<script src="/real_control_v2/js/utils/svg_chart_map.js" merge="custom_js"></script>  
180 -  
181 -<!-- custom table js -->  
182 -<script src="/real_control_v2/js/utils/ct_table.js" merge="custom_js"></script>  
183 -<!-- home js -->  
184 -<script src="/real_control_v2/js/home/layout.js" merge="custom_js"></script>  
185 -<script src="/real_control_v2/js/home/line_panel.js" merge="custom_js"></script>  
186 -<script src="/real_control_v2/js/home/context_menu.js" merge="custom_js"></script>  
187 -  
188 -  
189 -<!-- 模态框扩展 -->  
190 -<script src="/real_control_v2/js/modal_extend.js" merge="custom_js"></script>  
191 -  
192 -</body>  
193 -  
194 -</html> 1 +<!DOCTYPE html>
  2 +<html lang="zh-cn">
  3 +
  4 +<head>
  5 + <meta charset="UTF-8">
  6 + <title>主页模拟图</title>
  7 + <!-- uikit core style-->
  8 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css" />
  9 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" merge="plugins"/>
  10 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" merge="plugins"/>
  11 + <link rel="stylesheet"
  12 + href="/real_control_v2/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="plugins"/>
  13 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css" merge="plugins"/>
  14 +
  15 + <!-- main style -->
  16 + <link rel="stylesheet" href="/real_control_v2/css/main.css" />
  17 + <!-- home style -->
  18 + <link rel="stylesheet" href="/real_control_v2/css/home.css" merge="custom_style"/>
  19 +
  20 + <!-- custom table -->
  21 + <link rel="stylesheet" href="/real_control_v2/css/ct_table.css" merge="custom_style"/>
  22 + <!-- jquery contextMenu style -->
  23 + <link rel="stylesheet" href="/real_control_v2/assets/css/jquery.contextMenu.min.css" merge="plugins"/>
  24 + <!-- formvalidation style -->
  25 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/formvalidation/formValidation.min.css" merge="plugins"/>
  26 + <!-- js tree -->
  27 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/jstree/default/style.css" merge="plugins"/>
  28 + <!-- tooltip css-->
  29 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.css" merge="plugins"/>
  30 + <link rel="stylesheet" href="/real_control_v2/css/pace.css" merge="plugins"/>
  31 +
  32 + <link rel="stylesheet" href="/real_control_v2/css/modal_extend.css" merge="custom_style"/>
  33 + <!-- perfect-scrollbar style -->
  34 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" merge="plugins"/>
  35 + <!-- layer 3.0.3 -->
  36 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/layer3.0.3/skin/default/layer.css" merge="plugins"/>
  37 + <link rel="stylesheet" href="/real_control_v2/assets/plugins/layer3.0.3/skin/moon/style.css" merge="plugins"/>
  38 +
  39 +
  40 + <style>
  41 + .main-container{
  42 + height: 100% !important;
  43 + }
  44 +
  45 + #main-tab-content{
  46 + padding: 0 !important;
  47 + list-style: none;
  48 + }
  49 +
  50 + .home-panel{
  51 +
  52 + }
  53 +
  54 + #home-main-content{
  55 + padding: 0 !important;
  56 + }
  57 +
  58 + #main-tab-content>.home-panel>#home-main-content{
  59 + overflow: inherit !important;
  60 + }
  61 + </style>
  62 +</head>
  63 +
  64 +<body>
  65 +<!--<div class="main-container" style="height: 100%;">
  66 +</div>-->
  67 +<div class="main-container">
  68 + <ul id="main-tab-content">
  69 + <li class="home-panel"></li>
  70 + </ul>
  71 +</div>
  72 +
  73 +
  74 +<!-- 地图相关 -->
  75 +<script src="http://api.map.baidu.com/api?v=2.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script>
  76 +<script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>
  77 +<script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>
  78 +<script src="/assets/js/TransGPS.js" merge="plugins"></script>
  79 +<!-- jquery -->
  80 +<script src="/real_control_v2/assets/js/jquery.min.js"></script>
  81 +<!-- jquery actual -->
  82 +<script src="/real_control_v2/assets/js/jquery.actual.min.js" merge="plugins"></script>
  83 +<!-- jquery.serializejson JSON序列化插件 -->
  84 +<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script>
  85 +<!-- moment.js 日期处理类库 -->
  86 +<script src="/real_control_v2/assets/plugins/moment/moment.min.js"></script>
  87 +<script src="/real_control_v2/assets/plugins/moment/zh-cn.js"></script>
  88 +
  89 +<!-- flatpickr -->
  90 +<script src="/real_control_v2/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script>
  91 +<script src="/real_control_v2/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script>
  92 +
  93 +<!-- perfect-scrollbar -->
  94 +<script src="/real_control_v2/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>
  95 +<!-- common js -->
  96 +<script src="/real_control_v2/js/common.js"></script>
  97 +<!-- art-template 模版引擎 -->
  98 +<script src="/assets/plugins/template.js" merge="plugins"></script>
  99 +<!-- d3 -->
  100 +<script src="/assets/js/d3.min.js"></script>
  101 +<!-- EventProxy -->
  102 +<script src="/assets/js/eventproxy.js"></script>
  103 +<!-- Geolib -->
  104 +<script src="/real_control_v2/geolib/geolib.js" merge="plugins"></script>
  105 +
  106 +<script>
  107 +
  108 +
  109 + var res_load_ep = EventProxy.create('load_home_layout', 'load_home_line_panel', 'load_data_basic', 'data-basic', function () {
  110 + //加载主页
  111 + gb_home_layout.layout(function () {
  112 + gb_home_line_panel.init(function () {
  113 + //gps自刷新
  114 + gb_data_gps.fixedTimeRefresh();
  115 +
  116 + $('.uk-icon-send-o.home_alone_page').remove();
  117 + });
  118 + });
  119 + });
  120 +
  121 + function connectArr(arr, separator, transFun) {
  122 + var rs = '';
  123 + $.each(arr, function (i, item) {
  124 + if (transFun)
  125 + item = transFun(item);
  126 + rs += (separator + item);
  127 + });
  128 + return rs.substr(separator.length);
  129 + }
  130 +
  131 + var isArray = function (obj) {
  132 + return Object.prototype.toString.call(obj) === '[object Array]';
  133 + };
  134 +
  135 + var gb_form_validation_opts = {
  136 + framework: 'uikit',
  137 + locale: 'zh_CN',
  138 + icon: {
  139 + valid: 'uk-icon-check',
  140 + invalid: 'uk-icon-times',
  141 + validating: 'uk-icon-refresh'
  142 + }
  143 + };
  144 +
  145 +</script>
  146 +
  147 +<!-- uikit core -->
  148 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>
  149 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>
  150 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/pagination.min.js" merge="uikit_js"></script>
  151 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>
  152 +<script src="/real_control_v2/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script>
  153 +
  154 +
  155 +<!-- jquery contextMenu -->
  156 +<script src="/real_control_v2/assets/js/jquery.contextMenu.min.js" merge="plugins"></script>
  157 +<script src="/real_control_v2/assets/js/jquery.ui.position.min.js" merge="plugins"></script>
  158 +<!-- formvalidation- -->
  159 +<script src="/real_control_v2/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script>
  160 +<script src="/real_control_v2/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script>
  161 +<script src="/real_control_v2/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script>
  162 +<!-- js tree -->
  163 +<script src="/real_control_v2/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>
  164 +<!-- simple pinyin -->
  165 +<script src="/assets/plugins/pinyin.js" merge="plugins"></script>
  166 +<!-- qtip -->
  167 +<script src="/real_control_v2/assets/plugins/qtip/jquery.qtip.min.js" merge="plugins"></script>
  168 +<!-- layer 3.0.3 -->
  169 +<script src="/real_control_v2/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script>
  170 +
  171 +<!-- 数据 -->
  172 +<script src="/real_control_v2/alone_page/home/alone_data_basic.js" merge="custom_js"></script>
  173 +<script src="/real_control_v2/alone_page/home/alone_data_gps.js" merge="custom_js"></script>
  174 +<script src="/real_control_v2/js/data/gps_abnormal.js" merge="custom_js"></script>
  175 +<!-- 线路模拟图 -->
  176 +<script src="/real_control_v2/js/utils/svg_chart.js" merge="custom_js"></script>
  177 +<script src="/real_control_v2/js/utils/svg_data_convert.js" merge="custom_js"></script>
  178 +<script src="/real_control_v2/js/utils/svg_chart_tooltip.js" merge="custom_js"></script>
  179 +<script src="/real_control_v2/js/utils/svg_chart_map.js" merge="custom_js"></script>
  180 +
  181 +<!-- custom table js -->
  182 +<script src="/real_control_v2/js/utils/ct_table.js" merge="custom_js"></script>
  183 +<!-- home js -->
  184 +<script src="/real_control_v2/js/home/layout.js" merge="custom_js"></script>
  185 +<script src="/real_control_v2/js/home/line_panel.js" merge="custom_js"></script>
  186 +<script src="/real_control_v2/js/home/context_menu.js" merge="custom_js"></script>
  187 +
  188 +
  189 +<!-- 模态框扩展 -->
  190 +<script src="/real_control_v2/js/modal_extend.js" merge="custom_js"></script>
  191 +
  192 +</body>
  193 +
  194 +</html>
src/main/resources/static/real_control_v2/alone_page/map/alone_wrap.html
@@ -60,7 +60,7 @@ @@ -60,7 +60,7 @@
60 <span style="position: absolute;left: calc(50% - 35px);top: calc(45% - 35px);">加载中...</span> 60 <span style="position: absolute;left: calc(50% - 35px);top: calc(45% - 35px);">加载中...</span>
61 </div> 61 </div>
62 <!-- 地图相关 --> 62 <!-- 地图相关 -->
63 -<script src="//api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script> 63 +<script src="//api.map.baidu.com/api?v=2.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script>
64 <script src="//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script> 64 <script src="//api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>
65 <script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script> 65 <script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>
66 <script src="/assets/js/TransGPS.js" merge="plugins"></script> 66 <script src="/assets/js/TransGPS.js" merge="plugins"></script>
src/main/resources/static/real_control_v2/fragments/north/nav/line_config/buffer_config.html
1 -<!-- 缓冲区设置 和 应急停靠 -->  
2 -<div id="buffer_config_wrap">  
3 -  
4 - <script id="buffer_config_form-temp" type="text/html">  
5 -  
6 - <div id="buffer_inOut_diff_panel">  
7 - <h2 class="btn_title_line">  
8 - <a class="uk-link-reset">到站缓冲区设置</a>  
9 - </h2>  
10 - <div>  
11 - <form class="uk-form">  
12 - <div class="uk-form-row">  
13 - 到达上行加  
14 - <input name="upInDiff" type="number" class="z-depth-input" value="{{upInDiff}}">  
15 - 秒  
16 - <i class="uk-icon-pencil edit-icon"></i>  
17 - </div>  
18 - <div class="uk-form-row">  
19 - 上行发出减  
20 - <input name="upOutDiff" type="number" class="z-depth-input" value="{{upOutDiff}}">  
21 - 秒  
22 - <i class="uk-icon-pencil edit-icon"></i>  
23 - </div>  
24 - <div class="uk-form-row">  
25 - 到达下行加  
26 - <input name="downInDiff" type="number" class="z-depth-input" value="{{downInDiff}}">  
27 - 秒  
28 - <i class="uk-icon-pencil edit-icon"></i>  
29 - </div>  
30 - <div class="uk-form-row">  
31 - 下行发出减  
32 - <input name="downOutDiff" type="number" class="z-depth-input" value="{{downOutDiff}}">  
33 - 秒  
34 - <i class="uk-icon-pencil edit-icon"></i>  
35 - </div>  
36 - </form>  
37 - <!--<a style="font-size: 80%;">编辑电子围栏</a>-->  
38 - </div>  
39 - </div>  
40 -  
41 - <div id="emergency_stop_panel">  
42 - <h2 class="btn_title_line">  
43 - <a class="uk-link-reset">应急停靠</a>  
44 - </h2>  
45 - <div>  
46 - <form class="uk-form" name="yjtkForm">  
47 - <table>  
48 - <tr>  
49 - <td colspan="2" style="padding-left: 30px;">  
50 - 是否启用  
51 - <select class="z-depth-input" name="enableYjtk">  
52 - <option value="0" >禁用</option>  
53 - <option value="1" {{if enableYjtk}}selected{{/if}}>启用</option>  
54 - </select>  
55 - </td>  
56 - </tr>  
57 - <tr>  
58 - <td colspan="2" style="padding-left: 58px;">  
59 - 时间  
60 - <input type="time" value="{{yjtkStart}}" name="yjtkStart" {{if !enableYjtk}}disabled{{/if}}>至  
61 - <input type="time" value="{{yjtkEnd}}" name="yjtkEnd" {{if !enableYjtk}}disabled{{/if}}>  
62 - </td>  
63 - </tr>  
64 - <tr>  
65 - <td>  
66 - 上行停靠时间  
67 - <input type="number" value="{{upStopMinute}}" name="upStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟  
68 - </td>  
69 - </tr>  
70 - <tr>  
71 - <td>  
72 - 下行停靠时间  
73 - <input type="number" value="{{downStopMinute}}" name="downStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟  
74 - </td>  
75 - </tr>  
76 - </table>  
77 - </form>  
78 - </div>  
79 - </div>  
80 - </script>  
81 -  
82 - <script>  
83 - (function () {  
84 - var wrap = '#buffer_config_wrap',  
85 - conf;  
86 -  
87 - var textMap = {upInDiff: '到达上行加', upOutDiff: '上行发出减', downInDiff: '到达下行加', downOutDiff: '下行发出减'};  
88 - $(wrap).on('init', function (e, data) {  
89 - e.stopPropagation();  
90 - conf = data.lineConfig;  
91 -  
92 - var htmlStr = template('buffer_config_form-temp', conf);  
93 - $(wrap).html(htmlStr);  
94 -  
95 - //到站缓冲区设置  
96 - $('#buffer_inOut_diff_panel input', wrap).on('focus', function () {  
97 - $(this).next('.edit-icon').show();  
98 - });  
99 - $('#buffer_inOut_diff_panel input', wrap).on('blur', function () {  
100 - $(this).next('.edit-icon').hide();  
101 -  
102 - var field = $(this).attr('name');  
103 - var val = $(this).val();  
104 - if (conf[field] != val) {  
105 - gb_common.$post('/lineConfig/bufferTimeDiff', {  
106 - lineCode: conf.line.lineCode,  
107 - field: field,  
108 - value: val  
109 - }, function (rs) {  
110 - conf[rs.field] = rs.value;  
111 - notify_succ(textMap[field] + val + '秒');  
112 - });  
113 - }  
114 - });  
115 -  
116 - //启禁用应急停靠  
117 - $('[name=enableYjtk]', wrap).on('change', function () {  
118 - if($(this).val() == '1'){  
119 - enableYjtkForm();  
120 - }  
121 - else  
122 - disabledYjtkForm();  
123 - });  
124 - //参数改变  
125 - $('form[name=yjtkForm] input', wrap).on('blur', function () {  
126 - var field = $(this).attr('name');  
127 - var val = $(this).val();  
128 - if (conf[field] != val) {  
129 - var data = $('form[name=yjtkForm]', wrap).serializeJSON();  
130 - data.lineCode = conf.line.lineCode;  
131 - // 0禁用 1启用 2修改参数  
132 - data.operCode = 2;  
133 - gb_common.$post('/lineConfig/yjtkSet', data, function (rs) {  
134 - conf = rs.conf;  
135 - notify_succ('调整应急停靠参数');  
136 - });  
137 - }  
138 - });  
139 - });  
140 -  
141 - function enableYjtkForm() {  
142 - var f = $('form[name=yjtkForm]', wrap);  
143 - $('input', f).removeAttr('disabled');  
144 - //开始时间  
145 - if($('[name=yjtkStart]',f).val() == '')  
146 - $('[name=yjtkStart]',f).val('00:00');  
147 - if($('[name=yjtkEnd]',f).val() == '')  
148 - $('[name=yjtkEnd]',f).val('23:59');  
149 -  
150 - var data = f.serializeJSON();  
151 - data.lineCode = conf.line.lineCode;  
152 - data.operCode = 1;  
153 - gb_common.$post('/lineConfig/yjtkSet', data, function (rs) {  
154 - conf = rs.conf;  
155 - notify_succ('启用应急停靠');  
156 - });  
157 - }  
158 -  
159 - function disabledYjtkForm() {  
160 - var f = $('form[name=yjtkForm]', wrap);  
161 - $('input', f).attr('disabled', 'disabled');  
162 - //恢复val  
163 - $('[name=yjtkStart]',f).val(conf.yjtkStart);  
164 - $('[name=yjtkEnd]',f).val(conf.yjtkEnd);  
165 - $('[name=upStopMinute]',f).val(conf.upStopMinute);  
166 - $('[name=downStopMinute]',f).val(conf.downStopMinute);  
167 -  
168 - var data = {enableYjtk: 0, lineCode: conf.line.lineCode, operCode: 0};  
169 - gb_common.$post('/lineConfig/yjtkSet', data, function (rs) {  
170 - conf = rs.conf;  
171 - notify_succ('禁用应急停靠');  
172 - });  
173 - }  
174 - })();  
175 - </script> 1 +<!-- 缓冲区设置 和 应急停靠 -->
  2 +<div id="buffer_config_wrap">
  3 +
  4 + <script id="buffer_config_form-temp" type="text/html">
  5 +
  6 + <div id="buffer_inOut_diff_panel">
  7 + <h2 class="btn_title_line">
  8 + <a class="uk-link-reset">到站缓冲区设置</a>
  9 + </h2>
  10 + <div>
  11 + <form class="uk-form">
  12 + <div class="uk-form-row">
  13 + 到达上行加
  14 + <input name="upInDiff" type="number" class="z-depth-input" value="{{upInDiff}}">
  15 + 秒
  16 + <i class="uk-icon-pencil edit-icon"></i>
  17 + </div>
  18 + <div class="uk-form-row">
  19 + 上行发出减
  20 + <input name="upOutDiff" type="number" class="z-depth-input" value="{{upOutDiff}}">
  21 + 秒
  22 + <i class="uk-icon-pencil edit-icon"></i>
  23 + </div>
  24 + <div class="uk-form-row">
  25 + 到达下行加
  26 + <input name="downInDiff" type="number" class="z-depth-input" value="{{downInDiff}}">
  27 + 秒
  28 + <i class="uk-icon-pencil edit-icon"></i>
  29 + </div>
  30 + <div class="uk-form-row">
  31 + 下行发出减
  32 + <input name="downOutDiff" type="number" class="z-depth-input" value="{{downOutDiff}}">
  33 + 秒
  34 + <i class="uk-icon-pencil edit-icon"></i>
  35 + </div>
  36 + </form>
  37 + <!--<a style="font-size: 80%;">编辑电子围栏</a>-->
  38 + </div>
  39 + </div>
  40 +
  41 + <div id="emergency_stop_panel">
  42 + <h2 class="btn_title_line">
  43 + <a class="uk-link-reset">应急停靠</a>
  44 + </h2>
  45 + <div>
  46 + <form class="uk-form" name="yjtkForm">
  47 + <table>
  48 + <tr>
  49 + <td colspan="2" style="padding-left: 30px;">
  50 + 是否启用
  51 + <select class="z-depth-input" name="enableYjtk">
  52 + <option value="0" >禁用</option>
  53 + <option value="1" {{if enableYjtk}}selected{{/if}}>启用</option>
  54 + </select>
  55 + </td>
  56 + </tr>
  57 + <tr>
  58 + <td colspan="2" style="padding-left: 30px;">
  59 + 排除班次
  60 + <div style="display: inline-block;vertical-align: center;">
  61 + <label style="margin-right: 15px;">
  62 + <input type="checkbox" style="width: 14px;" name="excludeTrip" value="normal" {{if excludeTrip && excludeTrip.indexOf('normal,') > -1}}checked{{/if}} {{if !enableYjtk}}disabled{{/if}}>
  63 + 正常班次
  64 + </label>
  65 + <label style="margin-right: 15px;">
  66 + <input type="checkbox" style="width: 14px;" name="excludeTrip" value="out" {{if excludeTrip && excludeTrip.indexOf('out,') > -1}}checked{{/if}} {{if !enableYjtk}}disabled{{/if}}>
  67 + 出场
  68 + </label>
  69 + <label style="margin-right: 15px;">
  70 + <input type="checkbox" style="width: 14px;" name="excludeTrip" value="in" {{if excludeTrip && excludeTrip.indexOf('in,') > -1}}checked{{/if}} {{if !enableYjtk}}disabled{{/if}}>
  71 + 进场
  72 + </label>
  73 + <label style="margin-right: 15px;">
  74 + <input type="checkbox" style="width: 14px;" name="excludeTrip" value="region" {{if excludeTrip && excludeTrip.indexOf('region,') > -1}}checked{{/if}} {{if !enableYjtk}}disabled{{/if}}>
  75 + 区间
  76 + </label>
  77 + <label style="margin-right: 15px;">
  78 + <input type="checkbox" style="width: 14px;" name="excludeTrip" value="venting" {{if excludeTrip && excludeTrip.indexOf('venting,') > -1}}checked{{/if}} {{if !enableYjtk}}disabled{{/if}}>
  79 + 直放
  80 + </label>
  81 + <label style="margin-right: 15px;">
  82 + <input type="checkbox" style="width: 14px;" name="excludeTrip" value="major" {{if excludeTrip && excludeTrip.indexOf('major,') > -1}}checked{{/if}} {{if !enableYjtk}}disabled{{/if}}>
  83 + 放站
  84 + </label>
  85 + </div>
  86 + </td>
  87 + </tr>
  88 + <tr>
  89 + <td colspan="2" style="padding-left: 58px;">
  90 + 时间
  91 + <input type="time" value="{{yjtkStart}}" name="yjtkStart" {{if !enableYjtk}}disabled{{/if}}>至
  92 + <input type="time" value="{{yjtkEnd}}" name="yjtkEnd" {{if !enableYjtk}}disabled{{/if}}>
  93 + </td>
  94 + </tr>
  95 + <tr>
  96 + <td>
  97 + 上行停靠时间
  98 + <input type="number" value="{{upStopMinute}}" name="upStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟
  99 + </td>
  100 + </tr>
  101 + <tr>
  102 + <td>
  103 + 下行停靠时间
  104 + <input type="number" value="{{downStopMinute}}" name="downStopMinute" {{if !enableYjtk}}disabled{{/if}}>分钟
  105 + </td>
  106 + </tr>
  107 + </table>
  108 + </form>
  109 + </div>
  110 + </div>
  111 + </script>
  112 +
  113 + <script>
  114 + (function () {
  115 + var wrap = '#buffer_config_wrap',
  116 + conf;
  117 +
  118 + var textMap = {upInDiff: '到达上行加', upOutDiff: '上行发出减', downInDiff: '到达下行加', downOutDiff: '下行发出减'};
  119 + $(wrap).on('init', function (e, data) {
  120 + e.stopPropagation();
  121 + conf = data.lineConfig;
  122 +
  123 + var htmlStr = template('buffer_config_form-temp', conf);
  124 + $(wrap).html(htmlStr);
  125 +
  126 + //到站缓冲区设置
  127 + $('#buffer_inOut_diff_panel input', wrap).on('focus', function () {
  128 + $(this).next('.edit-icon').show();
  129 + });
  130 + $('#buffer_inOut_diff_panel input', wrap).on('blur', function () {
  131 + $(this).next('.edit-icon').hide();
  132 +
  133 + var field = $(this).attr('name');
  134 + var val = $(this).val();
  135 + if (conf[field] != val) {
  136 + gb_common.$post('/lineConfig/bufferTimeDiff', {
  137 + lineCode: conf.line.lineCode,
  138 + field: field,
  139 + value: val
  140 + }, function (rs) {
  141 + conf[rs.field] = rs.value;
  142 + notify_succ(textMap[field] + val + '秒');
  143 + });
  144 + }
  145 + });
  146 +
  147 + //启禁用应急停靠
  148 + $('[name=enableYjtk]', wrap).on('change', function () {
  149 + if($(this).val() == '1'){
  150 + enableYjtkForm();
  151 + }
  152 + else
  153 + disabledYjtkForm();
  154 + });
  155 + //参数改变
  156 + $('form[name=yjtkForm] input', wrap).on('blur', function () {
  157 + var field = $(this).attr('name');
  158 + var val = $(this).val(), excludeTrip;
  159 + if ('excludeTrip' === field) {
  160 + excludeTrip = $('form[name=yjtkForm] input[name=excludeTrip]:checked', wrap).map(function() {
  161 + return this.value;
  162 + }).get().join(',') + ',';
  163 + val = excludeTrip;
  164 + }
  165 + if (conf[field] != val) {
  166 + var data = $('form[name=yjtkForm]', wrap).serializeJSON();
  167 + data.lineCode = conf.line.lineCode;
  168 + data.excludeTrip = excludeTrip;
  169 + // 0禁用 1启用 2修改参数
  170 + data.operCode = 2;
  171 + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) {
  172 + conf = rs.conf;
  173 + notify_succ('调整应急停靠参数');
  174 + });
  175 + }
  176 + });
  177 + });
  178 +
  179 + function enableYjtkForm() {
  180 + var f = $('form[name=yjtkForm]', wrap);
  181 + $('input', f).removeAttr('disabled');
  182 + //开始时间
  183 + if($('[name=yjtkStart]',f).val() == '')
  184 + $('[name=yjtkStart]',f).val('00:00');
  185 + if($('[name=yjtkEnd]',f).val() == '')
  186 + $('[name=yjtkEnd]',f).val('23:59');
  187 +
  188 + var data = f.serializeJSON();
  189 + data.lineCode = conf.line.lineCode;
  190 + data.operCode = 1;
  191 + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) {
  192 + conf = rs.conf;
  193 + notify_succ('启用应急停靠');
  194 + });
  195 + }
  196 +
  197 + function disabledYjtkForm() {
  198 + var f = $('form[name=yjtkForm]', wrap);
  199 + $('input', f).attr('disabled', 'disabled');
  200 + //恢复val
  201 + $('[name=yjtkStart]',f).val(conf.yjtkStart);
  202 + $('[name=yjtkEnd]',f).val(conf.yjtkEnd);
  203 + $('[name=upStopMinute]',f).val(conf.upStopMinute);
  204 + $('[name=downStopMinute]',f).val(conf.downStopMinute);
  205 + // 恢复excludeTrip复选框组的值
  206 + if (conf.excludeTrip) {
  207 + $('form[name=yjtkForm] input[name=excludeTrip]', f).each(function() {
  208 + $(this).prop('checked', conf.excludeTrip.indexOf(this.value) > -1);
  209 + });
  210 + } else {
  211 + $('form[name=yjtkForm] input[name=excludeTrip]', f).prop('checked', false);
  212 + }
  213 +
  214 + var data = {enableYjtk: 0, lineCode: conf.line.lineCode, operCode: 0};
  215 + gb_common.$post('/lineConfig/yjtkSet', data, function (rs) {
  216 + conf = rs.conf;
  217 + notify_succ('禁用应急停靠');
  218 + });
  219 + }
  220 + })();
  221 + </script>
176 </div> 222 </div>
177 \ No newline at end of file 223 \ No newline at end of file
src/main/resources/static/real_control_v2_mobile/alone_page/home/home_wrap.html
1 -<!DOCTYPE html>  
2 -<html lang="zh-cn">  
3 -  
4 -<head>  
5 - <meta charset="UTF-8">  
6 - <title>主页模拟图</title>  
7 - <!-- uikit core style-->  
8 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css" />  
9 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" merge="plugins"/>  
10 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" merge="plugins"/>  
11 - <link rel="stylesheet"  
12 - href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="plugins"/>  
13 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css" merge="plugins"/>  
14 -  
15 - <!-- main style -->  
16 - <link rel="stylesheet" href="/real_control_v2_mobile/css/main.css" />  
17 - <!-- home style -->  
18 - <link rel="stylesheet" href="/real_control_v2_mobile/css/home.css" merge="custom_style"/>  
19 -  
20 - <!-- custom table -->  
21 - <link rel="stylesheet" href="/real_control_v2_mobile/css/ct_table.css" merge="custom_style"/>  
22 - <!-- jquery contextMenu style -->  
23 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/css/jquery.contextMenu.min.css" merge="plugins"/>  
24 - <!-- formvalidation style -->  
25 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/formvalidation/formValidation.min.css" merge="plugins"/>  
26 - <!-- js tree -->  
27 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/jstree/default/style.css" merge="plugins"/>  
28 - <!-- tooltip css-->  
29 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/qtip/jquery.qtip.min.css" merge="plugins"/>  
30 - <link rel="stylesheet" href="/real_control_v2_mobile/css/pace.css" merge="plugins"/>  
31 -  
32 - <link rel="stylesheet" href="/real_control_v2_mobile/css/modal_extend.css" merge="custom_style"/>  
33 - <!-- perfect-scrollbar style -->  
34 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" merge="plugins"/>  
35 - <!-- layer 3.0.3 -->  
36 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/default/layer.css" merge="plugins"/>  
37 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/moon/style.css" merge="plugins"/>  
38 -  
39 -  
40 - <style>  
41 - .main-container{  
42 - height: 100% !important;  
43 - }  
44 -  
45 - #main-tab-content{  
46 - padding: 0 !important;  
47 - list-style: none;  
48 - }  
49 -  
50 - .home-panel{  
51 -  
52 - }  
53 -  
54 - #home-main-content{  
55 - padding: 0 !important;  
56 - }  
57 -  
58 - #main-tab-content>.home-panel>#home-main-content{  
59 - overflow: inherit !important;  
60 - }  
61 - </style>  
62 -</head>  
63 -  
64 -<body>  
65 -<!--<div class="main-container" style="height: 100%;">  
66 -</div>-->  
67 -<div class="main-container">  
68 - <ul id="main-tab-content">  
69 - <li class="home-panel"></li>  
70 - </ul>  
71 -</div>  
72 -  
73 -  
74 -<!-- 地图相关 -->  
75 -<script src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script>  
76 -<script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>  
77 -<script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>  
78 -<script src="/assets/js/TransGPS.js" merge="plugins"></script>  
79 -<!-- jquery -->  
80 -<script src="/real_control_v2_mobile/assets/js/jquery.min.js"></script>  
81 -<!-- jquery actual -->  
82 -<script src="/real_control_v2_mobile/assets/js/jquery.actual.min.js" merge="plugins"></script>  
83 -<!-- jquery.serializejson JSON序列化插件 -->  
84 -<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script>  
85 -<!-- moment.js 日期处理类库 -->  
86 -<script src="/real_control_v2_mobile/assets/plugins/moment/moment.min.js"></script>  
87 -<script src="/real_control_v2_mobile/assets/plugins/moment/zh-cn.js"></script>  
88 -  
89 -<!-- flatpickr -->  
90 -<script src="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script>  
91 -<script src="/real_control_v2_mobile/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script>  
92 -  
93 -<!-- perfect-scrollbar -->  
94 -<script src="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>  
95 -<!-- common js -->  
96 -<script src="/real_control_v2_mobile/js/common.js"></script>  
97 -<!-- art-template 模版引擎 -->  
98 -<script src="/assets/plugins/template.js" merge="plugins"></script>  
99 -<!-- d3 -->  
100 -<script src="/assets/js/d3.min.js"></script>  
101 -<!-- EventProxy -->  
102 -<script src="/assets/js/eventproxy.js"></script>  
103 -<!-- Geolib -->  
104 -<script src="/real_control_v2_mobile/geolib/geolib.js" merge="plugins"></script>  
105 -  
106 -<script>  
107 -  
108 -  
109 - var res_load_ep = EventProxy.create('load_home_layout', 'load_home_line_panel', 'load_data_basic', 'data-basic', function () {  
110 - //加载主页  
111 - gb_home_layout.layout(function () {  
112 - gb_home_line_panel.init(function () {  
113 - //gps自刷新  
114 - gb_data_gps.fixedTimeRefresh();  
115 -  
116 - $('.uk-icon-send-o.home_alone_page').remove();  
117 - });  
118 - });  
119 - });  
120 -  
121 - function connectArr(arr, separator, transFun) {  
122 - var rs = '';  
123 - $.each(arr, function (i, item) {  
124 - if (transFun)  
125 - item = transFun(item);  
126 - rs += (separator + item);  
127 - });  
128 - return rs.substr(separator.length);  
129 - }  
130 -  
131 - var isArray = function (obj) {  
132 - return Object.prototype.toString.call(obj) === '[object Array]';  
133 - };  
134 -  
135 - var gb_form_validation_opts = {  
136 - framework: 'uikit',  
137 - locale: 'zh_CN',  
138 - icon: {  
139 - valid: 'uk-icon-check',  
140 - invalid: 'uk-icon-times',  
141 - validating: 'uk-icon-refresh'  
142 - }  
143 - };  
144 -  
145 -</script>  
146 -  
147 -<!-- uikit core -->  
148 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>  
149 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>  
150 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/pagination.min.js" merge="uikit_js"></script>  
151 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>  
152 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script>  
153 -  
154 -  
155 -<!-- jquery contextMenu -->  
156 -<script src="/real_control_v2_mobile/assets/js/jquery.contextMenu.min.js" merge="plugins"></script>  
157 -<script src="/real_control_v2_mobile/assets/js/jquery.ui.position.min.js" merge="plugins"></script>  
158 -<!-- formvalidation- -->  
159 -<script src="/real_control_v2_mobile/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script>  
160 -<script src="/real_control_v2_mobile/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script>  
161 -<script src="/real_control_v2_mobile/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script>  
162 -<!-- js tree -->  
163 -<script src="/real_control_v2_mobile/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>  
164 -<!-- simple pinyin -->  
165 -<script src="/assets/plugins/pinyin.js" merge="plugins"></script>  
166 -<!-- qtip -->  
167 -<script src="/real_control_v2_mobile/assets/plugins/qtip/jquery.qtip.min.js" merge="plugins"></script>  
168 -<!-- layer 3.0.3 -->  
169 -<script src="/real_control_v2_mobile/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script>  
170 -  
171 -<!-- 数据 -->  
172 -<script src="/real_control_v2_mobile/alone_page/home/alone_data_basic.js" merge="custom_js"></script>  
173 -<script src="/real_control_v2_mobile/alone_page/home/alone_data_gps.js" merge="custom_js"></script>  
174 -<script src="/real_control_v2_mobile/js/data/gps_abnormal.js" merge="custom_js"></script>  
175 -<!-- 线路模拟图 -->  
176 -<script src="/real_control_v2_mobile/js/utils/svg_chart.js" merge="custom_js"></script>  
177 -<script src="/real_control_v2_mobile/js/utils/svg_data_convert.js" merge="custom_js"></script>  
178 -<script src="/real_control_v2_mobile/js/utils/svg_chart_tooltip.js" merge="custom_js"></script>  
179 -<script src="/real_control_v2_mobile/js/utils/svg_chart_map.js" merge="custom_js"></script>  
180 -  
181 -<!-- custom table js -->  
182 -<script src="/real_control_v2_mobile/js/utils/ct_table.js" merge="custom_js"></script>  
183 -<!-- home js -->  
184 -<script src="/real_control_v2_mobile/js/home/layout.js" merge="custom_js"></script>  
185 -<script src="/real_control_v2_mobile/js/home/line_panel.js" merge="custom_js"></script>  
186 -<script src="/real_control_v2_mobile/js/home/context_menu.js" merge="custom_js"></script>  
187 -  
188 -  
189 -<!-- 模态框扩展 -->  
190 -<script src="/real_control_v2_mobile/js/modal_extend.js" merge="custom_js"></script>  
191 -  
192 -</body>  
193 -  
194 -</html> 1 +<!DOCTYPE html>
  2 +<html lang="zh-cn">
  3 +
  4 +<head>
  5 + <meta charset="UTF-8">
  6 + <title>主页模拟图</title>
  7 + <!-- uikit core style-->
  8 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css" />
  9 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" merge="plugins"/>
  10 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" merge="plugins"/>
  11 + <link rel="stylesheet"
  12 + href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="plugins"/>
  13 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css" merge="plugins"/>
  14 +
  15 + <!-- main style -->
  16 + <link rel="stylesheet" href="/real_control_v2_mobile/css/main.css" />
  17 + <!-- home style -->
  18 + <link rel="stylesheet" href="/real_control_v2_mobile/css/home.css" merge="custom_style"/>
  19 +
  20 + <!-- custom table -->
  21 + <link rel="stylesheet" href="/real_control_v2_mobile/css/ct_table.css" merge="custom_style"/>
  22 + <!-- jquery contextMenu style -->
  23 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/css/jquery.contextMenu.min.css" merge="plugins"/>
  24 + <!-- formvalidation style -->
  25 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/formvalidation/formValidation.min.css" merge="plugins"/>
  26 + <!-- js tree -->
  27 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/jstree/default/style.css" merge="plugins"/>
  28 + <!-- tooltip css-->
  29 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/qtip/jquery.qtip.min.css" merge="plugins"/>
  30 + <link rel="stylesheet" href="/real_control_v2_mobile/css/pace.css" merge="plugins"/>
  31 +
  32 + <link rel="stylesheet" href="/real_control_v2_mobile/css/modal_extend.css" merge="custom_style"/>
  33 + <!-- perfect-scrollbar style -->
  34 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" merge="plugins"/>
  35 + <!-- layer 3.0.3 -->
  36 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/default/layer.css" merge="plugins"/>
  37 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/moon/style.css" merge="plugins"/>
  38 +
  39 +
  40 + <style>
  41 + .main-container{
  42 + height: 100% !important;
  43 + }
  44 +
  45 + #main-tab-content{
  46 + padding: 0 !important;
  47 + list-style: none;
  48 + }
  49 +
  50 + .home-panel{
  51 +
  52 + }
  53 +
  54 + #home-main-content{
  55 + padding: 0 !important;
  56 + }
  57 +
  58 + #main-tab-content>.home-panel>#home-main-content{
  59 + overflow: inherit !important;
  60 + }
  61 + </style>
  62 +</head>
  63 +
  64 +<body>
  65 +<!--<div class="main-container" style="height: 100%;">
  66 +</div>-->
  67 +<div class="main-container">
  68 + <ul id="main-tab-content">
  69 + <li class="home-panel"></li>
  70 + </ul>
  71 +</div>
  72 +
  73 +
  74 +<!-- 地图相关 -->
  75 +<script src="http://api.map.baidu.com/api?v=2.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script>
  76 +<script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>
  77 +<script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>
  78 +<script src="/assets/js/TransGPS.js" merge="plugins"></script>
  79 +<!-- jquery -->
  80 +<script src="/real_control_v2_mobile/assets/js/jquery.min.js"></script>
  81 +<!-- jquery actual -->
  82 +<script src="/real_control_v2_mobile/assets/js/jquery.actual.min.js" merge="plugins"></script>
  83 +<!-- jquery.serializejson JSON序列化插件 -->
  84 +<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script>
  85 +<!-- moment.js 日期处理类库 -->
  86 +<script src="/real_control_v2_mobile/assets/plugins/moment/moment.min.js"></script>
  87 +<script src="/real_control_v2_mobile/assets/plugins/moment/zh-cn.js"></script>
  88 +
  89 +<!-- flatpickr -->
  90 +<script src="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script>
  91 +<script src="/real_control_v2_mobile/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script>
  92 +
  93 +<!-- perfect-scrollbar -->
  94 +<script src="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>
  95 +<!-- common js -->
  96 +<script src="/real_control_v2_mobile/js/common.js"></script>
  97 +<!-- art-template 模版引擎 -->
  98 +<script src="/assets/plugins/template.js" merge="plugins"></script>
  99 +<!-- d3 -->
  100 +<script src="/assets/js/d3.min.js"></script>
  101 +<!-- EventProxy -->
  102 +<script src="/assets/js/eventproxy.js"></script>
  103 +<!-- Geolib -->
  104 +<script src="/real_control_v2_mobile/geolib/geolib.js" merge="plugins"></script>
  105 +
  106 +<script>
  107 +
  108 +
  109 + var res_load_ep = EventProxy.create('load_home_layout', 'load_home_line_panel', 'load_data_basic', 'data-basic', function () {
  110 + //加载主页
  111 + gb_home_layout.layout(function () {
  112 + gb_home_line_panel.init(function () {
  113 + //gps自刷新
  114 + gb_data_gps.fixedTimeRefresh();
  115 +
  116 + $('.uk-icon-send-o.home_alone_page').remove();
  117 + });
  118 + });
  119 + });
  120 +
  121 + function connectArr(arr, separator, transFun) {
  122 + var rs = '';
  123 + $.each(arr, function (i, item) {
  124 + if (transFun)
  125 + item = transFun(item);
  126 + rs += (separator + item);
  127 + });
  128 + return rs.substr(separator.length);
  129 + }
  130 +
  131 + var isArray = function (obj) {
  132 + return Object.prototype.toString.call(obj) === '[object Array]';
  133 + };
  134 +
  135 + var gb_form_validation_opts = {
  136 + framework: 'uikit',
  137 + locale: 'zh_CN',
  138 + icon: {
  139 + valid: 'uk-icon-check',
  140 + invalid: 'uk-icon-times',
  141 + validating: 'uk-icon-refresh'
  142 + }
  143 + };
  144 +
  145 +</script>
  146 +
  147 +<!-- uikit core -->
  148 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>
  149 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>
  150 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/pagination.min.js" merge="uikit_js"></script>
  151 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>
  152 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script>
  153 +
  154 +
  155 +<!-- jquery contextMenu -->
  156 +<script src="/real_control_v2_mobile/assets/js/jquery.contextMenu.min.js" merge="plugins"></script>
  157 +<script src="/real_control_v2_mobile/assets/js/jquery.ui.position.min.js" merge="plugins"></script>
  158 +<!-- formvalidation- -->
  159 +<script src="/real_control_v2_mobile/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script>
  160 +<script src="/real_control_v2_mobile/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script>
  161 +<script src="/real_control_v2_mobile/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script>
  162 +<!-- js tree -->
  163 +<script src="/real_control_v2_mobile/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>
  164 +<!-- simple pinyin -->
  165 +<script src="/assets/plugins/pinyin.js" merge="plugins"></script>
  166 +<!-- qtip -->
  167 +<script src="/real_control_v2_mobile/assets/plugins/qtip/jquery.qtip.min.js" merge="plugins"></script>
  168 +<!-- layer 3.0.3 -->
  169 +<script src="/real_control_v2_mobile/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script>
  170 +
  171 +<!-- 数据 -->
  172 +<script src="/real_control_v2_mobile/alone_page/home/alone_data_basic.js" merge="custom_js"></script>
  173 +<script src="/real_control_v2_mobile/alone_page/home/alone_data_gps.js" merge="custom_js"></script>
  174 +<script src="/real_control_v2_mobile/js/data/gps_abnormal.js" merge="custom_js"></script>
  175 +<!-- 线路模拟图 -->
  176 +<script src="/real_control_v2_mobile/js/utils/svg_chart.js" merge="custom_js"></script>
  177 +<script src="/real_control_v2_mobile/js/utils/svg_data_convert.js" merge="custom_js"></script>
  178 +<script src="/real_control_v2_mobile/js/utils/svg_chart_tooltip.js" merge="custom_js"></script>
  179 +<script src="/real_control_v2_mobile/js/utils/svg_chart_map.js" merge="custom_js"></script>
  180 +
  181 +<!-- custom table js -->
  182 +<script src="/real_control_v2_mobile/js/utils/ct_table.js" merge="custom_js"></script>
  183 +<!-- home js -->
  184 +<script src="/real_control_v2_mobile/js/home/layout.js" merge="custom_js"></script>
  185 +<script src="/real_control_v2_mobile/js/home/line_panel.js" merge="custom_js"></script>
  186 +<script src="/real_control_v2_mobile/js/home/context_menu.js" merge="custom_js"></script>
  187 +
  188 +
  189 +<!-- 模态框扩展 -->
  190 +<script src="/real_control_v2_mobile/js/modal_extend.js" merge="custom_js"></script>
  191 +
  192 +</body>
  193 +
  194 +</html>
src/main/resources/static/real_control_v2_mobile/alone_page/map/alone_wrap.html
1 -<!DOCTYPE html>  
2 -<html lang="zh-cn">  
3 -  
4 -<head>  
5 - <meta charset="UTF-8">  
6 - <title>地图监控 v2.0</title>  
7 - <!-- uikit core style-->  
8 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css"/>  
9 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css"  
10 - merge="plugins"/>  
11 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css"  
12 - merge="plugins"/>  
13 - <link rel="stylesheet"  
14 - href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="plugins"/>  
15 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css"  
16 - merge="plugins"/>  
17 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/slidenav.gradient.min.css"  
18 - merge="plugins"/>  
19 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css"  
20 - merge="plugins"/>  
21 -  
22 - <!-- main style -->  
23 - <link rel="stylesheet" href="/real_control_v2_mobile/css/main.css"/>  
24 - <!-- north style -->  
25 - <link rel="stylesheet" href="/real_control_v2_mobile/css/north.css" merge="custom_style"/>  
26 - <!-- home style -->  
27 - <link rel="stylesheet" href="/real_control_v2_mobile/css/home.css" merge="custom_style"/>  
28 -  
29 - <!-- js tree -->  
30 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/jstree/default/style.css" merge="plugins"/>  
31 -  
32 - <link rel="stylesheet" href="/real_control_v2_mobile/css/modal_extend.css" merge="custom_style"/>  
33 - <!-- perfect-scrollbar style -->  
34 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.css"  
35 - merge="plugins"/>  
36 - <!-- layer 3.0.3 -->  
37 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/default/layer.css" merge="plugins"/>  
38 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/moon/style.css" merge="plugins"/>  
39 -  
40 - <!-- flatpickr -->  
41 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.css" merge="plugins"/>  
42 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/flatpickr/themes/airbnb.css" merge="plugins"/>  
43 -  
44 - <link rel="stylesheet" href="/real_control_v2_mobile/css/ct_table.css" merge="custom_style"/>  
45 -  
46 - <style>  
47 - .main-container .map-panel{  
48 - position: absolute;  
49 - top:0;  
50 - left: 0;  
51 - width: 20px;  
52 - z-index: 999;  
53 - height: 20px;  
54 - }  
55 - </style>  
56 -</head>  
57 -  
58 -<body>  
59 -<div class="main-container" style="height: 100%;">  
60 - <span style="position: absolute;left: calc(50% - 35px);top: calc(45% - 35px);">加载中...</span>  
61 -</div>  
62 -<!-- 地图相关 -->  
63 -<script src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script>  
64 -<script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>  
65 -<script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>  
66 -<script src="/assets/js/TransGPS.js" merge="plugins"></script>  
67 -<!-- 高德 -->  
68 -<script src="http://webapi.amap.com/maps?v=1.3&key=16cb1c5043847e09ef9edafdd77befda"></script>  
69 -<!-- jquery -->  
70 -<script src="/real_control_v2_mobile/assets/js/jquery.min.js"></script>  
71 -<!-- jquery actual -->  
72 -<script src="/real_control_v2_mobile/assets/js/jquery.actual.min.js" merge="plugins"></script>  
73 -<!-- moment.js 日期处理类库 -->  
74 -<script src="/real_control_v2_mobile/assets/plugins/moment/moment.min.js"></script>  
75 -<script src="/real_control_v2_mobile/assets/plugins/moment/zh-cn.js"></script>  
76 -  
77 -<!-- flatpickr -->  
78 -<script src="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script>  
79 -<script src="/real_control_v2_mobile/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script>  
80 -  
81 -<!-- perfect-scrollbar -->  
82 -<script src="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>  
83 -<!-- common js -->  
84 -<script src="/real_control_v2_mobile/js/common.js"></script>  
85 -<!-- art-template 模版引擎 -->  
86 -<script src="/assets/plugins/template.js" merge="plugins"></script>  
87 -<!-- d3 -->  
88 -<script src="/assets/js/d3.min.js"></script>  
89 -<!-- EventProxy -->  
90 -<script src="/assets/js/eventproxy.js"></script>  
91 -<!-- uikit core -->  
92 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>  
93 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>  
94 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>  
95 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.min.js" merge="uikit_js"></script>  
96 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/accordion.min.js" merge="uikit_js"></script>  
97 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script>  
98 -  
99 -<!-- js tree -->  
100 -<script src="/real_control_v2_mobile/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>  
101 -<!-- layer 3.0.3 -->  
102 -<script src="/real_control_v2_mobile/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script>  
103 -  
104 -<!-- 模态框扩展 -->  
105 -<script src="/real_control_v2_mobile/js/modal_extend.js" merge="custom_js"></script>  
106 -  
107 -<script src="/real_control_v2_mobile/alone_page/map/alone_data_basic.js" merge="custom_js"></script>  
108 -<script src="/real_control_v2_mobile/alone_page/map/alone_data_gps.js" merge="custom_js"></script>  
109 -<script src="/real_control_v2_mobile/js/utils/ct_table.js" merge="custom_js"></script>  
110 -<!-- jquery.serializejson JSON序列化插件 -->  
111 -<script src="/assets/plugins/jquery.serializejson.js" merge="uikit_js"></script>  
112 -  
113 -<script src="/assets/plugins/pinyin.js" merge="plugins"></script>  
114 -</body>  
115 -<script>  
116 - gb_data_gps.fixedTimeRefresh();  
117 - var res_load_ep = EventProxy.create('data-basic', function () {  
118 -  
119 - //嵌入地图页面  
120 - $('.main-container').load('/real_control_v2_mobile/mapmonitor/real.html', function () {  
121 - $('.map-system-msg.flex-left').remove();  
122 -  
123 - $(this).append('<span class="map-panel"></span>');//判断里有JS判定这个容器是否显示  
124 - });  
125 - });  
126 -  
127 - var isArray = function (obj) {  
128 - return Object.prototype.toString.call(obj) === '[object Array]';  
129 - };  
130 -</script>  
131 -</html> 1 +<!DOCTYPE html>
  2 +<html lang="zh-cn">
  3 +
  4 +<head>
  5 + <meta charset="UTF-8">
  6 + <title>地图监控 v2.0</title>
  7 + <!-- uikit core style-->
  8 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css"/>
  9 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css"
  10 + merge="plugins"/>
  11 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css"
  12 + merge="plugins"/>
  13 + <link rel="stylesheet"
  14 + href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="plugins"/>
  15 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css"
  16 + merge="plugins"/>
  17 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/slidenav.gradient.min.css"
  18 + merge="plugins"/>
  19 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css"
  20 + merge="plugins"/>
  21 +
  22 + <!-- main style -->
  23 + <link rel="stylesheet" href="/real_control_v2_mobile/css/main.css"/>
  24 + <!-- north style -->
  25 + <link rel="stylesheet" href="/real_control_v2_mobile/css/north.css" merge="custom_style"/>
  26 + <!-- home style -->
  27 + <link rel="stylesheet" href="/real_control_v2_mobile/css/home.css" merge="custom_style"/>
  28 +
  29 + <!-- js tree -->
  30 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/jstree/default/style.css" merge="plugins"/>
  31 +
  32 + <link rel="stylesheet" href="/real_control_v2_mobile/css/modal_extend.css" merge="custom_style"/>
  33 + <!-- perfect-scrollbar style -->
  34 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.css"
  35 + merge="plugins"/>
  36 + <!-- layer 3.0.3 -->
  37 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/default/layer.css" merge="plugins"/>
  38 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/moon/style.css" merge="plugins"/>
  39 +
  40 + <!-- flatpickr -->
  41 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.css" merge="plugins"/>
  42 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/flatpickr/themes/airbnb.css" merge="plugins"/>
  43 +
  44 + <link rel="stylesheet" href="/real_control_v2_mobile/css/ct_table.css" merge="custom_style"/>
  45 +
  46 + <style>
  47 + .main-container .map-panel{
  48 + position: absolute;
  49 + top:0;
  50 + left: 0;
  51 + width: 20px;
  52 + z-index: 999;
  53 + height: 20px;
  54 + }
  55 + </style>
  56 +</head>
  57 +
  58 +<body>
  59 +<div class="main-container" style="height: 100%;">
  60 + <span style="position: absolute;left: calc(50% - 35px);top: calc(45% - 35px);">加载中...</span>
  61 +</div>
  62 +<!-- 地图相关 -->
  63 +<script src="http://api.map.baidu.com/api?v=2.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script>
  64 +<script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>
  65 +<script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>
  66 +<script src="/assets/js/TransGPS.js" merge="plugins"></script>
  67 +<!-- 高德 -->
  68 +<script src="http://webapi.amap.com/maps?v=1.3&key=16cb1c5043847e09ef9edafdd77befda"></script>
  69 +<!-- jquery -->
  70 +<script src="/real_control_v2_mobile/assets/js/jquery.min.js"></script>
  71 +<!-- jquery actual -->
  72 +<script src="/real_control_v2_mobile/assets/js/jquery.actual.min.js" merge="plugins"></script>
  73 +<!-- moment.js 日期处理类库 -->
  74 +<script src="/real_control_v2_mobile/assets/plugins/moment/moment.min.js"></script>
  75 +<script src="/real_control_v2_mobile/assets/plugins/moment/zh-cn.js"></script>
  76 +
  77 +<!-- flatpickr -->
  78 +<script src="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script>
  79 +<script src="/real_control_v2_mobile/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script>
  80 +
  81 +<!-- perfect-scrollbar -->
  82 +<script src="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>
  83 +<!-- common js -->
  84 +<script src="/real_control_v2_mobile/js/common.js"></script>
  85 +<!-- art-template 模版引擎 -->
  86 +<script src="/assets/plugins/template.js" merge="plugins"></script>
  87 +<!-- d3 -->
  88 +<script src="/assets/js/d3.min.js"></script>
  89 +<!-- EventProxy -->
  90 +<script src="/assets/js/eventproxy.js"></script>
  91 +<!-- uikit core -->
  92 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>
  93 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>
  94 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>
  95 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.min.js" merge="uikit_js"></script>
  96 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/accordion.min.js" merge="uikit_js"></script>
  97 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script>
  98 +
  99 +<!-- js tree -->
  100 +<script src="/real_control_v2_mobile/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>
  101 +<!-- layer 3.0.3 -->
  102 +<script src="/real_control_v2_mobile/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script>
  103 +
  104 +<!-- 模态框扩展 -->
  105 +<script src="/real_control_v2_mobile/js/modal_extend.js" merge="custom_js"></script>
  106 +
  107 +<script src="/real_control_v2_mobile/alone_page/map/alone_data_basic.js" merge="custom_js"></script>
  108 +<script src="/real_control_v2_mobile/alone_page/map/alone_data_gps.js" merge="custom_js"></script>
  109 +<script src="/real_control_v2_mobile/js/utils/ct_table.js" merge="custom_js"></script>
  110 +<!-- jquery.serializejson JSON序列化插件 -->
  111 +<script src="/assets/plugins/jquery.serializejson.js" merge="uikit_js"></script>
  112 +
  113 +<script src="/assets/plugins/pinyin.js" merge="plugins"></script>
  114 +</body>
  115 +<script>
  116 + gb_data_gps.fixedTimeRefresh();
  117 + var res_load_ep = EventProxy.create('data-basic', function () {
  118 +
  119 + //嵌入地图页面
  120 + $('.main-container').load('/real_control_v2_mobile/mapmonitor/real.html', function () {
  121 + $('.map-system-msg.flex-left').remove();
  122 +
  123 + $(this).append('<span class="map-panel"></span>');//判断里有JS判定这个容器是否显示
  124 + });
  125 + });
  126 +
  127 + var isArray = function (obj) {
  128 + return Object.prototype.toString.call(obj) === '[object Array]';
  129 + };
  130 +</script>
  131 +</html>
src/main/resources/static/real_control_v2_mobile/main.html
1 -<!DOCTYPE html>  
2 -<html lang="zh-cn">  
3 -  
4 -<head>  
5 - <meta charset="UTF-8">  
6 - <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />-->  
7 - <title>线路调度 v2.0</title>  
8 - <!-- uikit core style-->  
9 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css" />  
10 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" merge="plugins"/>  
11 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" merge="plugins"/>  
12 - <link rel="stylesheet"  
13 - href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="plugins"/>  
14 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css" merge="plugins"/>  
15 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/slidenav.gradient.min.css" merge="plugins"/>  
16 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css" merge="plugins"/>  
17 -  
18 - <!-- main style -->  
19 - <link rel="stylesheet" href="/real_control_v2_mobile/css/main.css" />  
20 - <!-- north style -->  
21 - <link rel="stylesheet" href="/real_control_v2_mobile/css/north.css" merge="custom_style"/>  
22 - <!-- home style -->  
23 - <link rel="stylesheet" href="/real_control_v2_mobile/css/home.css" merge="custom_style"/>  
24 - <!-- line style -->  
25 - <link rel="stylesheet" href="/real_control_v2_mobile/css/line_schedule.css" merge="custom_style"/>  
26 - <link rel="stylesheet" href="/real_control_v2_mobile/css/line_schedule_table.css" merge="custom_style"/>  
27 -  
28 - <link rel="stylesheet" href="/real_control_v2_mobile/css/sch_autocomp_result.css" merge="custom_style"/>  
29 - <!-- custom table -->  
30 - <link rel="stylesheet" href="/real_control_v2_mobile/css/ct_table.css" merge="custom_style"/>  
31 - <!-- jquery contextMenu style -->  
32 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/css/jquery.contextMenu.min.css" merge="plugins"/>  
33 - <!-- formvalidation style -->  
34 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/formvalidation/formValidation.min.css" merge="plugins"/>  
35 - <!-- js tree -->  
36 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/jstree/default/style.css" merge="plugins"/>  
37 - <!-- tooltip css-->  
38 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/qtip/jquery.qtip.min.css" merge="plugins"/>  
39 - <link rel="stylesheet" href="/real_control_v2_mobile/css/pace.css" merge="plugins"/>  
40 -  
41 - <link rel="stylesheet" href="/real_control_v2_mobile/css/modal_extend.css" merge="custom_style"/>  
42 - <!-- perfect-scrollbar style -->  
43 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" merge="plugins"/>  
44 - <!-- layer 3.0.3 -->  
45 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/default/layer.css" merge="plugins"/>  
46 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/moon/style.css" merge="plugins"/>  
47 -  
48 - <!-- flatpickr -->  
49 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.css" merge="plugins">  
50 - <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/flatpickr/themes/airbnb.css" merge="plugins">  
51 -</head>  
52 -  
53 -<body>  
54 -<div class="north uk-width-1-1 uk-panel-box">  
55 - <div class="uk-grid uk-grid-match">  
56 - <div class="uk-width-4-10">  
57 - <div class="uk-panel">  
58 - <h2 class="north-logo">  
59 - <!--<i class="uk-icon-life-ring"></i>--> 青浦公交线路调度  
60 - </h2>  
61 - </div>  
62 - </div>  
63 - <div class="uk-width-6-10">  
64 - <div class="uk-panel uk-width north-toolbar"></div>  
65 - </div>  
66 - </div>  
67 - <div class="north-tabs"></div>  
68 - </div>  
69 -  
70 -<div class="main-container">  
71 - <div class="load-panel">  
72 - <i class="uk-icon-spinner uk-icon-spin"></i>  
73 - 正在加载数据  
74 - </div>  
75 -</div>  
76 -  
77 -<script>  
78 -  
79 - delete window.exports;  
80 - delete window.module;  
81 -  
82 - var ipcMain;  
83 - //是否处于electron环境下  
84 - var isElectron = (function () {  
85 - try {  
86 - if (process.versions.electron)  
87 - return true;  
88 - else  
89 - return false;  
90 - }  
91 - catch (e) {  
92 - return false;  
93 - }  
94 - })();  
95 -  
96 - if (isElectron) {  
97 - var link = document.createElement("link");  
98 - link.type = "text/css";  
99 - link.rel = "stylesheet";  
100 - link.href = "/real_control_v2_mobile/css/electron.css";  
101 - document.getElementsByTagName("head")[0].appendChild(link);  
102 -  
103 - ipcMain = require('electron').ipcRenderer;  
104 - }  
105 -</script>  
106 -  
107 -<!-- 地图相关 -->  
108 -<script src="http://api.map.baidu.com/api?v=2.0&ak=IGGrr4UjwIYzatoCRFKEL8sT"></script>  
109 -<script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>  
110 -<script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>  
111 -<script src="/assets/js/TransGPS.js" merge="plugins"></script>  
112 -<!-- 高德 -->  
113 -<script src="http://webapi.amap.com/maps?v=1.3&key=16cb1c5043847e09ef9edafdd77befda"></script>  
114 -<!-- jquery -->  
115 -<script src="/real_control_v2_mobile/assets/js/jquery.min.js"></script>  
116 -<!-- jquery actual -->  
117 -<script src="/real_control_v2_mobile/assets/js/jquery.actual.min.js" merge="plugins"></script>  
118 -<!-- jquery.serializejson JSON序列化插件 -->  
119 -<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script>  
120 -<!-- moment.js 日期处理类库 -->  
121 -<script src="/real_control_v2_mobile/assets/plugins/moment/moment.min.js"></script>  
122 -<script src="/real_control_v2_mobile/assets/plugins/moment/zh-cn.js"></script>  
123 -  
124 -<!-- flatpickr -->  
125 -<script src="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script>  
126 -<script src="/real_control_v2_mobile/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script>  
127 -  
128 -<!-- perfect-scrollbar -->  
129 -<script src="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>  
130 -<!-- common js -->  
131 -<script src="/real_control_v2_mobile/js/common.js"></script>  
132 -<!-- art-template 模版引擎 -->  
133 -<script src="/assets/plugins/template.js" merge="plugins"></script>  
134 -<!-- d3 -->  
135 -<script src="/assets/js/d3.min.js"></script>  
136 -<!-- EventProxy -->  
137 -<script src="/assets/js/eventproxy.js"></script>  
138 -<!-- main js -->  
139 -<script src="/real_control_v2_mobile/js/main.js"></script>  
140 -<!-- uikit core -->  
141 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>  
142 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>  
143 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/pagination.min.js" merge="uikit_js"></script>  
144 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>  
145 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.min.js" merge="uikit_js"></script>  
146 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/accordion.min.js" merge="uikit_js"></script>  
147 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/timepicker.min.js" merge="uikit_js"></script>  
148 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/lightbox.min.js" merge="uikit_js"></script>  
149 -<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script>  
150 -  
151 -  
152 -<!-- jquery contextMenu -->  
153 -<script src="/real_control_v2_mobile/assets/js/jquery.contextMenu.min.js" merge="plugins"></script>  
154 -<script src="/real_control_v2_mobile/assets/js/jquery.ui.position.min.js" merge="plugins"></script>  
155 -<!-- formvalidation- -->  
156 -<script src="/real_control_v2_mobile/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script>  
157 -<script src="/real_control_v2_mobile/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script>  
158 -<script src="/real_control_v2_mobile/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script>  
159 -<!-- js tree -->  
160 -<script src="/real_control_v2_mobile/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>  
161 -<!-- simple pinyin -->  
162 -<script src="/assets/plugins/pinyin.js" merge="plugins"></script>  
163 -<!-- qtip -->  
164 -<script src="/real_control_v2_mobile/assets/plugins/qtip/jquery.qtip.min.js" merge="plugins"></script>  
165 -<!-- layer 3.0.3 -->  
166 -<script src="/real_control_v2_mobile/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script>  
167 -  
168 -<!-- 数据 -->  
169 -<script src="/real_control_v2_mobile/js/data/data_basic.js" merge="custom_js"></script>  
170 -<script src="/real_control_v2_mobile/js/data/data_gps.js" merge="custom_js"></script>  
171 -<script src="/real_control_v2_mobile/js/data/gps_abnormal.js" merge="custom_js"></script>  
172 -<script src="/real_control_v2_mobile/js/data/data_line_config.js" merge="custom_js"></script>  
173 -<!-- 线路模拟图 -->  
174 -<script src="/real_control_v2_mobile/js/utils/svg_chart.js" merge="custom_js"></script>  
175 -<script src="/real_control_v2_mobile/js/utils/svg_data_convert.js" merge="custom_js"></script>  
176 -<script src="/real_control_v2_mobile/js/utils/svg_chart_tooltip.js" merge="custom_js"></script>  
177 -<script src="/real_control_v2_mobile/js/utils/svg_chart_map.js" merge="custom_js"></script>  
178 -  
179 -<!-- custom table js -->  
180 -<script src="/real_control_v2_mobile/js/utils/ct_table.js" merge="custom_js"></script>  
181 -<!-- north js -->  
182 -<script src="/real_control_v2_mobile/js/north/toolbar.js" merge="custom_js"></script>  
183 -<script src="/real_control_v2_mobile/js/north/tabs.js" merge="custom_js"></script>  
184 -<script src="/real_control_v2_mobile/js/north/second_timer.js" merge="custom_js"></script>  
185 -<!-- home js -->  
186 -<script src="/real_control_v2_mobile/js/home/layout.js" merge="custom_js"></script>  
187 -<script src="/real_control_v2_mobile/js/home/line_panel.js" merge="custom_js"></script>  
188 -<script src="/real_control_v2_mobile/js/home/context_menu.js" merge="custom_js"></script>  
189 -<!-- line schedule js -->  
190 -<script src="/real_control_v2_mobile/js/line_schedule/legend.js" merge="custom_js"></script>  
191 -<script src="/real_control_v2_mobile/js/line_schedule/layout.js" merge="custom_js"></script>  
192 -<script src="/real_control_v2_mobile/js/line_schedule/sch_table.js" merge="custom_js"></script>  
193 -<script src="/real_control_v2_mobile/js/line_schedule/context_menu.js" merge="custom_js"></script>  
194 -<script src="/real_control_v2_mobile/js/line_schedule/dbclick.js" merge="custom_js"></script>  
195 -<script src="/real_control_v2_mobile/js/line_schedule/search.js" merge="custom_js"></script>  
196 -<script src="/real_control_v2_mobile/js/line_schedule/badge_tooltip.js" merge="custom_js"></script>  
197 -<script src="/real_control_v2_mobile/js/line_schedule/mileage_count.js" merge="custom_js"></script>  
198 -  
199 -<!-- 字典相关 -->  
200 -<script src="/assets/js/dictionary.js" merge="custom_js"></script>  
201 -<!-- websocket -->  
202 -<script src="/real_control_v2_mobile/assets/plugins/sockjs-client/sockjs.min.js"></script>  
203 -<script src="/real_control_v2_mobile/js/websocket/sch_websocket.js" merge="custom_js"></script>  
204 -<!-- tts -->  
205 -<script src="/real_control_v2_mobile/js/utils/tts.js" merge="custom_js"></script>  
206 -  
207 -<!-- echart -->  
208 -<script src="/real_control_v2_mobile/assets/echarts-3/echarts.js" merge="plugins"></script>  
209 -<!-- Geolib -->  
210 -<script src="/real_control_v2_mobile/geolib/geolib.js" merge="plugins"></script>  
211 -  
212 -<script src="/real_control_v2_mobile/js/signal_state/signal_state.js" merge="custom_js"></script>  
213 -<script src="/real_control_v2_mobile/js/utils/dispatch_pattern.js" merge="custom_js"></script>  
214 -  
215 -<!-- 处理表单片段嵌入问题 -->  
216 -<script src="/real_control_v2_mobile/js/forms/form_embed.js" merge="custom_js"></script>  
217 -<!-- 模态框扩展 -->  
218 -<script src="/real_control_v2_mobile/js/modal_extend.js" merge="custom_js"></script>  
219 -  
220 -<!-- #### 安全驾驶 start ### -->  
221 -<div class="safe_driv_pop_wrap" ></div>  
222 -<script id="safe_driv_item-temp" type="text/html">  
223 - <div class="safe_driv_pop uk-animation-slide-bottom" data-nbbm="{{clzbh}}" data-type="{{yczltype}}" data-title="{{clzbh}} {{timeStr}} {{ycztText}}" data-url="{{url}}">  
224 - <div>  
225 - <span class="title">异常&nbsp;{{clzbh}}</span>  
226 - <span class="text"> {{timeStr}} 出现违规驾驶({{ycztText}})</span>  
227 - <span class="desc">--安全驾驶监管平台</span>  
228 - </div>  
229 - </div>  
230 -</script>  
231 -  
232 -<script src="/real_control_v2_mobile/js/safe_driv/safeDriv.js" merge="custom_js"></script>  
233 -<!-- #### 安全驾驶 end ### -->  
234 -  
235 -<!-- 打电话 -->  
236 -<script src="http://114.80.178.12:9003/forward/voip/callCenterJs"></script>  
237 -<script src="http://114.80.178.12:9003/forward/voip/phonePluginJs"></script>  
238 -<script src="/real_control_v2_mobile/js/safe_driv/call_phone.js" ></script>  
239 -  
240 -<script id="voip_call_info_panel-temp" type="text/html">  
241 - <div class="voip_call_info_panel" style="{{style}}">  
242 - <p class="_title">VOIP</p>  
243 - <form class="uk-form uk-form-horizontal">  
244 -  
245 - <div class="uk-form-row">  
246 - <label class="uk-form-label" >工号:</label>  
247 - <div class="uk-form-controls">  
248 - <input type="text" name="agentID" value="1002" disabled>  
249 - </div>  
250 - </div>  
251 - <div class="uk-form-row">  
252 - <label class="uk-form-label">分机号:</label>  
253 - <div class="uk-form-controls">  
254 - <input type="text" name="dn" value="" >  
255 - </div>  
256 - </div>  
257 - <div class="uk-form-row">  
258 - <label class="uk-form-label" >自编号:</label>  
259 - <div class="uk-form-controls">  
260 - <input type="text" value="{{nbbm}}" disabled>  
261 - </div>  
262 - </div>  
263 - <div class="uk-form-row">  
264 - <label class="uk-form-label" >SIM号:</label>  
265 - <div class="uk-form-controls">  
266 - <input type="text" name="simNo" disabled>  
267 - </div>  
268 - </div>  
269 - <hr>  
270 - <h4 class="state_txt">  
271 - <button class="uk-button uk-button-large" type="button" disabled>获取SIM卡号...</button>  
272 - </h4>  
273 - </form>  
274 - </div>  
275 -</script>  
276 -</body>  
277 -  
278 -</html>  
279 -<script>  
280 - window.onload=function () {  
281 - /*禁止双击屏幕放大,此方法不能完全禁止,如果用户两次点击速度很快时也会触发双击放大事件*/  
282 - document.addEventListener('touchstart',function (event) {  
283 - if(event.touches.length>1){  
284 - event.preventDefault();  
285 - }  
286 - }, false);  
287 - var lastTouchEnd=0;  
288 - document.addEventListener('touchend',function (event) {  
289 - var now=(new Date()).getTime();  
290 - if(now-lastTouchEnd <= 200){  
291 - event.preventDefault();  
292 - }  
293 - lastTouchEnd=now;  
294 - },false)  
295 - }  
296 -  
297 - $('body').on('click','.sidebar-toggler',function(){  
298 - if ($(".uk-width-1-6").css("display") == "none") {  
299 - $('.uk-width-5-6').css("width", "82.33%");  
300 - $('.uk-width-1-6').show();  
301 - } else {  
302 - $('.uk-width-5-6').css("width", "97.99%");  
303 - $('.uk-width-1-6').hide();  
304 - }  
305 - }) 1 +<!DOCTYPE html>
  2 +<html lang="zh-cn">
  3 +
  4 +<head>
  5 + <meta charset="UTF-8">
  6 + <!--<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />-->
  7 + <title>线路调度 v2.0</title>
  8 + <!-- uikit core style-->
  9 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/css/uikit.gradient.min.css" />
  10 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.gradient.min.css" merge="plugins"/>
  11 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.gradient.min.css" merge="plugins"/>
  12 + <link rel="stylesheet"
  13 + href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.gradient.min.css" merge="plugins"/>
  14 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/accordion.gradient.min.css" merge="plugins"/>
  15 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/slidenav.gradient.min.css" merge="plugins"/>
  16 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.gradient.min.css" merge="plugins"/>
  17 +
  18 + <!-- main style -->
  19 + <link rel="stylesheet" href="/real_control_v2_mobile/css/main.css" />
  20 + <!-- north style -->
  21 + <link rel="stylesheet" href="/real_control_v2_mobile/css/north.css" merge="custom_style"/>
  22 + <!-- home style -->
  23 + <link rel="stylesheet" href="/real_control_v2_mobile/css/home.css" merge="custom_style"/>
  24 + <!-- line style -->
  25 + <link rel="stylesheet" href="/real_control_v2_mobile/css/line_schedule.css" merge="custom_style"/>
  26 + <link rel="stylesheet" href="/real_control_v2_mobile/css/line_schedule_table.css" merge="custom_style"/>
  27 +
  28 + <link rel="stylesheet" href="/real_control_v2_mobile/css/sch_autocomp_result.css" merge="custom_style"/>
  29 + <!-- custom table -->
  30 + <link rel="stylesheet" href="/real_control_v2_mobile/css/ct_table.css" merge="custom_style"/>
  31 + <!-- jquery contextMenu style -->
  32 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/css/jquery.contextMenu.min.css" merge="plugins"/>
  33 + <!-- formvalidation style -->
  34 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/formvalidation/formValidation.min.css" merge="plugins"/>
  35 + <!-- js tree -->
  36 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/jstree/default/style.css" merge="plugins"/>
  37 + <!-- tooltip css-->
  38 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/qtip/jquery.qtip.min.css" merge="plugins"/>
  39 + <link rel="stylesheet" href="/real_control_v2_mobile/css/pace.css" merge="plugins"/>
  40 +
  41 + <link rel="stylesheet" href="/real_control_v2_mobile/css/modal_extend.css" merge="custom_style"/>
  42 + <!-- perfect-scrollbar style -->
  43 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.css" merge="plugins"/>
  44 + <!-- layer 3.0.3 -->
  45 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/default/layer.css" merge="plugins"/>
  46 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/layer3.0.3/skin/moon/style.css" merge="plugins"/>
  47 +
  48 + <!-- flatpickr -->
  49 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.css" merge="plugins">
  50 + <link rel="stylesheet" href="/real_control_v2_mobile/assets/plugins/flatpickr/themes/airbnb.css" merge="plugins">
  51 +</head>
  52 +
  53 +<body>
  54 +<div class="north uk-width-1-1 uk-panel-box">
  55 + <div class="uk-grid uk-grid-match">
  56 + <div class="uk-width-4-10">
  57 + <div class="uk-panel">
  58 + <h2 class="north-logo">
  59 + <!--<i class="uk-icon-life-ring"></i>--> 青浦公交线路调度
  60 + </h2>
  61 + </div>
  62 + </div>
  63 + <div class="uk-width-6-10">
  64 + <div class="uk-panel uk-width north-toolbar"></div>
  65 + </div>
  66 + </div>
  67 + <div class="north-tabs"></div>
  68 + </div>
  69 +
  70 +<div class="main-container">
  71 + <div class="load-panel">
  72 + <i class="uk-icon-spinner uk-icon-spin"></i>
  73 + 正在加载数据
  74 + </div>
  75 +</div>
  76 +
  77 +<script>
  78 +
  79 + delete window.exports;
  80 + delete window.module;
  81 +
  82 + var ipcMain;
  83 + //是否处于electron环境下
  84 + var isElectron = (function () {
  85 + try {
  86 + if (process.versions.electron)
  87 + return true;
  88 + else
  89 + return false;
  90 + }
  91 + catch (e) {
  92 + return false;
  93 + }
  94 + })();
  95 +
  96 + if (isElectron) {
  97 + var link = document.createElement("link");
  98 + link.type = "text/css";
  99 + link.rel = "stylesheet";
  100 + link.href = "/real_control_v2_mobile/css/electron.css";
  101 + document.getElementsByTagName("head")[0].appendChild(link);
  102 +
  103 + ipcMain = require('electron').ipcRenderer;
  104 + }
  105 +</script>
  106 +
  107 +<!-- 地图相关 -->
  108 +<script src="http://api.map.baidu.com/api?v=2.0&ak=1TgEKvYqohJyeGXnN6yHSSTb4psOarQw"></script>
  109 +<script src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>
  110 +<script src="/assets/js/baidu//MarkerClusterer.js" merge="plugins"></script>
  111 +<script src="/assets/js/TransGPS.js" merge="plugins"></script>
  112 +<!-- 高德 -->
  113 +<script src="http://webapi.amap.com/maps?v=1.3&key=16cb1c5043847e09ef9edafdd77befda"></script>
  114 +<!-- jquery -->
  115 +<script src="/real_control_v2_mobile/assets/js/jquery.min.js"></script>
  116 +<!-- jquery actual -->
  117 +<script src="/real_control_v2_mobile/assets/js/jquery.actual.min.js" merge="plugins"></script>
  118 +<!-- jquery.serializejson JSON序列化插件 -->
  119 +<script src="/assets/plugins/jquery.serializejson.js" merge="plugins"></script>
  120 +<!-- moment.js 日期处理类库 -->
  121 +<script src="/real_control_v2_mobile/assets/plugins/moment/moment.min.js"></script>
  122 +<script src="/real_control_v2_mobile/assets/plugins/moment/zh-cn.js"></script>
  123 +
  124 +<!-- flatpickr -->
  125 +<script src="/real_control_v2_mobile/assets/plugins/flatpickr/flatpickr.min.js" merge="plugins"></script>
  126 +<script src="/real_control_v2_mobile/assets/plugins/flatpickr/l10n/zh.js" merge="plugins"></script>
  127 +
  128 +<!-- perfect-scrollbar -->
  129 +<script src="/real_control_v2_mobile/assets/plugins/perfect-scrollbar/perfect-scrollbar.jquery.js" merge="plugins"></script>
  130 +<!-- common js -->
  131 +<script src="/real_control_v2_mobile/js/common.js"></script>
  132 +<!-- art-template 模版引擎 -->
  133 +<script src="/assets/plugins/template.js" merge="plugins"></script>
  134 +<!-- d3 -->
  135 +<script src="/assets/js/d3.min.js"></script>
  136 +<!-- EventProxy -->
  137 +<script src="/assets/js/eventproxy.js"></script>
  138 +<!-- main js -->
  139 +<script src="/real_control_v2_mobile/js/main.js"></script>
  140 +<!-- uikit core -->
  141 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/uikit.min.js" merge="uikit_js"></script>
  142 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/notify.min.js" merge="uikit_js"></script>
  143 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/pagination.min.js" merge="uikit_js"></script>
  144 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/tooltip.min.js" merge="uikit_js"></script>
  145 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/autocomplete.min.js" merge="uikit_js"></script>
  146 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/accordion.min.js" merge="uikit_js"></script>
  147 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/timepicker.min.js" merge="uikit_js"></script>
  148 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/lightbox.min.js" merge="uikit_js"></script>
  149 +<script src="/real_control_v2_mobile/assets/plugins/uikit-2.27.1/components/sticky.min.js" merge="uikit_js"></script>
  150 +
  151 +
  152 +<!-- jquery contextMenu -->
  153 +<script src="/real_control_v2_mobile/assets/js/jquery.contextMenu.min.js" merge="plugins"></script>
  154 +<script src="/real_control_v2_mobile/assets/js/jquery.ui.position.min.js" merge="plugins"></script>
  155 +<!-- formvalidation- -->
  156 +<script src="/real_control_v2_mobile/assets/plugins/formvalidation/formValidation.min.js" merge="plugins"></script>
  157 +<script src="/real_control_v2_mobile/assets/plugins/formvalidation/zh_CN.js" merge="plugins"></script>
  158 +<script src="/real_control_v2_mobile/assets/plugins/formvalidation/uikit.min.js" merge="plugins"></script>
  159 +<!-- js tree -->
  160 +<script src="/real_control_v2_mobile/assets/plugins/jstree/jstree.min.js" merge="plugins"></script>
  161 +<!-- simple pinyin -->
  162 +<script src="/assets/plugins/pinyin.js" merge="plugins"></script>
  163 +<!-- qtip -->
  164 +<script src="/real_control_v2_mobile/assets/plugins/qtip/jquery.qtip.min.js" merge="plugins"></script>
  165 +<!-- layer 3.0.3 -->
  166 +<script src="/real_control_v2_mobile/assets/plugins/layer3.0.3/layer.js" merge="plugins"></script>
  167 +
  168 +<!-- 数据 -->
  169 +<script src="/real_control_v2_mobile/js/data/data_basic.js" merge="custom_js"></script>
  170 +<script src="/real_control_v2_mobile/js/data/data_gps.js" merge="custom_js"></script>
  171 +<script src="/real_control_v2_mobile/js/data/gps_abnormal.js" merge="custom_js"></script>
  172 +<script src="/real_control_v2_mobile/js/data/data_line_config.js" merge="custom_js"></script>
  173 +<!-- 线路模拟图 -->
  174 +<script src="/real_control_v2_mobile/js/utils/svg_chart.js" merge="custom_js"></script>
  175 +<script src="/real_control_v2_mobile/js/utils/svg_data_convert.js" merge="custom_js"></script>
  176 +<script src="/real_control_v2_mobile/js/utils/svg_chart_tooltip.js" merge="custom_js"></script>
  177 +<script src="/real_control_v2_mobile/js/utils/svg_chart_map.js" merge="custom_js"></script>
  178 +
  179 +<!-- custom table js -->
  180 +<script src="/real_control_v2_mobile/js/utils/ct_table.js" merge="custom_js"></script>
  181 +<!-- north js -->
  182 +<script src="/real_control_v2_mobile/js/north/toolbar.js" merge="custom_js"></script>
  183 +<script src="/real_control_v2_mobile/js/north/tabs.js" merge="custom_js"></script>
  184 +<script src="/real_control_v2_mobile/js/north/second_timer.js" merge="custom_js"></script>
  185 +<!-- home js -->
  186 +<script src="/real_control_v2_mobile/js/home/layout.js" merge="custom_js"></script>
  187 +<script src="/real_control_v2_mobile/js/home/line_panel.js" merge="custom_js"></script>
  188 +<script src="/real_control_v2_mobile/js/home/context_menu.js" merge="custom_js"></script>
  189 +<!-- line schedule js -->
  190 +<script src="/real_control_v2_mobile/js/line_schedule/legend.js" merge="custom_js"></script>
  191 +<script src="/real_control_v2_mobile/js/line_schedule/layout.js" merge="custom_js"></script>
  192 +<script src="/real_control_v2_mobile/js/line_schedule/sch_table.js" merge="custom_js"></script>
  193 +<script src="/real_control_v2_mobile/js/line_schedule/context_menu.js" merge="custom_js"></script>
  194 +<script src="/real_control_v2_mobile/js/line_schedule/dbclick.js" merge="custom_js"></script>
  195 +<script src="/real_control_v2_mobile/js/line_schedule/search.js" merge="custom_js"></script>
  196 +<script src="/real_control_v2_mobile/js/line_schedule/badge_tooltip.js" merge="custom_js"></script>
  197 +<script src="/real_control_v2_mobile/js/line_schedule/mileage_count.js" merge="custom_js"></script>
  198 +
  199 +<!-- 字典相关 -->
  200 +<script src="/assets/js/dictionary.js" merge="custom_js"></script>
  201 +<!-- websocket -->
  202 +<script src="/real_control_v2_mobile/assets/plugins/sockjs-client/sockjs.min.js"></script>
  203 +<script src="/real_control_v2_mobile/js/websocket/sch_websocket.js" merge="custom_js"></script>
  204 +<!-- tts -->
  205 +<script src="/real_control_v2_mobile/js/utils/tts.js" merge="custom_js"></script>
  206 +
  207 +<!-- echart -->
  208 +<script src="/real_control_v2_mobile/assets/echarts-3/echarts.js" merge="plugins"></script>
  209 +<!-- Geolib -->
  210 +<script src="/real_control_v2_mobile/geolib/geolib.js" merge="plugins"></script>
  211 +
  212 +<script src="/real_control_v2_mobile/js/signal_state/signal_state.js" merge="custom_js"></script>
  213 +<script src="/real_control_v2_mobile/js/utils/dispatch_pattern.js" merge="custom_js"></script>
  214 +
  215 +<!-- 处理表单片段嵌入问题 -->
  216 +<script src="/real_control_v2_mobile/js/forms/form_embed.js" merge="custom_js"></script>
  217 +<!-- 模态框扩展 -->
  218 +<script src="/real_control_v2_mobile/js/modal_extend.js" merge="custom_js"></script>
  219 +
  220 +<!-- #### 安全驾驶 start ### -->
  221 +<div class="safe_driv_pop_wrap" ></div>
  222 +<script id="safe_driv_item-temp" type="text/html">
  223 + <div class="safe_driv_pop uk-animation-slide-bottom" data-nbbm="{{clzbh}}" data-type="{{yczltype}}" data-title="{{clzbh}} {{timeStr}} {{ycztText}}" data-url="{{url}}">
  224 + <div>
  225 + <span class="title">异常&nbsp;{{clzbh}}</span>
  226 + <span class="text"> {{timeStr}} 出现违规驾驶({{ycztText}})</span>
  227 + <span class="desc">--安全驾驶监管平台</span>
  228 + </div>
  229 + </div>
  230 +</script>
  231 +
  232 +<script src="/real_control_v2_mobile/js/safe_driv/safeDriv.js" merge="custom_js"></script>
  233 +<!-- #### 安全驾驶 end ### -->
  234 +
  235 +<!-- 打电话 -->
  236 +<script src="http://114.80.178.12:9003/forward/voip/callCenterJs"></script>
  237 +<script src="http://114.80.178.12:9003/forward/voip/phonePluginJs"></script>
  238 +<script src="/real_control_v2_mobile/js/safe_driv/call_phone.js" ></script>
  239 +
  240 +<script id="voip_call_info_panel-temp" type="text/html">
  241 + <div class="voip_call_info_panel" style="{{style}}">
  242 + <p class="_title">VOIP</p>
  243 + <form class="uk-form uk-form-horizontal">
  244 +
  245 + <div class="uk-form-row">
  246 + <label class="uk-form-label" >工号:</label>
  247 + <div class="uk-form-controls">
  248 + <input type="text" name="agentID" value="1002" disabled>
  249 + </div>
  250 + </div>
  251 + <div class="uk-form-row">
  252 + <label class="uk-form-label">分机号:</label>
  253 + <div class="uk-form-controls">
  254 + <input type="text" name="dn" value="" >
  255 + </div>
  256 + </div>
  257 + <div class="uk-form-row">
  258 + <label class="uk-form-label" >自编号:</label>
  259 + <div class="uk-form-controls">
  260 + <input type="text" value="{{nbbm}}" disabled>
  261 + </div>
  262 + </div>
  263 + <div class="uk-form-row">
  264 + <label class="uk-form-label" >SIM号:</label>
  265 + <div class="uk-form-controls">
  266 + <input type="text" name="simNo" disabled>
  267 + </div>
  268 + </div>
  269 + <hr>
  270 + <h4 class="state_txt">
  271 + <button class="uk-button uk-button-large" type="button" disabled>获取SIM卡号...</button>
  272 + </h4>
  273 + </form>
  274 + </div>
  275 +</script>
  276 +</body>
  277 +
  278 +</html>
  279 +<script>
  280 + window.onload=function () {
  281 + /*禁止双击屏幕放大,此方法不能完全禁止,如果用户两次点击速度很快时也会触发双击放大事件*/
  282 + document.addEventListener('touchstart',function (event) {
  283 + if(event.touches.length>1){
  284 + event.preventDefault();
  285 + }
  286 + }, false);
  287 + var lastTouchEnd=0;
  288 + document.addEventListener('touchend',function (event) {
  289 + var now=(new Date()).getTime();
  290 + if(now-lastTouchEnd <= 200){
  291 + event.preventDefault();
  292 + }
  293 + lastTouchEnd=now;
  294 + },false)
  295 + }
  296 +
  297 + $('body').on('click','.sidebar-toggler',function(){
  298 + if ($(".uk-width-1-6").css("display") == "none") {
  299 + $('.uk-width-5-6').css("width", "82.33%");
  300 + $('.uk-width-1-6').show();
  301 + } else {
  302 + $('.uk-width-5-6').css("width", "97.99%");
  303 + $('.uk-width-1-6').hide();
  304 + }
  305 + })
306 </script> 306 </script>
307 \ No newline at end of file 307 \ No newline at end of file