瀏覽代碼

git-svn-id: https://192.168.57.71/svn/qt@64 12fe181a-e57f-b044-8676-16dc139aa63e

ld_zhoutl 8 年之前
父節點
當前提交
8555e7c9ec
共有 1 個文件被更改,包括 77 次插入27 次删除
  1. 77 27
      jdc/jdcweb/trunk/src/main/webapp/static/xt/js/sys/common_railway.js

+ 77 - 27
jdc/jdcweb/trunk/src/main/webapp/static/xt/js/sys/common_railway.js

@@ -44,7 +44,30 @@ function getRailLayerItems() {
     });
     // 默认选中机场图层
     $("#"+tc_jtsn).attr("checked", true);
-    initRailBasicInfoEvent(tc_jtsn);
+    // 图层初始化
+    initRailData();
+}
+
+/**
+ * 初始化基础数据
+ * 
+ */
+function initRailData() {
+    // 在地图上添加铁路站点列表
+    $.get(basePath + "/findRailwayStat", {"type": "1"}, function (result) {
+        var len = result.length;
+        jtsnMarkerlayer.clearMarkers();
+        for (var i = 0; i < len; i++) {
+            addRailMarkerBasic(result[i], tc_rail_js, jtsnMarkerlayer);
+        }
+        stationJtsnItem = result;
+    }, 'json');
+    // 在地图上添加铁路站点列表
+    $.get(basePath + "/findRailwayStat", {"type": "2"}, function (result) {
+        var len = result.length;
+        ptzdMarkerlayer.clearMarkers();
+        stationPtzdItem = result;
+    }, 'json');
 }
 
 /**
@@ -54,24 +77,18 @@ function getRailLayerItems() {
 function initRailBasicInfoEvent(name) {
     if (name == tc_jtsn) {
         // 在地图上添加铁路站点列表
-        $.get(basePath + "/findRailwayStat", {"type": "1"}, function (result) {
-            var len = result.length;
-            jtsnMarkerlayer.clearMarkers();
-            for (var i = 0; i < len; i++) {
-                addRailMarkerBasic(result[i], tc_rail_js, jtsnMarkerlayer);
-            }
-            stationJtsnItem = result;
-        }, 'json');
+        var len = stationJtsnItem.length;
+        jtsnMarkerlayer.clearMarkers();
+        for (var i = 0; i < len; i++) {
+            addRailMarkerBasic(stationJtsnItem[i], tc_rail_js, jtsnMarkerlayer);
+        }
     } else if (name == tc_ptzd) {
         // 在地图上添加铁路站点列表
-        $.get(basePath + "/findRailwayStat", {"type": "2"}, function (result) {
-            var len = result.length;
-            ptzdMarkerlayer.clearMarkers();
-            for (var i = 0; i < len; i++) {
-                addRailMarkerBasic(result[i], tc_rail_js, ptzdMarkerlayer);
-            }
-            stationPtzdItem = result;
-        }, 'json');
+        var len = stationPtzdItem.length;
+        ptzdMarkerlayer.clearMarkers();
+        for (var i = 0; i < len; i++) {
+            addRailMarkerBasic(stationPtzdItem[i], tc_rail_js, ptzdMarkerlayer);
+        }
     }
 }
 
@@ -244,26 +261,59 @@ function showRailList() {
  */
 function showStaCenter(gid){
     setStaCenter(stationJtsnItem, gid);
-    setStaCenter(stationPtzdItem, gid);
 }
 
 /*
  * 选中火车站,并在地图中心位置显示
  */
 function setStaCenter(stationItem, gid){
-    var len = stationItem.length;
-    for (var i = 0; i < len; i++) {
-        if (stationItem[i].gid == gid) {
-            setMapCenter(stationItem[i].lat, stationItem[i].lon, 7);
-            openStawin(gid);
-            $("[id^='staName_']").each(function() {
+	var markerlayer = null;
+	var stationItem = stationJtsnItem;
+    for (var i = 0; i < stationJtsnItem.length; i++) {
+    	var obj = stationJtsnItem[i];
+    	if(obj.gid == gid) {
+    		markerlayer = jtsnMarkerlayer;
+    		break;
+    	}
+    }
+    if(null == markerlayer) {
+    	stationItem = stationPtzdItem;
+    	markerlayer = jtsnMarkerlayer;
+    }
+	var markFlg = false;
+	markFlg = stationClick(gid, markerlayer);
+	if(!markFlg) {
+		var item = null;
+		for(var i = 0; i < stationItem.length; i++) {
+			if(stationItem[i].gid == gid) {
+				item = stationItem[i];
+				break;
+			}
+		}
+		addRailMarkerBasic(item, tc_rail_js, markerlayer);
+		stationClick(gid, markerlayer)
+	}
+}
+
+function stationClick(gid, markerlayer) {
+	var flg = false;
+	for(var i = 0; i < markerlayer.markers.length; i++) {
+		var marker = markerlayer.markers[i];
+		var markObj = marker.attr;
+		if(markObj.gid == gid) {
+			flg = true;
+			marker.events.listeners.click[0].func(marker.events);
+			// 设置地图中心点,并设置缩放比例值
+	        setMapCenter(markObj.lat, markObj.lon, 7);
+//			openStawin(gid);
+	        $("[id^='staName_']").each(function() {
                 $(this).css("color", "#212121");//41A8F7
             });
             var id = "#staName_" + gid;
             $(id).css("color", "#F00000");
-            break;
-        }
-    }
+            return flg;
+		}
+	}
 }
 
 /**