Skip to content

Instantly share code, notes, and snippets.

@lvsmart
Created November 25, 2016 03:43
Show Gist options
  • Select an option

  • Save lvsmart/9f5287da3081c99d7ca6129cf69cf58f to your computer and use it in GitHub Desktop.

Select an option

Save lvsmart/9f5287da3081c99d7ca6129cf69cf58f to your computer and use it in GitHub Desktop.
地铁末班车查询
/**
* @author zhangsd
*
* treeast.com
*
**/
var gis =
{
"0111": "121.391832,31.116809",
"0112": "121.399814,31.126929",
"0113": "121.409334,31.136734",
"0114": "121.42068,31.148312",
"0115": "121.43627,31.161142",
"0116": "121.44187,31.175383",
"0117": "121.442801,31.188348",
"0118": "121.444749,31.199152",
"0119": "121.453247,31.211777",
"0120": "121.457719,31.219937",
"0121": "121.466688,31.223492",
"0122": "121.479798,31.228753",
"0123": "121.48085,31.23868",
"0124": "121.474802,31.244699",
"0125": "121.465,31.247808",
"0126": "121.462366,31.253608",
"0127": "121.465616,31.265275",
"0128": "121.461893,31.27806",
"0129": "121.458503,31.285845",
"0130": "121.456458,31.29917",
"0131": "121.455097,31.312943",
"0132": "121.453464,31.325355",
"0133": "121.447817,31.337798",
"0134": "121.444185,31.345991",
"0135": "121.440458,31.361557",
"0136": "121.437357,31.376207",
"0137": "121.434336,31.38774",
"0138": "121.43103,31.398683",
"0234": "121.307524,31.195431",
"0235": "121.32795,31.1991",
"0236": "121.334373,31.19958",
"0237": "121.365797,31.223998",
"0238": "121.380478,31.222334",
"0239": "121.393671,31.220485",
"0240": "121.410818,31.216959",
"0241": "121.424336,31.224615",
"0242": "121.43882,31.226025",
"0243": "121.452711,31.229553",
"0244": "121.46678,31.23614",
"0245": "121.480166,31.239445",
"0246": "121.490265,31.243034",
"0247": "121.509075,31.243319",
"0248": "121.521058,31.239393",
"0249": "121.533264,31.235004",
"0250": "121.550621,31.225524",
"0251": "121.557067,31.216069",
"0252": "121.563803,31.209437",
"0253": "121.594061,31.207879",
"0254": "121.608797,31.209985",
"0255": "121.627183,31.216662",
"0256": "121.662625,31.219828",
"0257": "121.680961,31.219405",
"0258": "121.687295,31.203168",
"0259": "121.704572,31.192896",
"0260": "121.728838,31.198286",
"0261": "121.76216,31.205201",
"0262": "121.803326,31.175116",
"0263": "121.813395,31.155029",
"0311": "121.437159,31.159648",
"0312": "121.44963,31.164304",
"0313": "121.450802,31.175724",
"0314": "121.444739,31.182978",
"0315": "121.433798,31.192584",
"0316": "121.428032,31.20317",
"0317": "121.423584,31.215865",
"0318": "121.422883,31.224276",
"0319": "121.419507,31.237991",
"0320": "121.424183,31.244839",
"0321": "121.436805,31.253",
"0322": "121.447452,31.261022",
"0323": "121.464746,31.255935",
"0324": "121.483032,31.257464",
"0325": "121.486639,31.265746",
"0326": "121.485807,31.276632",
"0327": "121.48899,31.287038",
"0328": "121.489614,31.295096",
"0329": "121.491552,31.311026",
"0330": "121.491579,31.325399",
"0331": "121.498185,31.337669",
"0332": "121.50714,31.350804",
"0333": "121.505406,31.363662",
"0334": "121.49951,31.376604",
"0335": "121.494571,31.387466",
"0336": "121.486126,31.401287",
"0337": "121.48254,31.40993",
"0338": "121.46856,31.414137",
"0339": "121.446217,31.414218",
"0401": "121.443402,31.188814",
"0402": "121.433798,31.192584",
"0403": "121.428032,31.20317",
"0404": "121.423584,31.215865",
"0405": "121.422883,31.224276",
"0406": "121.419507,31.237991",
"0407": "121.424183,31.244839",
"0408": "121.436805,31.253",
"0409": "121.447452,31.261022",
"0410": "121.46396,31.255155",
"0411": "121.483032,31.257464",
"0412": "121.495445,31.264649",
"0413": "121.507604,31.26658",
"0414": "121.519375,31.26358",
"0415": "121.523944,31.257681",
"0416": "121.526211,31.246166",
"0417": "121.532323,31.235423",
"0418": "121.536985,31.227528",
"0419": "121.534433,31.217603",
"0420": "121.52581,31.215231",
"0421": "121.506336,31.214285",
"0422": "121.496122,31.207672",
"0423": "121.480988,31.20494",
"0424": "121.470148,31.200335",
"0425": "121.461154,31.197304",
"0426": "121.450248,31.19218",
"0501": "121.391832,31.116809",
"0502": "121.392332,31.103958",
"0503": "121.396745,31.095036",
"0505": "121.408264,31.072997",
"0507": "121.416485,31.051134",
"0508": "121.42282,31.032955",
"0509": "121.426326,31.024468",
"0510": "121.416554,31.017141",
"0511": "121.401635,31.013066",
"0512": "121.387319,31.009198",
"0513": "121.376495,31.006315",
"0621": "121.487012,31.159351",
"0622": "121.50168,31.154367",
"0623": "121.512956,31.154788",
"0624": "121.521145,31.15557",
"0625": "121.52227,31.165247",
"0626": "121.517488,31.17825",
"0627": "121.516396,31.191286",
"0628": "121.52308,31.198949",
"0629": "121.52979,31.209399",
"0630": "121.534433,31.217603",
"0631": "121.536985,31.227528",
"0632": "121.532323,31.235423",
"0633": "121.540892,31.239044",
"0634": "121.549481,31.241974",
"0635": "121.559229,31.245588",
"0636": "121.57006,31.251371",
"0637": "121.579756,31.256909",
"0638": "121.588374,31.263292",
"0639": "121.593488,31.270327",
"0640": "121.59454,31.278007",
"0641": "121.594976,31.286704",
"0642": "121.595327,31.296804",
"0643": "121.595846,31.308625",
"0644": "121.595922,31.318355",
"0645": "121.608989,31.327117",
"0646": "121.600539,31.341305",
"0647": "121.593445,31.353883",
"0648": "121.581148,31.359297",
"0721": "121.356426,31.407854",
"0722": "121.364185,31.394383",
"0723": "121.362293,31.370197",
"0724": "121.368889,31.363427",
"0725": "121.379313,31.350576",
"0727": "121.395296,31.326259",
"0728": "121.405224,31.327225",
"0729": "121.414775,31.321458",
"0730": "121.420162,31.309963",
"0731": "121.422947,31.29971",
"0732": "121.428059,31.291225",
"0733": "121.429477,31.280191",
"0734": "121.429033,31.270157",
"0735": "121.428339,31.262583",
"0736": "121.436805,31.253",
"0737": "121.444739,31.246256",
"0738": "121.448574,31.240781",
"0739": "121.45378,31.229694",
"0740": "121.456628,31.219964",
"0741": "121.456463,31.205392",
"0742": "121.461154,31.197304",
"0743": "121.463379,31.191311",
"0744": "121.480035,31.177884",
"0745": "121.492522,31.180277",
"0746": "121.501124,31.184085",
"0747": "121.506916,31.1874",
"0748": "121.516396,31.191286",
"0749": "121.530936,31.193539",
"0750": "121.546398,31.193767",
"0751": "121.556478,31.199531",
"0752": "121.563888,31.209599",
"0753": "121.569074,31.218236",
"0820": "121.518803,31.06706",
"0821": "121.51713,31.079655",
"0822": "121.515133,31.089988",
"0823": "121.512891,31.102197",
"0824": "121.504377,31.124907",
"0825": "121.496279,31.146696",
"0826": "121.487012,31.159351",
"0827": "121.50029,31.16671",
"0828": "121.502631,31.176999",
"0829": "121.501124,31.184085",
"0830": "121.500749,31.19134",
"0831": "121.496122,31.207672",
"0832": "121.492716,31.217413",
"0833": "121.489485,31.224674",
"0834": "121.485885,31.233127",
"0835": "121.481738,31.238695",
"0836": "121.478026,31.248251",
"0837": "121.475411,31.259035",
"0838": "121.47525,31.2694",
"0839": "121.485948,31.275811",
"0840": "121.497039,31.282122",
"0841": "121.507823,31.280577",
"0842": "121.516066,31.278923",
"0843": "121.524804,31.280818",
"0844": "121.534441,31.284573",
"0845": "121.541374,31.294899",
"0846": "121.539677,31.301934",
"0847": "121.538481,31.311023",
"0848": "121.53857,31.321523",
"0849": "121.538527,31.328516",
"0918": "121.237677,30.990955",
"0919": "121.235829,31.006987",
"0920": "121.237126,31.022049",
"0921": "121.237244,31.03603",
"0922": "121.239238,31.059984",
"0923": "121.237014,31.090393",
"0924": "121.236257,31.110609",
"0925": "121.267259,31.123976",
"0926": "121.325378,31.143844",
"0927": "121.344742,31.155955",
"0928": "121.356047,31.161397",
"0929": "121.375571,31.163862",
"0930": "121.391169,31.172226",
"0931": "121.403837,31.176123",
"0932": "121.424997,31.180998",
"0933": "121.43409,31.19119",
"0934": "121.443046,31.201727",
"0935": "121.456221,31.205776",
"0936": "121.467219,31.208945",
"0937": "121.475402,31.212073",
"0938": "121.483036,31.215011",
"0939": "121.492716,31.217413",
"0940": "121.504895,31.222656",
"0941": "121.52289,31.236125",
"0942": "121.532323,31.235423",
"0943": "121.555022,31.233791",
"1018": "121.361249,31.171619",
"1019": "121.37097,31.175533",
"1020": "121.37699,31.182886",
"1041": "121.32795,31.1991",
"1042": "121.334373,31.19958",
"1043": "121.3539,31.197476",
"1044": "121.373597,31.196049",
"1045": "121.386467,31.199878",
"1046": "121.398444,31.205074",
"1047": "121.410671,31.204634",
"1048": "121.417552,31.202784",
"1049": "121.428754,31.202859",
"1050": "121.440554,31.208208",
"1051": "121.450434,31.213992",
"1052": "121.464494,31.220991",
"1053": "121.48116,31.222033",
"1054": "121.489485,31.224674",
"1055": "121.4939,31.234005",
"1056": "121.490893,31.24483",
"1057": "121.488739,31.250301",
"1058": "121.489997,31.257185",
"1059": "121.495112,31.264919",
"1060": "121.50058,31.273946",
"1061": "121.508339,31.28089",
"1062": "121.51305,31.288214",
"1063": "121.516743,31.295352",
"1064": "121.521091,31.303618",
"1065": "121.520633,31.308746",
"1066": "121.514701,31.318613",
"1067": "121.513177,31.327743",
"1068": "121.513188,31.334451",
"1114": "121.108972,31.304981",
"1115": "121.123995,31.302118",
"1116": "121.156828,31.294652",
"1117": "121.168602,31.294335",
"1118": "121.18725,31.291581",
"1119": "121.206771,31.29994",
"1120": "121.232625,31.337944",
"1131": "121.24401,31.397409",
"1132": "121.234426,31.383195",
"1133": "121.251801,31.351371",
"1134": "121.26104,31.335744",
"1135": "121.28343,31.325402",
"1137": "121.329748,31.303357",
"1138": "121.355937,31.287647",
"1139": "121.371318,31.282825",
"1140": "121.382499,31.277205",
"1141": "121.396412,31.274596",
"1142": "121.410075,31.268278",
"1143": "121.413834,31.256497",
"1144": "121.41754,31.248068",
"1145": "121.4241,31.244107",
"1146": "121.430091,31.236727",
"1147": "121.4371,31.226732",
"1148": "121.441394,31.208906",
"1149": "121.442314,31.201202",
"1150": "121.448026,31.185365",
"1151": "121.459229,31.179259",
"1152": "121.464914,31.17265",
"1153": "121.466,31.166117",
"1154": "121.487012,31.159351",
"1155": "121.517551,31.148698",
"1156": "121.529691,31.152393",
"1157": "121.54554,31.157148",
"1159": "121.577365,31.164663",
"1160": "121.599723,31.159221",
"1321": "121.326035,31.247368",
"1322": "121.34169,31.2474",
"1323": "121.362183,31.248367",
"1324": "121.374143,31.243169",
"1325": "121.388887,31.237862",
"1327": "121.418989,31.237245",
"1623": "121.599723,31.159221"
};
var smbcskb =
{
"1": "/hcskb/240.htm",
"2": "/hcskb/242.htm",
"3": "/hcskb/245.htm",
"4": "/hcskb/246.htm",
"5": "/hcskb/247.htm",
"6": "/hcskb/248.htm",
"7": "/hcskb/249.htm",
"8": "/hcskb/250.htm",
"9": "/hcskb/251.htm",
"10": "/hcskb/252.htm",
"11": "/hcskb/253.htm",
"12": "/hcskb/254.htm",
"13": "/hcskb/255.htm",
"16": "/hcskb/256.htm"
};
var stations =
{
"0111": "莘庄",
"0112": "外环路",
"0113": "莲花路",
"0114": "锦江乐园",
"0115": "上海南站",
"0116": "漕宝路",
"0117": "上海体育馆",
"0118": "徐家汇",
"0119": "衡山路",
"0120": "常熟路",
"0121": "陕西南路",
"0122": "黄陂南路",
"0123": "人民广场",
"0124": "新闸路",
"0125": "汉中路",
"0126": "上海火车站",
"0127": "中山北路",
"0128": "延长路",
"0129": "上海马戏城",
"0130": "汶水路",
"0131": "彭浦新村",
"0132": "共康路",
"0133": "通河新村",
"0134": "呼兰路",
"0135": "共富新村",
"0136": "宝安公路",
"0137": "友谊西路",
"0138": "富锦路",
"0234": "徐泾东",
"0235": "虹桥火车站",
"0236": "虹桥2号航站楼",
"0237": "淞虹路",
"0238": "北新泾",
"0239": "威宁路",
"0240": "娄山关路",
"0241": "中山公园",
"0242": "江苏路",
"0243": "静安寺",
"0244": "南京西路",
"0245": "人民广场",
"0246": "南京东路",
"0247": "陆家嘴",
"0248": "东昌路",
"0249": "世纪大道",
"0250": "上海科技馆",
"0251": "世纪公园",
"0252": "龙阳路",
"0253": "张江高科",
"0254": "金科路",
"0255": "广兰路",
"0256": "唐镇",
"0257": "创新中路",
"0258": "华夏东路",
"0259": "川沙",
"0260": "凌空路",
"0261": "远东大道",
"0262": "海天三路",
"0263": "浦东国际机场",
"0311": "上海南站",
"0312": "石龙路",
"0313": "龙漕路",
"0314": "漕溪路",
"0315": "宜山路",
"0316": "虹桥路",
"0317": "延安西路",
"0318": "中山公园",
"0319": "金沙江路",
"0320": "曹杨路",
"0321": "镇坪路",
"0322": "中潭路",
"0323": "上海火车站",
"0324": "宝山路",
"0325": "东宝兴路",
"0326": "虹口足球场",
"0327": "赤峰路",
"0328": "大柏树",
"0329": "江湾镇",
"0330": "殷高西路",
"0331": "长江南路",
"0332": "淞发路",
"0333": "张华浜",
"0334": "淞滨路",
"0335": "水产路",
"0336": "宝杨路",
"0337": "友谊路",
"0338": "铁力路",
"0339": "江杨北路",
"0401": "上海体育馆",
"0402": "宜山路",
"0403": "虹桥路",
"0404": "延安西路",
"0405": "中山公园",
"0406": "金沙江路",
"0407": "曹杨路",
"0408": "镇坪路",
"0409": "中潭路",
"0410": "上海火车站",
"0411": "宝山路",
"0412": "海伦路",
"0413": "临平路",
"0414": "大连路",
"0415": "杨树浦路",
"0416": "浦东大道",
"0417": "世纪大道",
"0418": "浦电路",
"0419": "蓝村路",
"0420": "塘桥",
"0421": "南浦大桥",
"0422": "西藏南路",
"0423": "鲁班路",
"0424": "大木桥路",
"0425": "东安路",
"0426": "上海体育场",
"0427": "内圈",
"0428": "外圈",
"0429": "内圈(宜山路)",
"0430": "外圈(宜山路)",
"0501": "莘庄",
"0502": "春申路",
"0503": "银都路",
"0505": "颛桥",
"0507": "北桥",
"0508": "剑川路",
"0509": "东川路",
"0510": "金平路",
"0511": "华宁路",
"0512": "文井路",
"0513": "闵行开发区",
"0621": "东方体育中心",
"0622": "灵岩南路",
"0623": "上南路",
"0624": "华夏西路",
"0625": "高青路",
"0626": "东明路",
"0627": "高科西路",
"0628": "临沂新村",
"0629": "上海儿童医学中心",
"0630": "蓝村路",
"0631": "浦电路",
"0632": "世纪大道",
"0633": "源深体育中心",
"0634": "民生路",
"0635": "北洋泾路",
"0636": "德平路",
"0637": "云山路",
"0638": "金桥路",
"0639": "博兴路",
"0640": "五莲路",
"0641": "巨峰路",
"0642": "东靖路",
"0643": "五洲大道",
"0644": "洲海路",
"0645": "外高桥保税区南站",
"0646": "航津路",
"0647": "外高桥保税区北站",
"0648": "港城路",
"0721": "美兰湖",
"0722": "罗南新村",
"0723": "潘广路",
"0724": "刘行",
"0725": "顾村公园",
"0726": "祁华路",
"0727": "上海大学",
"0728": "南陈路",
"0729": "上大路",
"0730": "场中路",
"0731": "大场镇",
"0732": "行知路",
"0733": "大华三路",
"0734": "新村路",
"0735": "岚皋路",
"0736": "镇坪路",
"0737": "长寿路",
"0738": "昌平路",
"0739": "静安寺",
"0740": "常熟路",
"0741": "肇嘉浜路",
"0742": "东安路",
"0743": "龙华中路",
"0744": "后滩",
"0745": "长清路",
"0746": "耀华路",
"0747": "云台路",
"0748": "高科西路",
"0749": "杨高南路",
"0750": "锦绣路",
"0751": "芳华路",
"0752": "龙阳路",
"0753": "花木路",
"0820": "沈杜公路",
"0821": "联航路",
"0822": "江月路",
"0823": "浦江镇",
"0824": "芦恒路",
"0825": "凌兆新村",
"0826": "东方体育中心",
"0827": "杨思",
"0828": "成山路",
"0829": "耀华路",
"0830": "中华艺术宫",
"0831": "西藏南路",
"0832": "陆家浜路",
"0833": "老西门",
"0834": "大世界",
"0835": "人民广场",
"0836": "曲阜路",
"0837": "中兴路",
"0838": "西藏北路",
"0839": "虹口足球场",
"0840": "曲阳路",
"0841": "四平路",
"0842": "鞍山新村",
"0843": "江浦路",
"0844": "黄兴路",
"0845": "延吉中路",
"0846": "黄兴公园",
"0847": "翔殷路",
"0848": "嫩江路",
"0849": "市光路",
"0918": "松江南站",
"0919": "醉白池",
"0920": "松江体育中心",
"0921": "松江新城",
"0922": "松江大学城",
"0923": "洞泾",
"0924": "佘山",
"0925": "泗泾",
"0926": "九亭",
"0927": "中春路",
"0928": "七宝",
"0929": "星中路",
"0930": "合川路",
"0931": "漕河泾开发区",
"0932": "桂林路",
"0933": "宜山路",
"0934": "徐家汇",
"0935": "肇嘉浜路",
"0936": "嘉善路",
"0937": "打浦桥",
"0938": "马当路",
"0939": "陆家浜路",
"0940": "小南门",
"0941": "商城路",
"0942": "世纪大道",
"0943": "杨高中路",
"1018": "航中路",
"1019": "紫藤路",
"1020": "龙柏新村",
"1041": "虹桥火车站",
"1042": "虹桥2号航站楼",
"1043": "虹桥1号航站楼",
"1044": "上海动物园",
"1045": "龙溪路",
"1046": "水城路",
"1047": "伊犁路",
"1048": "宋园路",
"1049": "虹桥路",
"1050": "交通大学",
"1051": "上海图书馆",
"1052": "陕西南路",
"1053": "新天地",
"1054": "老西门",
"1055": "豫园",
"1056": "南京东路",
"1057": "天潼路",
"1058": "四川北路",
"1059": "海伦路",
"1060": "邮电新村",
"1061": "四平路",
"1062": "同济大学",
"1063": "国权路",
"1064": "五角场",
"1065": "江湾体育场",
"1066": "三门路",
"1067": "殷高东路",
"1068": "新江湾城",
"1114": "花桥",
"1115": "光明路",
"1116": "兆丰路",
"1117": "安亭",
"1118": "上海汽车城",
"1119": "昌吉东路",
"1120": "上海赛车场",
"1131": "嘉定北",
"1132": "嘉定西",
"1133": "白银路",
"1134": "嘉定新城",
"1135": "马陆",
"1137": "南翔",
"1138": "桃浦新村",
"1139": "武威路",
"1140": "祁连山路",
"1141": "李子园",
"1142": "上海西站",
"1143": "真如",
"1144": "枫桥路",
"1145": "曹杨路",
"1146": "隆德路",
"1147": "江苏路",
"1148": "交通大学",
"1149": "徐家汇",
"1150": "上海游泳馆",
"1151": "龙华",
"1152": "云锦路",
"1153": "龙耀路",
"1154": "东方体育中心",
"1155": "三林",
"1156": "三林东",
"1157": "浦三路",
"1158": "严御路(暂未开通)",
"1159": "御桥",
"1160": "罗山路",
"1161": "秀沿路",
"1162": "康新公路",
"1163": "迪士尼",
"1220": "七莘路",
"1221": "虹莘路",
"1222": "顾戴路",
"1223": "东兰路",
"1224": "虹梅路",
"1225": "虹漕路",
"1226": "桂林公园",
"1227": "漕宝路",
"1228": "龙漕路",
"1229": "龙华",
"1230": "龙华中路",
"1231": "大木桥路",
"1232": "嘉善路",
"1233": "陕西南路",
"1234": "南京西路",
"1235": "汉中路",
"1236": "曲阜路",
"1237": "天潼路",
"1238": "国际客运中心",
"1239": "提篮桥",
"1240": "大连路",
"1241": "江浦公园",
"1242": "宁国路",
"1243": "隆昌路",
"1244": "爱国路",
"1245": "复兴岛",
"1246": "东陆路",
"1247": "巨峰路",
"1248": "杨高北路",
"1249": "金京路",
"1250": "申江路",
"1251": "金海路",
"1321": "金运路",
"1322": "金沙江西路",
"1323": "丰庄",
"1324": "祁连山南路",
"1325": "真北路",
"1326": "大渡河路",
"1327": "金沙江路",
"1328": "隆德路",
"1329": "武宁路",
"1330": "长寿路",
"1331": "江宁路",
"1332": "汉中路",
"1333": "自然博物馆",
"1334": "南京西路",
"1335": "淮海中路",
"1336": "新天地",
"1337": "马当路",
"1338": "世博会博物馆",
"1339": "世博大道",
"1621": "龙阳路",
"1622": "华夏中路",
"1623": "罗山路",
"1624": "周浦东",
"1625": "鹤沙航城",
"1626": "航头东",
"1627": "新场",
"1628": "野生动物园",
"1629": "惠南",
"1630": "惠南东",
"1631": "书院",
"1632": "临港大道",
"1633": "滴水湖"
};
var direction =
{
"00": "",
"10": "莘庄",
"11": "富锦路",
"20": "徐泾东",
"21": "浦东国际机场",
"30": "上海南站",
"31": "江杨北路",
"40": "上海体育馆",
"41": "上海体育场",
"50": "莘庄",
"51": "闵行开发区",
"60": "东方体育中心",
"61": "港城路",
"70": "美兰湖",
"71": "花木路",
"80": "沈杜公路",
"81": "市光路",
"90": "松江南站",
"91": "杨高中路",
"100": "航中路",
"101": "新江湾城",
"110": "花桥",
"111": "迪士尼",
"120": "七莘路",
"121": "金海路",
"130": "金运路",
"131": "世博大道",
"160": "罗山路",
"161": "滴水湖"
};
var lines =
{
"1号线": ["0111", "0112", "0113", "0114", "0115", "0116", "0117", "0118", "0119", "0120", "0121", "0122", "0123", "0124", "0125", "0126", "0127", "0128", "0129", "0130", "0131", "0132", "0133", "0134", "0135", "0136", "0137", "0138"],
"2号线": ["0234", "0235", "0236", "0237", "0238", "0239", "0240", "0241", "0242", "0243", "0244", "0245", "0246", "0247", "0248", "0249", "0250", "0251", "0252", "0253", "0254", "0255", "0256", "0257", "0258", "0259", "0260", "0261", "0262", "0263"],
"3号线": ["0311", "0312", "0313", "0314", "0315", "0316", "0317", "0318", "0319", "0320", "0321", "0322", "0323", "0324", "0325", "0326", "0327", "0328", "0329", "0330", "0331", "0332", "0333", "0334", "0335", "0336", "0337", "0338", "0339"],
"4号线": ["0401", "0402", "0403", "0404", "0405", "0406", "0407", "0408", "0409", "0410", "0411", "0412", "0413", "0414", "0415", "0416", "0417", "0418", "0419", "0420", "0421", "0422", "0423", "0424", "0425", "0426", "0427", "0428", "0429", "0430"],
"5号线": ["0501", "0502", "0503", "0505", "0507", "0508", "0509", "0510", "0511", "0512", "0513"],
"6号线": ["0621", "0622", "0623", "0624", "0625", "0626", "0627", "0628", "0629", "0630", "0631", "0632", "0633", "0634", "0635", "0636", "0637", "0638", "0639", "0640", "0641", "0642", "0643", "0644", "0645", "0646", "0647", "0648"],
"7号线": ["0721", "0722", "0723", "0724", "0725", "0726", "0727", "0728", "0729", "0730", "0731", "0732", "0733", "0734", "0735", "0736", "0737", "0738", "0739", "0740", "0741", "0742", "0743", "0744", "0745", "0746", "0747", "0748", "0749", "0750", "0751", "0752", "0753"],
"8号线": ["0820", "0821", "0822", "0823", "0824", "0825", "0826", "0827", "0828", "0829", "0830", "0831", "0832", "0833", "0834", "0835", "0836", "0837", "0838", "0839", "0840", "0841", "0842", "0843", "0844", "0845", "0846", "0847", "0848", "0849"],
"9号线": ["0918", "0919", "0920", "0921", "0922", "0923", "0924", "0925", "0926", "0927", "0928", "0929", "0930", "0931", "0932", "0933", "0934", "0935", "0936", "0937", "0938", "0939", "0940", "0941", "0942", "0943"],
"10号线": ["1018", "1019", "1020", "1041", "1042", "1043", "1044", "1045", "1046", "1047", "1048", "1049", "1050", "1051", "1052", "1053", "1054", "1055", "1056", "1057", "1058", "1059", "1060", "1061", "1062", "1063", "1064", "1065", "1066", "1067", "1068"],
"11号线": ["1114", "1115", "1116", "1117", "1118", "1119", "1120", "1131", "1132", "1133", "1134", "1135", "1137", "1138", "1139", "1140", "1141", "1142", "1143", "1144", "1145", "1146", "1147", "1148", "1149", "1150", "1151", "1152", "1153", "1154", "1155", "1156", "1157", "1158", "1159", "1160", "1161", "1162", "1163"],
"12号线": ["1220", "1221", "1222", "1223", "1224", "1225", "1226", "1227", "1228", "1229", "1230", "1231", "1232", "1233", "1234", "1235", "1236", "1237", "1238", "1239", "1240", "1241", "1242", "1243", "1244", "1245", "1246", "1247", "1248", "1249", "1250", "1251"],
"13号线": ["1321", "1322", "1323", "1324", "1325", "1326", "1327", "1328", "1329", "1330", "1331", "1332", "1333", "1334", "1335", "1336", "1337", "1338", "1339"],
"16号线": ["1621", "1622", "1623", "1624", "1625", "1626", "1627", "1628", "1629", "1630", "1631", "1632", "1633"]
};// 0726/1158/1326/
var smbctm =
{
"0138": ["111-112-113-114-115-116-117-118-119-120-121-122-123-124-125-126-127-128-129-130-131-132-133-134-135-136-137-138", "19405-19525-19645-19773-17700-17871-18022-18159-18297-18419-18535-18666-18850-18952-19064-20610-20753-20907-21027-21175-21341-21497-21655-21783-21952-22103-22238-0", "81120-81252-81396-81555-81764-81935-82086-82223-82361-82483-82599-82730-82914-83016-83128-83294-83437-83591-83711-83859-84025-84181-84339-84467-84636-84787-84922-0"],
"0111": ["138-137-136-135-134-133-132-131-130-129-128-127-126-125-124-123-122-121-120-119-118-117-116-115-114-113-112-111", "19800-19937-20071-20240-20413-20547-20706-20867-21028-21184-21303-21449-19800-19908-20015-20147-20298-20428-20539-20661-20813-20951-21091-21268-21473-21056-21176-0", "81000-81137-81271-81440-81613-81747-81906-82067-82228-82384-82503-82649-82800-82908-83015-83147-83298-83428-83539-83661-83813-83951-84091-84268-84473-84628-84765-0"],
"0263": ["234-235-236-237-238-239-240-241-242-243-244-245-246-247-248-249-250-251-252-253-254-255-256-257-258-259-260-261-262-263", "19800-20000-20120-20535-20671-20802-20954-21126-21287-21429-21574-21733-21865-22032-22165-22316-22477-22614-19552-19887-20008-21600-21899-22089-22299-22559-22789-21294-21789-0", "81900-82100-82220-82635-82771-82902-83054-83226-83387-83529-83674-83833-83965-84132-84265-84416-84577-84714-84834-85064-85209-79200-79499-79689-79899-80159-80389-80644-81074-0"],
"0234": ["263-262-261-260-259-258-257-256-255-254-253-252-251-250-249-248-247-246-245-244-243-242-241-240-239-238-237-236-235-234", "21600-21815-22245-22500-22735-22990-23200-23390-19800-19995-20140-19260-19379-19521-19702-19829-19972-20139-20286-20426-20575-20716-20903-21058-21210-21343-21490-21910-22030-0", "79200-79415-79845-80100-80335-80590-80800-80990-81900-82095-82240-82460-82579-82721-82902-83029-83172-83339-83486-83626-83775-83916-84103-84258-84410-84543-84690-85110-85230-0"],
"0339": ["311-312-313-314-315-316-317-318-319-320-321-322-323-324-325-326-327-328-329-330-331-332-333-334-335-336-337-338-339", "19500-19649-19804-19928-19800-19966-20105-20237-20387-20505-20642-20791-20963-21409-21538-21679-21812-21930-22098-22251-22397-22548-22690-22834-22961-23116-23231-23388-0", "85752-81149-81304-81428-81573-81714-81853-81985-82135-82253-82390-82539-82711-82909-83038-83179-83312-83430-83598-83751-83897-84048-84190-84334-84461-84616-84731-84888-0"],
"0311": ["339-338-337-336-335-334-333-332-331-330-329-328-327-326-325-324-323-322-321-320-319-318-317-316-315-314-313-312-311", "19500-19679-19835-19950-20101-20234-20373-20512-20690-20854-21010-21172-21292-21426-21559-21699-21900-22068-22211-22350-22463-22625-22741-19966-23018-23171-23295-18403-0", "81300-81479-81635-81750-81901-82034-82173-82312-82490-82654-82810-82972-83092-83226-83359-83499-83700-83868-84011-84150-84263-84425-84541-84680-84818-84971-85095-85245-0"],
"0426": ["401-402-403-404-405-406-407-408-409-410-411-412-413-414-415-416-417-418-419-420-421-422-423-424-425-426", "23256-19800-19966-20105-20237-20387-20505-20642-20791-20963-21161-21335-21447-21571-21673-21808-21957-22069-22207-22333-22511-22642-22778-22908-23014-0", "84456-81573-81714-81853-81985-82135-82253-82390-82539-82711-82361-82535-82647-82771-82873-83008-83157-83269-83407-83533-83711-83842-83978-84108-84214-0"],
"0401": ["426-425-424-423-422-421-420-419-418-417-416-415-414-413-412-411-410-409-408-407-406-405-404-403-402-401", "20044-20165-20270-20396-20539-20664-20843-20974-21109-21231-21368-21499-21600-21729-21842-21699-21900-22068-22211-22350-22463-22625-22741-19966-19800-0", "81244-81365-81470-81596-81739-81864-82043-82174-82309-82431-82568-82699-82800-82929-83042-83499-83700-83868-84011-84150-84263-84425-84541-84680-81000-0"],
"0513": ["501-502-503-505-507-508-509-510-511-512-513", "21600-21770-21890-22100-22310-22490-22610-22760-22910-23060-0", "81000-81170-81290-81500-81710-81890-82010-82160-82310-82460-0"],
"0501": ["513-512-511-510-509-508-507-505-503-502-501", "21600-21740-21890-22040-22190-22310-22490-22700-22910-23030-0", "79200-79340-79490-79640-79790-79910-80090-80300-80510-80630-0"],
"0648": ["621-622-623-624-625-626-627-628-629-630-631-632-633-634-635-636-637-638-639-640-641-642-643-644-645-646-647-648", "19800-19955-20080-20190-20355-20510-20665-20805-20955-21120-21250-21430-21560-21690-21830-21980-22110-22260-22390-22530-22665-22805-22940-23065-23255-23425-23565-0", "81000-81155-81280-81390-81555-81710-81865-82005-82155-82320-82450-82630-82760-82890-83030-83180-83310-83460-83590-83730-83865-84005-84140-84265-84455-84625-84765-0"],
"0621": ["648-647-646-645-644-643-642-641-640-639-638-637-636-635-634-633-632-631-630-629-628-627-626-625-624-623-622-621", "19800-19970-20110-20280-20470-20595-20725-20860-20995-21135-21265-21415-21545-21695-21835-21965-22125-22275-22435-22570-22720-22860-23015-23170-23335-23445-23570-0", "81000-81170-81310-81480-81670-81795-81925-82060-82195-82335-82465-82615-82745-82895-83035-83165-83325-83475-83635-83770-83920-84060-84215-84370-84535-84645-84770-0"],
"0753": ["721-722-723-724-725-726-727-728-729-730-731-732-733-734-735-736-737-738-739-740-741-742-743-744-745-746-747-748-749-750-751-752-753", "19800-19980-20220-20340-20520-19800-19964-20078-20217-20361-20498-20610-20744-20866-20968-21161-21311-21443-21591-21718-21888-22008-22124-22340-22475-22595-22694-22839-22989-23126-23272-18834-0", "80100-80220-80460-80640-80760-81000-81164-81278-81417-81561-81698-81810-81944-82066-82168-82361-82511-82643-82791-82918-83088-83208-83324-83540-83675-83795-83894-84039-84189-84326-84472-84660-0"],
"0721": ["753-752-751-750-749-748-747-746-745-744-743-742-741-740-739-738-737-736-735-734-733-732-731-730-729-728-727-726-725-724-723-722-721", "19800-19980-20160-20292-20446-20595-20731-20839-20947-21076-21278-21397-21521-21703-21834-21988-22104-22235-22422-22529-22655-22796-22913-23049-23196-23336-23489-23653-23850-24033-24158-24388-0", "81000-81180-81348-81492-81646-81795-81931-82039-82147-82276-82478-82597-82721-82903-83034-83188-83304-83435-83622-83729-83855-83996-84113-84249-84396-84536-84689-84870-85020-85200-85380-85590-0"],
"0849": ["820-821-822-823-824-825-826-827-828-829-830-831-832-833-834-835-836-837-838-839-840-841-842-843-844-845-846-847-848-849", "19800-19939-20067-20205-20411-20615-20827-20973-21098-21218-21319-21490-21622-21735-21858-21988-22117-22249-22389-22525-22688-22815-22930-23047-23174-23312-23436-23561-23688-0", "81000-81139-81267-81405-81611-81815-82027-82173-82298-82418-82519-82690-82822-82935-83058-83188-83317-83449-83589-83725-83888-84015-84130-84247-84374-84512-84636-84761-84888-0"],
"0820": ["849-848-847-846-845-844-843-842-841-840-839-838-837-836-835-834-833-832-831-830-829-828-827-826-825-824-823-822-821-820", "19800-19912-20035-20157-20279-20416-20540-20654-20765-20897-21053-21188-21324-21465-21602-21711-21832-21943-22080-22234-22352-22463-22588-22743-22946-23146-23347-23483-23609-0", "81000-81112-81235-81357-81479-81616-81740-81854-81965-82097-82253-82388-82524-82665-82802-82911-83032-83143-83280-83434-83552-83663-83788-83943-84146-84346-84547-84683-84809-0"],
"0943": ["918-919-920-921-922-923-924-925-926-927-928-929-930-931-932-933-934-935-936-937-938-939-940-941-942-943", "20453-20644-20831-21000-21235-21480-21675-21945-22348-20400-20565-20740-20920-21060-21271-21477-21668-21818-21951-22075-22224-22358-22517-22737-22902-0", "78653-78844-79031-79200-79435-79680-79875-80145-80548-80771-80936-81111-81291-81431-81642-81848-82039-82189-82322-82446-82595-82729-82888-83108-83273-0"],
"0918": ["943-942-941-940-939-938-937-936-935-934-933-932-931-930-929-928-927-926-925-924-923-922-921-920-919-918", "19800-20040-20190-20416-20582-20708-20850-20980-21113-21293-21467-21607-21807-21948-22115-22296-22454-22681-23083-23352-23539-23780-24025-24189-24376-0", "81000-81240-81390-81616-81782-81908-82050-82180-82313-82493-82667-82807-83007-83148-83315-83496-83654-83881-84283-84552-84739-84980-85225-85389-85576-0"],
"1068": ["1018-1019-1020-1045-1046-1047-1048-1049-1050-1051-1052-1053-1054-1055-1056-1057-1058-1059-1060-1061-1062-1063-1064-1065-1066-1067-1068", "19800-19990-20143-20386-20539-20674-20798-20944-21077-21219-21394-21566-21704-21867-22011-22139-22274-22413-22557-22692-22829-22940-23072-23181-23314-23433-0", "78900-79090-81640-81883-82062-82223-80251-80397-80530-80672-80847-81019-81157-81320-81464-81592-81727-81866-82010-82145-82282-82393-82525-82634-82767-82886-0"],
"1018": ["1068-1067-1066-1065-1064-1063-1062-1061-1060-1059-1058-1057-1056-1055-1054-1053-1052-1051-1050-1049-1048-1047-1046-1045-1020-1019-1018", "19800-19919-20035-20175-20284-20406-20532-20666-20785-20933-21068-21207-21333-21483-21650-21790-21967-22135-22271-22432-22555-22680-22815-22948-20100-20210-0", "79200-79319-79435-79575-79684-79806-79932-80066-80185-80333-80468-80607-80733-80883-81050-81190-81367-81535-81671-81832-81955-82080-82215-82048-82265-82416-0"],
"1163": ["1114-1115-1116-1117-1118-1119-1120-1134-1135-1137-1138-1139-1140-1141-1142-1143-1144-1145-1146-1147-1148-1149-1150-1151-1152-1153-1154-1155-1156-1157-1158-1159-1160-1161-1162-1163", "20400-20524-20750-20871-21041-21220-21530-20845-21054-21374-21610-21764-21898-22040-22184-22338-22467-22586-22710-22880-23083-23246-23437-23599-23731-23849-24052-24319-24446-24591-24738-24901-25064-25317-25680-0", "77757-77879-78115-78225-78376-78534-78659-79165-79374-79694-79930-80084-80218-80360-80504-80658-80787-80906-81030-81200-81403-81566-81757-81919-82051-82169-82372-82639-82766-82911-83058-83221-83384-83617-85140-0"],
"1114": ["1163-1162-1161-1160-1159-1158-1157-1156-1155-1154-1153-1152-1151-1150-1149-1148-1147-1146-1145-1144-1143-1142-1141-1140-1139-1138-1137-1135-1134-1120-1119-1118-1117-1116-1115-1114", "21600-19800-20004-20167-20313-20463-20607-20893-21077-21201-21343-21511-21712-21857-22075-22236-22371-22478-22605-22762-22912-23050-23179-23331-23577-23897-24400-24644-24966-25149-25332-25448-25671-0", "81000-78870-79050-81367-81513-81663-81807-82093-82277-82401-82543-82711-82912-83057-83275-83436-83571-83678-83805-83962-84112-84250-84379-84531-84777-85097-85000-85244-85566-85749-84432-84548-84771-0"],
"1251": ["1220-1221-1222-1223-1224-1225-1226-1227-1228-1229-1230-1231-1232-1233-1234-1235-1236-1237-1238-1239-1240-1241-1242-1243-1244-1245-1246-1247-1248-1249-1250-1251", "19800-19921-20104-20224-20407-20528-20648-20770-20953-21074-21257-21376-21558-21722-21844-22027-21422-21600-21844-21980-22117-22273-22408-22589-22707-22830-22982-23108-23262-23379-23520-0", "81000-81121-81304-81425-81603-81723-81844-81963-82144-82264-82448-82624-82744-82926-83046-83228-83408-83528-83709-83890-84010-84130-84250-84430-84550-84670-84850-84970-85150-85270-85390-0"],
"1220": ["1251-1250-1249-1248-1247-1246-1245-1244-1243-1242-1241-1240-1239-1238-1237-1236-1235-1234-1233-1232-1231-1230-1229-1228-1227-1226-1225-1224-1223-1222-1221-1220", "19800-20040-20162-20282-20464-20584-20704-20888-21006-21194-21314-21434-21555-21676-21920-22040-22220-22400-22580-22700-22880-23000-23180-23360-23480-23600-23720-23900-24020-24200-24320-0", "81000-81240-81362-81484-81666-81786-81968-82090-82210-82390-82510-82632-82754-82876-83118-83240-83420-83600-83780-83900-84080-84200-84380-84560-84680-84800-84920-85100-85220-85400-85520-0"],
"1339": ["1321-1322-1323-1324-1325-1326-1327-1328-1329-1330-1331-1332-1333-1334-1335-1336-1337-1338-1339", "21010-21132-21376-21550-21670-21850-22090-22210-22390-22510-22630-22810-22870-23050-23170-23350-23470-23590-0", "79860-80014-80252-80404-80579-80754-80994-81114-81290-81400-81520-81700-81760-81940-82060-82240-82360-82480-0"],
"1321": ["1339-1338-1337-1336-1335-1334-1333-1332-1331-1330-1329-1328-1327-1326-1325-1324-1323-1322-1321", "21600-21790-21920-22040-22220-22340-22460-22580-22760-22340-22460-22640-22820-23000-23180-23300-23480-23660-0", "79700-79880-80060-80120-80300-80480-80600-80720-80900-81020-81140-81260-81440-81620-81800-81980-82100-82280-0"],
"1633": ["1621-1622-1623-1624-1625-1626-1627-1628-1629-1630-1631-1632-1633", "1-1-21600-21870-22080-22260-22500-22890-23280-23670-24240-24660-0", "1-1-79200-79560-79930-80190-80520-80940-81420-81810-82410-82740-0"],
"1621": ["1633-1632-1631-1630-1629-1628-1627-1626-1625-1624-1623-1622-1621", "21600-21840-22179-22684-22500-22860-22500-22770-22950-23220-1-1-0", "79200-79380-79779-80370-80670-81120-81570-81900-82170-82500-1-1-0"]
};
function Change(os, ds, lx, zd, tm, ptzd, pttm, psnm, bstm, lstm, lttm, olasttime) {
this.os = os;// 起始站
this.ds = ds;// 终点站
this.lx = lx;// 所经路线
this.zd = zd;// 所经站点
this.tm = tm;// 所经站点时间
this.ptzd = ptzd;// 换乘站点
this.pttm = pttm;// 所经站点时间
this.psnm = psnm;// 换乘站点时间
this.bstm = bstm;// 首班车时间
this.lstm = lstm;// 末班车时间
this.lttm = lttm;// 旅途时间
this.olasttime = olasttime;// 末班车时间
// Start station
this.getOID = function () {
return this.os;
};
this.getOName = function () {
return getStations(this.os);
};
// End station
this.getDID = function () {
return this.ds;
};
this.getDName = function () {
return getStations(this.ds);
};
// Change line
this.getLines = function () {
return this.lx;
};
// Change count
this.getChangeCount = function () {
return this.lx.length - 1;
};
// Station count
this.getStationCount = function () {
return this.psnm;
};
// All time
this.getAllTimeS = function () {
return tm[tm.length - 1];
};
this.getAllTime = function () {
return Math.ceil(tm[tm.length - 1] / 60);
};
// Change path
this.getChangePath = function () {
var ss = new Array();
for (var i = 0; i < zd.length - 1; i++) {
var cur = parseInt(zd[i] / 100), nxt = parseInt(zd[i + 1] / 100), czd = zd[i], nzd = zd[i + 1], ctm = tm[i], ntm = tm[i + 1], btm = bstm[i], ltm = lstm[i];
if (cur == nxt) { // Not change.
if (ctm == 0) ss.push(new Station(czd, ctm, 0, [czd, nzd], [ctm, ntm], [cur], btm, ltm));
} else {
if (ctm != ntm) {
i++;
ss.push(new Station(zd[i], tm[i - 1], 2, [zd[i], zd[i + 1]], [tm[i - 1], tm[i]], [cur, nxt], bstm[i], lstm[i]));
}
}
}
tm[i] == tm[i - 1] && i--;
ss.push(new Station(zd[i], tm[i], 1, [zd[i]], [tm[i]], [parseInt(zd[i] / 100)], bstm[i], lstm[i]));
return ss;
};
// Detail path
this.getDetailChange = function () {
var ss = new Array();
for (var i = 0; i < zd.length - 1; i++) {
var cur = parseInt(zd[i] / 100), nxt = parseInt(zd[i + 1] / 100), czd = zd[i], nzd = zd[i + 1], ctm = tm[i], ntm = tm[i + 1], btm = bstm[i], ltm = lstm[i];
if (cur == nxt) { // Not change.
if (ctm == 0)// Start
ss.push(new Station(czd, ctm, 0, [czd, nzd], [ctm, ntm], [cur], btm, ltm));
else
ss.push(new Station(czd, ctm, -1, [czd, nzd], [ctm, ntm], [cur], btm, ltm));
} else {
if (ctm != ntm) {
i++;
ss.push(new Station(zd[i], tm[i - 1], 2, [zd[i], zd[i + 1]], [tm[i - 1], tm[i]], [cur, nxt], bstm[i], lstm[i]));
}
}
}
tm[i] == tm[i - 1] && i--;
ss.push(new Station(zd[i], tm[i], 1, [zd[i]], [tm[i]], [parseInt(zd[i] / 100)], bstm[i], lstm[i]));
return ss;
};
this.getLastTime = function () {
return lstm[0];
}
this.getBeginTime = function () {
return bstm[0];
}
this.getLastGoTime = function () {
return parseInt(lttm);
}
this.getOlasttime = function () {
return parseInt(olasttime);
}
}
function Station(id, tm, st, dt, ct, cl, btm, ltm) {
this.id = id;
this.tm = tm;
this.st = st;
this.dt = dt;
this.ct = ct;
this.cl = cl;
this.btm = btm;
this.ltm = ltm;
// Station ID
this.getID = function () {
return this.id;
};
// Station name
this.getName = function () {
return getStations(this.id);
};
// Line
this.getLine = function () {
return st == 2 && cl.length > 1 ? cl[1] : cl[0];
};
// Current time
this.getTimeS = function () {
return this.tm;
};
// State 0:start 1:end 2:change
this.getState = function () {
return st;
};
// Direction
this.getDirection = function () {
if (dt.length > 1) {
var oid = dt[0], did = dt[1];
var id = parseInt(oid.substring(oid.length - 2, oid.length)) > parseInt(did.substring(did.length - 2, did.length)) ? 0 : 1;
return direction[parseInt(dt[0] / 100).toString() + id];
}
return direction["00"];
};
// Change time
this.getChangeTimeS = function () {
return ct.length > 1 ? parseInt(ct[1]) - parseInt(ct[0]) : 0;
};
// Change path
this.getChangePath = function () {
return cl.length > 1 ? cl[0] + "-" + cl[1] : cl[0];
};
this.getMoTime = function () {
var h = (parseInt(ltm / 3600.0)).toString(), m = (parseInt((parseFloat(ltm / 3600.0) - parseInt(ltm / 3600.0)) * 60)).toString();
return (h.length > 1 ? h : "0" + h) + ":" + (m.length > 1 ? m : "0" + m);
}
this.getTime = function () {
return tm == 0 ? "起" : Math.ceil(this.tm / 60) + "分钟";
};
this.getChangeTime = function () {
return st == 2 ? Math.ceil(this.getChangeTimeS() / 60) : "";
};
}
(function ($) {
/***** station Plugin *****/
$.fn.station = function (options) {
var opts = $.extend({}, $.fn.station.defaults, options);
return this.each(function () {
var th = $(this);
var lx = th.find(opts.lx), zd = th.find(opts.zd);
for (var l in lines) {
if (opts.rd) $('<option value="' + l + '">' + l + '</option>').appendTo(lx);
}
lx.change(function (event) {
var l = lines[$(event.target).val()];
zd.empty();
$('<option value="0">请选择</option>').appendTo(zd);
for (var i = 0; i < l.length; i++) {
$('<option value="' + l[i] + '">' + stations[l[i]] + '</option>').appendTo(zd);
}
});
// default select
if (opts.c) {
for (var l in lines) {
var s = lines[l];
for (var i = 0; i < s.length; i++) {
if (s[i] == opts.c) { // default
lx.find("option[value='" + l + "']").attr("selected", true);
zd.empty();
$('<option value="0">请选择</option>').appendTo(zd);
for (var j = 0; j < s.length; j++) {
$('<option value="' + s[j] + '">' + stations[s[j]] + '</option>').appendTo(zd);
}
zd.find("option[value='" + opts.c + "']").attr("selected", true);
break;
}
}
}
}
});
}
// default station
$.fn.station.defaults = {lx: 'select.lx', zd: 'select.zd', rd: 'true'};
/***** price Plugin *****/
$.fn.price = function (options) {
var opts = $.extend({}, $.fn.price.defaults, options);
return this.each(function () {
var th = $(this);
var lx = th.find(opts.lx), zd = th.find(opts.zd);
var data = {"o": "", "d": ""};
zd.change(function (event) {
var tg = $(event.target);
if (tg.attr("station") == "o") data.o = tg.val();
if (tg.attr("station") == "d") data.d = tg.val();
if (data.o == "" || data.d == "" || data.o == "0" || data.d == "0")return;
$.ajax({
url: '/i/p', data: data, timeout: 30000,
success: function (msg) {
var d = $.parseJSON(msg);
if (0 == d.flag) {
$(opts.p).html(d.data.p);
} else {
$(opts.p).html('-');
}
}
});
});
});
}
// default price
$.fn.price.defaults = {lx: 'select.lx', zd: 'select.zd', p: '#p'};
/***** Map Plugin *****/
$.fn.bdmap = function (options) {
var opts = $.extend({}, $.fn.bdmap.defaults, options);
return this.each(function () {
$(this).html('<iframe frameborder="0" scrolling="no" width="100%" height="100%" src="http://218.242.125.172/shmetro/index.html?id=' + (opts.id.length > 3 ? opts.id : "0" + opts.id) + '&level=8"></iframe>');
/*var map = new BMap.Map($(this).attr("id"));
if(opts.id=='' && opts.gis==''){
map.centerAndZoom("上海",10);
} else {
var gis = opts.gis!=''?opts.gis.split(","):getGIS(opts.id);
if(gis==""){
$(this).html('<img src="/skin/jqt/'+opts.id+'.jpg" style="height:100%;"/>').click(function(){
window.open('/skin/jqt/'+opts.id+'.jpg','')
});
return;
}
var point = new BMap.Point(parseFloat(gis[0]),parseFloat(gis[1]));
map.centerAndZoom(point, opts.gd);
}
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.addControl(new BMap.OverviewMapControl());
map.addControl(new BMap.MapTypeControl()); */
});
}
// default map
$.fn.bdmap.defaults = {id: '', gis: '', gd: 18};
/***** changes Plugin *****/
$.fn.changes = function (options) {
var opts = $.extend({}, $.fn.changes.defaults, options);
return this.each(function () {
var th = $(this);
search(th, opts);
});
function search(th, opts) {
$.ajax({
url: '/i/c', data: opts.pm, timeout: 30000,
success: function (msg) {
var d = $.parseJSON(msg);
if (d.flag == 0) {
if (!d.data.list.length) {
opts.dn(th, opts, d);
return;
}
var paths = new Array();
for (var i = 0; i < d.data.list.length; i++) {
var os = d.data.list[i].o;
var ds = d.data.list[i].d;
var lx = getArray(d.data.list[i].plid);
var zd = getArray(d.data.list[i].psid);
var tm = getArray(d.data.list[i].pstm);
var ptid = getArray(d.data.list[i].ptid);
var pttm = getArray(d.data.list[i].pttm);
var psnm = d.data.list[i].psnm;
var bstm = getArray(d.data.list[i].bstm);
var lstm = getArray(d.data.list[i].lstm);
var lttm = d.data.list[i].lttm;
var olasttime = d.data.list[i].olasttime;
paths[i] = new Change(os, ds, lx, zd, tm, ptid, pttm, psnm, bstm, lstm, lttm, olasttime);
}
// 排序-换乘时间/换乘次数
if (opts.od == 1) {
paths.sort(function (m, n) {
var a = parseInt(m.getAllTimeS());
var b = parseInt(n.getAllTimeS());
if (a == b)return 0;
return a < b ? -1 : 1;
});
} else {
paths.sort(function (m, n) {
var a = parseInt(m.getChangeCount());
var b = parseInt(n.getChangeCount());
if (a == b)return 0;
return a < b ? -1 : 1;
});
}
opts.dd(th, opts, paths);
} else {
opts.de(th, opts, d);
}
}
});
}
}
// default change
$.fn.changes.defaults = {
pm: '', od: 0, dd: function () {
}, dn: function () {
}, de: function () {
}
};
/***** Access Plugin *****/
$.fn.access = function (options) {
var opts = $.extend({}, $.fn.access.defaults, options);
return this.each(function () {
var th = $(this);
search(th, opts);
});
function search(th, opts) {
$.ajax({
url: '/i/a', data: opts.pm, timeout: 30000,
success: function (msg) {
var d = $.parseJSON(msg);
if (d.flag == 0) {
if (!d.data.list.length) {
opts.dn(th, opts, d);
return;
}
var paths = new Array();
for (var i = 0; i < d.data.list.length; i++) {
var os = d.data.list[i].o;
var ds = d.data.list[i].d;
var lx = getArray(d.data.list[i].plid);
var zd = getArray(d.data.list[i].psid);
var tm = getArray(d.data.list[i].pstm);
var ptid = getArray(d.data.list[i].ptid);
var pttm = getArray(d.data.list[i].pttm);
var psnm = d.data.list[i].psnm;
var bstm = getArray(d.data.list[i].bstm);
var lstm = getArray(d.data.list[i].lstm);
var lttm = d.data.list[i].lttm;
var olasttime = d.data.list[i].olasttime;
paths[i] = new Change(os, ds, lx, zd, tm, ptid, pttm, psnm, bstm, lstm, lttm, olasttime);//alert(getStations(os)+" --> "+getStations(ds)+"\r\n路线:"+lx+"\r\n站点:"+zd+"\r\n时间:"+tm+"\r\n首班车时间:"+bstm+"\r\n末班车时间:"+lstm+"\r\n途径站点"+psnm+"\r\n途径时间"+lttm);
}
opts.dd(th, opts, paths);
} else {
opts.de(th, opts, d);
}
}
});
}
}
// default change
$.fn.access.defaults = {
pm: '', dd: function () {
}, dn: function () {
}, de: function () {
}
};
})(jQuery);
function getParam(k) {
var qs = (location.search.length > 0 ? location.search.substring(1) : ""),
items = qs.length ? qs.split("&") : [], item = null;
for (var i = 0; i < items.length; i++) {
var item = items[i].split("=");
if (k == item[0] && item[1])
return item[1];
}
return "";
}
function getQueryString() {
return location.search.length > 0 ? location.search.substring(1) : "";
}
function getStations(ids) {
return ids.length > 3 ? stations[ids] : stations["0" + ids];
}
function getGIS(ids) {
var g = ids.length > 3 ? gis[ids] : gis["0" + ids];
return g == undefined ? "" : g.split(',');
}
function getArray(s) {
return (s == "") ? [] : s.split("-");
}
function getSMTime(name) {
var ids = new Array();
for (var l in lines) {
var s = lines[l];
for (var i = 0; i < s.length; i++) {
if (stations[s[i]] == name) {
ids.push([s[0], s[i], s[s.length - 1]]);
break;
}
}
}
for (var i = 0, json = {}; i < ids.length; i++) {
var s = ids[i][0], c = ids[i][1], e = ids[i][2], l = parseInt(s.substring(0, 2), 10), a = [];
var ps = getArray(smbctm[s][0]), bs = getArray(smbctm[s][1]), ls = getArray(smbctm[s][2]);
var pe = getArray(smbctm[e][0]), be = getArray(smbctm[e][1]), le = getArray(smbctm[e][2]);
for (var j = 0; j < ps.length; j++)
if (ps[j] == parseInt(c, 10))break;
var bstm = bs[j], lstm = ls[j];
for (var j = 0; j < pe.length; j++)
if (pe[j] == parseInt(c, 10))break;
var betm = be[j], letm = le[j];
if (s == c) {
a.push([getStations(e), getTime(betm), getTime(letm)]);
} else if (c == e) {
a.push([getStations(s), getTime(bstm), getTime(lstm)]);
} else {
a.push([getStations(e), getTime(betm), getTime(letm)]);
a.push([getStations(s), getTime(bstm), getTime(lstm)]);
}
json[l] = a;
}
;
return json;
}
function getTime(s) {
var h = (parseInt(s / 3600.0)).toString(), m = (parseInt((parseFloat(s / 3600.0) - parseInt(s / 3600.0)) * 60)).toString();
return (h.length > 1 ? h : "0" + h) + ":" + (m.length > 1 ? m : "0" + m);
}
$(function () {
$("#o,#d").station();
$("#schange").click(function () {
var data = {
"o": $("#price select[station=o]").val(),
"d": $("#price select[station=d]").val(),
"t": $("#price .station_card").val()
};
if (data.o == "" || data.o == "0") {
alert("请选择起始站!");
return;
}
if (data.d == "" || data.d == "0") {
alert("请选择终点站!");
return;
}
if (data.o == data.d) {
alert("请选择不同的起始站和终点站!");
return;
}
window.location.href = '/cphc/index.htm?o=' + data.o + '&d=' + data.d + '&t=' + ((data.t == undefined || data.t == '') ? '' : data.t);
});
$("#price").price();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment