Commit d71af237 authored by liyuanhong's avatar liyuanhong

新车机模拟器开发完成80%

parent 3c3c3047
{"name": "gpsLine", "GPSLine": [{"lng": "106.484708", "lat": "29.541383\n"}, {"lng": "106.484708", "lat": "29.541383\n"}, {"lng": "106.48525", "lat": "29.54261\n"}, {"lng": "106.485416", "lat": "29.542851\n"}, {"lng": "106.485576", "lat": "29.543066\n"}, {"lng": "106.485718", "lat": "29.543145\n"}, {"lng": "106.486151", "lat": "29.543361\n"}, {"lng": "106.486681", "lat": "29.543641\n"}, {"lng": "106.487396", "lat": "29.5442\n"}, {"lng": "106.489105", "lat": "29.54584\n"}, {"lng": "106.489171", "lat": "29.54596\n"}, {"lng": "106.48921", "lat": "29.546175\n"}, {"lng": "106.489215", "lat": "29.546413\n"}, {"lng": "106.489138", "lat": "29.546638\n"}, {"lng": "106.48901", "lat": "29.546963\n"}, {"lng": "106.488645", "lat": "29.548548\n"}, {"lng": "106.488666", "lat": "29.548698\n"}, {"lng": "106.488726", "lat": "29.548755\n"}, {"lng": "106.48877", "lat": "29.548778\n"}, {"lng": "106.48883", "lat": "29.54879\n"}, {"lng": "106.488978", "lat": "29.548846\n"}, {"lng": "106.48901", "lat": "29.54884\n"}, {"lng": "106.489726", "lat": "29.548905\n"}, {"lng": "106.48973", "lat": "29.548903\n"}, {"lng": "106.489768", "lat": "29.54894\n"}, {"lng": "106.489768", "lat": "29.54894\n"}, {"lng": "106.489768", "lat": "29.54894\n"}, {"lng": "106.49035", "lat": "29.549128\n"}, {"lng": "106.49035", "lat": "29.549115\n"}, {"lng": "106.490346", "lat": "29.549095\n"}, {"lng": "106.490343", "lat": "29.549085\n"}, {"lng": "106.490343", "lat": "29.549085\n"}, {"lng": "106.490343", "lat": "29.549085\n"}, {"lng": "106.490343", "lat": "29.549085\n"}, {"lng": "106.49037", "lat": "29.549171\n"}, {"lng": "106.490538", "lat": "29.549168\n"}, {"lng": "106.490695", "lat": "29.549196\n"}, {"lng": "106.491661", "lat": "29.549308\n"}, {"lng": "106.491828", "lat": "29.549321\n"}, {"lng": "106.492118", "lat": "29.549441\n"}, {"lng": "106.492333", "lat": "29.549435\n"}, {"lng": "106.492373", "lat": "29.549403\n"}, {"lng": "106.492396", "lat": "29.549403\n"}, {"lng": "106.492396", "lat": "29.549403\n"}, {"lng": "106.492396", "lat": "29.549403\n"}, {"lng": "106.492396", "lat": "29.549403\n"}, {"lng": "106.492846", "lat": "29.549358\n"}, {"lng": "106.492846", "lat": "29.549358\n"}]}
\ No newline at end of file
{"name": "gpsLine", "GPSLine": [{"lng": "106.489936", "lat": "29.571413\n"}, {"lng": "106.489936", "lat": "29.571413\n"}, {"lng": "106.489936", "lat": "29.571413\n"}, {"lng": "106.489936", "lat": "29.571413\n"}, {"lng": "106.489228", "lat": "29.572476\n"}, {"lng": "106.489278", "lat": "29.57247\n"}, {"lng": "106.48928", "lat": "29.572478\n"}, {"lng": "106.489308", "lat": "29.572493\n"}, {"lng": "106.489336", "lat": "29.572491\n"}, {"lng": "106.489401", "lat": "29.572516\n"}, {"lng": "106.489463", "lat": "29.572516\n"}, {"lng": "106.489526", "lat": "29.572513\n"}, {"lng": "106.489551", "lat": "29.572516\n"}, {"lng": "106.48958", "lat": "29.572516\n"}, {"lng": "106.489673", "lat": "29.572513\n"}, {"lng": "106.489723", "lat": "29.572528\n"}, {"lng": "106.48976", "lat": "29.57255\n"}, {"lng": "106.489806", "lat": "29.572548\n"}, {"lng": "106.489945", "lat": "29.572588\n"}, {"lng": "106.490688", "lat": "29.573006\n"}, {"lng": "106.493176", "lat": "29.574358\n"}, {"lng": "106.494316", "lat": "29.575038\n"}, {"lng": "106.494641", "lat": "29.575311\n"}, {"lng": "106.495465", "lat": "29.575978\n"}, {"lng": "106.49554", "lat": "29.576051\n"}, {"lng": "106.495676", "lat": "29.576178\n"}, {"lng": "106.495676", "lat": "29.576178\n"}, {"lng": "106.49603", "lat": "29.576513\n"}, {"lng": "106.497765", "lat": "29.578031\n"}, {"lng": "106.498773", "lat": "29.57854\n"}, {"lng": "106.499798", "lat": "29.578868\n"}, {"lng": "106.501658", "lat": "29.579578\n"}, {"lng": "106.50237", "lat": "29.580096\n"}, {"lng": "106.503121", "lat": "29.580836\n"}, {"lng": "106.50395", "lat": "29.581896\n"}, {"lng": "106.504175", "lat": "29.582433\n"}, {"lng": "106.505063", "lat": "29.584653\n"}, {"lng": "106.50554", "lat": "29.585078\n"}, {"lng": "106.50609", "lat": "29.585436\n"}, {"lng": "106.506691", "lat": "29.585701\n"}, {"lng": "106.507366", "lat": "29.585848\n"}, {"lng": "106.50825", "lat": "29.585931\n"}, {"lng": "106.51094", "lat": "29.586\n"}, {"lng": "106.513358", "lat": "29.586065\n"}, {"lng": "106.516028", "lat": "29.586071\n"}, {"lng": "106.519216", "lat": "29.586091\n"}, {"lng": "106.522845", "lat": "29.586266\n"}, {"lng": "106.523246", "lat": "29.586368\n"}, {"lng": "106.525301", "lat": "29.586976\n"}, {"lng": "106.527695", "lat": "29.587878\n"}, {"lng": "106.528158", "lat": "29.588231\n"}, {"lng": "106.52835", "lat": "29.58837\n"}, {"lng": "106.528901", "lat": "29.588898\n"}, {"lng": "106.530315", "lat": "29.590686\n"}, {"lng": "106.530693", "lat": "29.590921\n"}, {"lng": "106.531298", "lat": "29.591176\n"}, {"lng": "106.531461", "lat": "29.591223\n"}, {"lng": "106.531958", "lat": "29.591311\n"}, {"lng": "106.532708", "lat": "29.591331\n"}, {"lng": "106.53456", "lat": "29.59121\n"}, {"lng": "106.536136", "lat": "29.591001\n"}, {"lng": "106.536763", "lat": "29.590758\n"}, {"lng": "106.537365", "lat": "29.590386\n"}, {"lng": "106.537816", "lat": "29.590071\n"}, {"lng": "106.53997", "lat": "29.588791\n"}, {"lng": "106.54105", "lat": "29.58838\n"}, {"lng": "106.544393", "lat": "29.58736\n"}, {"lng": "106.546295", "lat": "29.586875\n"}, {"lng": "106.54707", "lat": "29.586838\n"}, {"lng": "106.547906", "lat": "29.586898\n"}, {"lng": "106.550141", "lat": "29.58728\n"}, {"lng": "106.550928", "lat": "29.587341\n"}, {"lng": "106.554313", "lat": "29.587185\n"}, {"lng": "106.558706", "lat": "29.587231\n"}, {"lng": "106.564148", "lat": "29.587476\n"}, {"lng": "106.568888", "lat": "29.587811\n"}, {"lng": "106.57465", "lat": "29.588195\n"}, {"lng": "106.581358", "lat": "29.58863\n"}, {"lng": "106.58715", "lat": "29.588625\n"}, {"lng": "106.587683", "lat": "29.588548\n"}, {"lng": "106.588408", "lat": "29.588351\n"}, {"lng": "106.589363", "lat": "29.587905\n"}, {"lng": "106.58993", "lat": "29.587518\n"}, {"lng": "106.590306", "lat": "29.587135\n"}, {"lng": "106.590373", "lat": "29.587008\n"}, {"lng": "106.590413", "lat": "29.58687\n"}, {"lng": "106.59044", "lat": "29.586643\n"}, {"lng": "106.590418", "lat": "29.586578\n"}, {"lng": "106.590366", "lat": "29.586528\n"}, {"lng": "106.590295", "lat": "29.586491\n"}, {"lng": "106.590121", "lat": "29.586416\n"}, {"lng": "106.58978", "lat": "29.586376\n"}, {"lng": "106.589298", "lat": "29.586303\n"}, {"lng": "106.58896", "lat": "29.586151\n"}, {"lng": "106.587671", "lat": "29.585425\n"}, {"lng": "106.587248", "lat": "29.585178\n"}, {"lng": "106.587193", "lat": "29.585103\n"}, {"lng": "106.586845", "lat": "29.584518\n"}, {"lng": "106.586873", "lat": "29.584393\n"}, {"lng": "106.586908", "lat": "29.584336\n"}, {"lng": "106.586978", "lat": "29.584295\n"}, {"lng": "106.587063", "lat": "29.584245\n"}, {"lng": "106.587728", "lat": "29.583933\n"}, {"lng": "106.58852", "lat": "29.583666\n"}, {"lng": "106.588616", "lat": "29.583636\n"}, {"lng": "106.59062", "lat": "29.583203\n"}, {"lng": "106.5909", "lat": "29.583028\n"}, {"lng": "106.590946", "lat": "29.583026\n"}, {"lng": "106.591038", "lat": "29.583023\n"}, {"lng": "106.591191", "lat": "29.582983\n"}, {"lng": "106.591945", "lat": "29.582805\n"}, {"lng": "106.593713", "lat": "29.5825\n"}, {"lng": "106.594765", "lat": "29.582348\n"}, {"lng": "106.595623", "lat": "29.582066\n"}, {"lng": "106.59581", "lat": "29.58191\n"}, {"lng": "106.59589", "lat": "29.581818\n"}, {"lng": "106.596008", "lat": "29.58164\n"}, {"lng": "106.596105", "lat": "29.581355\n"}, {"lng": "106.596305", "lat": "29.5805\n"}, {"lng": "106.596385", "lat": "29.579981\n"}, {"lng": "106.596376", "lat": "29.579921\n"}, {"lng": "106.5964", "lat": "29.57966\n"}, {"lng": "106.596518", "lat": "29.579361\n"}, {"lng": "106.596688", "lat": "29.579113\n"}, {"lng": "106.597758", "lat": "29.577621\n"}, {"lng": "106.597786", "lat": "29.577493\n"}, {"lng": "106.597826", "lat": "29.577223\n"}, {"lng": "106.597873", "lat": "29.577126\n"}, {"lng": "106.597888", "lat": "29.576851\n"}, {"lng": "106.597788", "lat": "29.576398\n"}, {"lng": "106.597645", "lat": "29.57626\n"}, {"lng": "106.59744", "lat": "29.576173\n"}, {"lng": "106.597366", "lat": "29.576155\n"}, {"lng": "106.597295", "lat": "29.576161\n"}, {"lng": "106.597103", "lat": "29.576156\n"}, {"lng": "106.597018", "lat": "29.576163\n"}, {"lng": "106.596796", "lat": "29.576183\n"}, {"lng": "106.596551", "lat": "29.57617\n"}, {"lng": "106.59605", "lat": "29.576128\n"}, {"lng": "106.595771", "lat": "29.576055\n"}, {"lng": "106.595018", "lat": "29.575778\n"}, {"lng": "106.594866", "lat": "29.57571\n"}, {"lng": "106.594543", "lat": "29.575561\n"}, {"lng": "106.594506", "lat": "29.575486\n"}, {"lng": "106.594505", "lat": "29.575436\n"}, {"lng": "106.594511", "lat": "29.575385\n"}, {"lng": "106.594491", "lat": "29.575216\n"}, {"lng": "106.594468", "lat": "29.575196\n"}, {"lng": "106.594391", "lat": "29.575178\n"}, {"lng": "106.594345", "lat": "29.575181\n"}, {"lng": "106.594196", "lat": "29.575205\n"}, {"lng": "106.593868", "lat": "29.575305\n"}, {"lng": "106.59372", "lat": "29.57537\n"}, {"lng": "106.59363", "lat": "29.575435\n"}, {"lng": "106.593523", "lat": "29.575543\n"}, {"lng": "106.5933", "lat": "29.575731\n"}, {"lng": "106.593236", "lat": "29.575753\n"}, {"lng": "106.593095", "lat": "29.575788\n"}, {"lng": "106.59263", "lat": "29.575965\n"}, {"lng": "106.59258", "lat": "29.576035\n"}, {"lng": "106.592545", "lat": "29.576106\n"}, {"lng": "106.592495", "lat": "29.576258\n"}, {"lng": "106.592303", "lat": "29.576691\n"}, {"lng": "106.592215", "lat": "29.576761\n"}, {"lng": "106.592118", "lat": "29.57682\n"}, {"lng": "106.59181", "lat": "29.57696\n"}, {"lng": "106.591708", "lat": "29.576963\n"}, {"lng": "106.59155", "lat": "29.576893\n"}, {"lng": "106.591506", "lat": "29.576825\n"}, {"lng": "106.591498", "lat": "29.576743\n"}, {"lng": "106.591511", "lat": "29.576651\n"}, {"lng": "106.591545", "lat": "29.576583\n"}, {"lng": "106.591563", "lat": "29.57627\n"}, {"lng": "106.591503", "lat": "29.576076\n"}, {"lng": "106.591426", "lat": "29.575991\n"}, {"lng": "106.59105", "lat": "29.575535\n"}, {"lng": "106.590888", "lat": "29.575535\n"}, {"lng": "106.590741", "lat": "29.575553\n"}, {"lng": "106.590668", "lat": "29.575568\n"}, {"lng": "106.590585", "lat": "29.575606\n"}, {"lng": "106.589545", "lat": "29.575728\n"}, {"lng": "106.589331", "lat": "29.575686\n"}, {"lng": "106.588915", "lat": "29.575568\n"}, {"lng": "106.588903", "lat": "29.575546\n"}, {"lng": "106.588861", "lat": "29.575505\n"}, {"lng": "106.588415", "lat": "29.575126\n"}, {"lng": "106.588343", "lat": "29.575101\n"}, {"lng": "106.588276", "lat": "29.575088\n"}, {"lng": "106.588216", "lat": "29.575088\n"}, {"lng": "106.58816", "lat": "29.575098\n"}, {"lng": "106.588105", "lat": "29.575121\n"}, {"lng": "106.588058", "lat": "29.575151\n"}, {"lng": "106.587973", "lat": "29.575213\n"}, {"lng": "106.58742", "lat": "29.57571\n"}, {"lng": "106.587413", "lat": "29.575743\n"}, {"lng": "106.587418", "lat": "29.575771\n"}, {"lng": "106.587436", "lat": "29.575788\n"}, {"lng": "106.587461", "lat": "29.5758\n"}, {"lng": "106.58749", "lat": "29.57581\n"}, {"lng": "106.587545", "lat": "29.575818\n"}, {"lng": "106.587605", "lat": "29.575815\n"}, {"lng": "106.587781", "lat": "29.575788\n"}, {"lng": "106.587861", "lat": "29.57577\n"}, {"lng": "106.587883", "lat": "29.5758\n"}, {"lng": "106.587883", "lat": "29.5758\n"}, {"lng": "106.587883", "lat": "29.5758\n"}, {"lng": "106.587883", "lat": "29.5758"}]}
\ No newline at end of file
{
"name":"GPS轨迹1",
"GPSLine":[
{
"lng":106.586571,
"lat":29.569133
},
{
"lng":106.586935,
"lat":29.569215
},
{
"lng":106.587114,
"lat":29.569215
},
{
"lng":106.587424,
"lat":29.569231
},
{
"lng":106.587685,
"lat":29.569278
},
{
"lng":106.587981,
"lat":29.569298
},
{
"lng":106.588098,
"lat":29.569341
},
{
"lng":106.588287,
"lat":29.569392
},
{
"lng":106.588435,
"lat":29.569439
},
{
"lng":106.588565,
"lat":29.569506
},
{
"lng":106.588646,
"lat":29.569565
},
{
"lng":106.588763,
"lat":29.569651
},
{
"lng":106.588884,
"lat":29.569745
},
{
"lng":106.589073,
"lat":29.569832
},
{
"lng":106.589374,
"lat":29.569977
},
{
"lng":106.589688,
"lat":29.570114
},
{
"lng":106.589993,
"lat":29.570228
},
{
"lng":106.590146,
"lat":29.570271
},
{
"lng":106.590357,
"lat":29.570291
},
{
"lng":106.590573,
"lat":29.570264
},
{
"lng":106.590802,
"lat":29.570248
},
{
"lng":106.59095,
"lat":29.570205
},
{
"lng":106.59108,
"lat":29.570256
},
{
"lng":106.591273,
"lat":29.570421
},
{
"lng":106.591507,
"lat":29.570578
},
{
"lng":106.591673,
"lat":29.570703
},
{
"lng":106.591772,
"lat":29.570774
},
{
"lng":106.591974,
"lat":29.570943
},
{
"lng":106.592145,
"lat":29.57108
},
{
"lng":106.592342,
"lat":29.571261
},
{
"lng":106.592383,
"lat":29.571332
},
{
"lng":106.592527,
"lat":29.571493
},
{
"lng":106.592679,
"lat":29.571642
},
{
"lng":106.592765,
"lat":29.571748
},
{
"lng":106.592877,
"lat":29.571834
},
{
"lng":106.593007,
"lat":29.571901
},
{
"lng":106.593182,
"lat":29.571936
},
{
"lng":106.593308,
"lat":29.571936
},
{
"lng":106.593407,
"lat":29.571874
},
{
"lng":106.593591,
"lat":29.571815
},
{
"lng":106.593784,
"lat":29.571795
},
{
"lng":106.593847,
"lat":29.571862
},
{
"lng":106.593865,
"lat":29.571983
},
{
"lng":106.59391,
"lat":29.572105
},
{
"lng":106.594054,
"lat":29.572144
},
{
"lng":106.594453,
"lat":29.572121
},
{
"lng":106.594665,
"lat":29.57205
},
{
"lng":106.594799,
"lat":29.571968
},
{
"lng":106.594925,
"lat":29.571862
},
{
"lng":106.595078,
"lat":29.57172
},
{
"lng":106.595145,
"lat":29.571607
},
{
"lng":106.595226,
"lat":29.571449
},
{
"lng":106.595239,
"lat":29.571324
},
{
"lng":106.59528,
"lat":29.571124
},
{
"lng":106.59528,
"lat":29.570982
},
{
"lng":106.595289,
"lat":29.570821
},
{
"lng":106.59532,
"lat":29.57066
},
{
"lng":106.59532,
"lat":29.570515
},
{
"lng":106.595325,
"lat":29.570413
},
{
"lng":106.595374,
"lat":29.570158
},
{
"lng":106.595374,
"lat":29.570024
},
{
"lng":106.595406,
"lat":29.56984
},
{
"lng":106.59541,
"lat":29.569631
},
{
"lng":106.59541,
"lat":29.569439
},
{
"lng":106.595451,
"lat":29.569199
},
{
"lng":106.595451,
"lat":29.569074
},
{
"lng":106.595473,
"lat":29.568932
},
{
"lng":106.595495,
"lat":29.568787
},
{
"lng":106.595469,
"lat":29.568563
},
{
"lng":106.595464,
"lat":29.568422
},
{
"lng":106.595401,
"lat":29.568151
},
{
"lng":106.595406,
"lat":29.567947
},
{
"lng":106.595352,
"lat":29.567739
},
{
"lng":106.595334,
"lat":29.567593
},
{
"lng":106.595316,
"lat":29.567397
},
{
"lng":106.595298,
"lat":29.567209
},
{
"lng":106.595266,
"lat":29.567016
},
{
"lng":106.595239,
"lat":29.566777
},
{
"lng":106.595217,
"lat":29.566592
},
{
"lng":106.595186,
"lat":29.566384
},
{
"lng":106.595141,
"lat":29.566188
},
{
"lng":106.595091,
"lat":29.565976
},
{
"lng":106.594997,
"lat":29.565732
},
{
"lng":106.594934,
"lat":29.565544
},
{
"lng":106.594795,
"lat":29.565178
},
{
"lng":106.594678,
"lat":29.564951
},
{
"lng":106.594629,
"lat":29.564758
},
{
"lng":106.594566,
"lat":29.564605
},
{
"lng":106.594691,
"lat":29.564554
},
{
"lng":106.594898,
"lat":29.564507
},
{
"lng":106.595212,
"lat":29.564409
},
{
"lng":106.595626,
"lat":29.564291
},
{
"lng":106.596165,
"lat":29.564134
},
{
"lng":106.596421,
"lat":29.564063
},
{
"lng":106.596704,
"lat":29.563985
},
{
"lng":106.596928,
"lat":29.56391
},
{
"lng":106.59744,
"lat":29.563761
},
{
"lng":106.597867,
"lat":29.563635
},
{
"lng":106.598105,
"lat":29.563553
},
{
"lng":106.598294,
"lat":29.563517
},
{
"lng":106.598572,
"lat":29.563415
},
{
"lng":106.598909,
"lat":29.563317
},
{
"lng":106.599165,
"lat":29.56325
},
{
"lng":106.599673,
"lat":29.563109
},
{
"lng":106.600104,
"lat":29.562975
},
{
"lng":106.600369,
"lat":29.562921
},
{
"lng":106.600571,
"lat":29.562854
},
{
"lng":106.600786,
"lat":29.562807
},
{
"lng":106.600791,
"lat":29.562807
},
{
"lng":106.600804,
"lat":29.562913
},
{
"lng":106.600836,
"lat":29.563082
},
{
"lng":106.600849,
"lat":29.563164
},
{
"lng":106.60089,
"lat":29.56336
},
{
"lng":106.600957,
"lat":29.563623
},
{
"lng":106.600966,
"lat":29.563733
},
{
"lng":106.600966,
"lat":29.563922
},
{
"lng":106.600984,
"lat":29.564216
},
{
"lng":106.601002,
"lat":29.56444
},
{
"lng":106.601011,
"lat":29.564692
},
{
"lng":106.601025,
"lat":29.564978
},
{
"lng":106.601025,
"lat":29.565182
},
{
"lng":106.601047,
"lat":29.565367
},
{
"lng":106.601038,
"lat":29.565508
},
{
"lng":106.601056,
"lat":29.56563
},
{
"lng":106.601051,
"lat":29.565932
},
{
"lng":106.60106,
"lat":29.566129
},
{
"lng":106.601074,
"lat":29.566388
},
{
"lng":106.601096,
"lat":29.566569
},
{
"lng":106.601083,
"lat":29.566706
},
{
"lng":106.601096,
"lat":29.566985
},
{
"lng":106.601083,
"lat":29.567122
},
{
"lng":106.601105,
"lat":29.567271
},
{
"lng":106.601105,
"lat":29.567432
},
{
"lng":106.601114,
"lat":29.567625
},
{
"lng":106.601105,
"lat":29.567723
},
{
"lng":106.601114,
"lat":29.567786
},
{
"lng":106.601132,
"lat":29.568006
},
{
"lng":106.601128,
"lat":29.568112
},
{
"lng":106.601114,
"lat":29.568257
},
{
"lng":106.601119,
"lat":29.568379
},
{
"lng":106.601119,
"lat":29.568646
},
{
"lng":106.601101,
"lat":29.568779
},
{
"lng":106.60111,
"lat":29.568913
},
{
"lng":106.601101,
"lat":29.569031
},
{
"lng":106.601101,
"lat":29.569196
},
{
"lng":106.601083,
"lat":29.569302
},
{
"lng":106.601083,
"lat":29.569435
},
{
"lng":106.601051,
"lat":29.56958
},
{
"lng":106.601029,
"lat":29.569722
},
{
"lng":106.601034,
"lat":29.56984
},
{
"lng":106.600998,
"lat":29.570001
},
{
"lng":106.60098,
"lat":29.570193
},
{
"lng":106.600944,
"lat":29.570354
},
{
"lng":106.600926,
"lat":29.57048
},
{
"lng":106.600885,
"lat":29.570668
},
{
"lng":106.600867,
"lat":29.570825
},
{
"lng":106.600854,
"lat":29.570966
},
{
"lng":106.600849,
"lat":29.571065
},
{
"lng":106.600804,
"lat":29.571186
},
{
"lng":106.600755,
"lat":29.571351
},
{
"lng":106.600769,
"lat":29.57141
},
{
"lng":106.600751,
"lat":29.571512
},
{
"lng":106.600737,
"lat":29.571622
},
{
"lng":106.600697,
"lat":29.571779
},
{
"lng":106.600697,
"lat":29.571901
},
{
"lng":106.600661,
"lat":29.572035
},
{
"lng":106.600638,
"lat":29.572172
},
{
"lng":106.60062,
"lat":29.572357
},
{
"lng":106.600593,
"lat":29.572514
},
{
"lng":106.600571,
"lat":29.572655
},
{
"lng":106.600548,
"lat":29.572828
},
{
"lng":106.60053,
"lat":29.572981
},
{
"lng":106.600499,
"lat":29.573142
},
{
"lng":106.600495,
"lat":29.573267
},
{
"lng":106.600441,
"lat":29.573401
},
{
"lng":106.600423,
"lat":29.573523
},
{
"lng":106.600391,
"lat":29.573754
},
{
"lng":106.600364,
"lat":29.57399
},
{
"lng":106.600328,
"lat":29.574186
},
{
"lng":106.600283,
"lat":29.574379
},
{
"lng":106.600261,
"lat":29.574548
},
{
"lng":106.600234,
"lat":29.574693
},
{
"lng":106.600207,
"lat":29.574846
},
{
"lng":106.600189,
"lat":29.574956
},
{
"lng":106.600162,
"lat":29.575093
},
{
"lng":106.600122,
"lat":29.57525
},
{
"lng":106.600077,
"lat":29.575474
},
{
"lng":106.600009,
"lat":29.575631
},
{
"lng":106.599933,
"lat":29.575831
},
{
"lng":106.599866,
"lat":29.576008
},
{
"lng":106.599758,
"lat":29.576204
},
{
"lng":106.5997,
"lat":29.576326
},
{
"lng":106.599583,
"lat":29.576487
},
{
"lng":106.599479,
"lat":29.576636
},
{
"lng":106.599399,
"lat":29.57677
},
{
"lng":106.5993,
"lat":29.576947
},
{
"lng":106.59921,
"lat":29.577053
},
{
"lng":106.599093,
"lat":29.577182
},
{
"lng":106.59899,
"lat":29.5773
},
{
"lng":106.598909,
"lat":29.577437
},
{
"lng":106.598797,
"lat":29.577512
},
{
"lng":106.598666,
"lat":29.577693
},
{
"lng":106.5985,
"lat":29.57785
},
{
"lng":106.598401,
"lat":29.57796
},
{
"lng":106.598262,
"lat":29.578054
},
{
"lng":106.598168,
"lat":29.578195
},
{
"lng":106.598038,
"lat":29.578297
},
{
"lng":106.598015,
"lat":29.578364
},
{
"lng":106.598015,
"lat":29.578364
}
]
}
{ "name":"GPS轨迹1", "GPSLine":[ { "lng":106.586571, "lat":29.569133 }, { "lng":106.586935, "lat":29.569215 }, { "lng":106.587114, "lat":29.569215 }, { "lng":106.587424, "lat":29.569231 }, { "lng":106.587685, "lat":29.569278 }, { "lng":106.587981, "lat":29.569298 }, { "lng":106.588098, "lat":29.569341 }, { "lng":106.588287, "lat":29.569392 }, { "lng":106.588435, "lat":29.569439 }, { "lng":106.588565, "lat":29.569506 }, { "lng":106.588646, "lat":29.569565 }, { "lng":106.588763, "lat":29.569651 }, { "lng":106.588884, "lat":29.569745 }, { "lng":106.589073, "lat":29.569832 }, { "lng":106.589374, "lat":29.569977 }, { "lng":106.589688, "lat":29.570114 }, { "lng":106.589993, "lat":29.570228 }, { "lng":106.590146, "lat":29.570271 }, { "lng":106.590357, "lat":29.570291 }, { "lng":106.590573, "lat":29.570264 }, { "lng":106.590802, "lat":29.570248 }, { "lng":106.59095, "lat":29.570205 }, { "lng":106.59108, "lat":29.570256 }, { "lng":106.591273, "lat":29.570421 }, { "lng":106.591507, "lat":29.570578 }, { "lng":106.591673, "lat":29.570703 }, { "lng":106.591772, "lat":29.570774 }, { "lng":106.591974, "lat":29.570943 }, { "lng":106.592145, "lat":29.57108 }, { "lng":106.592342, "lat":29.571261 }, { "lng":106.592383, "lat":29.571332 }, { "lng":106.592527, "lat":29.571493 }, { "lng":106.592679, "lat":29.571642 }, { "lng":106.592765, "lat":29.571748 }, { "lng":106.592877, "lat":29.571834 }, { "lng":106.593007, "lat":29.571901 }, { "lng":106.593182, "lat":29.571936 }, { "lng":106.593308, "lat":29.571936 }, { "lng":106.593407, "lat":29.571874 }, { "lng":106.593591, "lat":29.571815 }, { "lng":106.593784, "lat":29.571795 }, { "lng":106.593847, "lat":29.571862 }, { "lng":106.593865, "lat":29.571983 }, { "lng":106.59391, "lat":29.572105 }, { "lng":106.594054, "lat":29.572144 }, { "lng":106.594453, "lat":29.572121 }, { "lng":106.594665, "lat":29.57205 }, { "lng":106.594799, "lat":29.571968 }, { "lng":106.594925, "lat":29.571862 }, { "lng":106.595078, "lat":29.57172 }, { "lng":106.595145, "lat":29.571607 }, { "lng":106.595226, "lat":29.571449 }, { "lng":106.595239, "lat":29.571324 }, { "lng":106.59528, "lat":29.571124 }, { "lng":106.59528, "lat":29.570982 }, { "lng":106.595289, "lat":29.570821 }, { "lng":106.59532, "lat":29.57066 }, { "lng":106.59532, "lat":29.570515 }, { "lng":106.595325, "lat":29.570413 }, { "lng":106.595374, "lat":29.570158 }, { "lng":106.595374, "lat":29.570024 }, { "lng":106.595406, "lat":29.56984 }, { "lng":106.59541, "lat":29.569631 }, { "lng":106.59541, "lat":29.569439 }, { "lng":106.595451, "lat":29.569199 }, { "lng":106.595451, "lat":29.569074 }, { "lng":106.595473, "lat":29.568932 }, { "lng":106.595495, "lat":29.568787 }, { "lng":106.595469, "lat":29.568563 }, { "lng":106.595464, "lat":29.568422 }, { "lng":106.595401, "lat":29.568151 }, { "lng":106.595406, "lat":29.567947 }, { "lng":106.595352, "lat":29.567739 }, { "lng":106.595334, "lat":29.567593 }, { "lng":106.595316, "lat":29.567397 }, { "lng":106.595298, "lat":29.567209 }, { "lng":106.595266, "lat":29.567016 }, { "lng":106.595239, "lat":29.566777 }, { "lng":106.595217, "lat":29.566592 }, { "lng":106.595186, "lat":29.566384 }, { "lng":106.595141, "lat":29.566188 }, { "lng":106.595091, "lat":29.565976 }, { "lng":106.594997, "lat":29.565732 }, { "lng":106.594934, "lat":29.565544 }, { "lng":106.594795, "lat":29.565178 }, { "lng":106.594678, "lat":29.564951 }, { "lng":106.594629, "lat":29.564758 }, { "lng":106.594566, "lat":29.564605 }, { "lng":106.594691, "lat":29.564554 }, { "lng":106.594898, "lat":29.564507 }, { "lng":106.595212, "lat":29.564409 }, { "lng":106.595626, "lat":29.564291 }, { "lng":106.596165, "lat":29.564134 }, { "lng":106.596421, "lat":29.564063 }, { "lng":106.596704, "lat":29.563985 }, { "lng":106.596928, "lat":29.56391 }, { "lng":106.59744, "lat":29.563761 }, { "lng":106.597867, "lat":29.563635 }, { "lng":106.598105, "lat":29.563553 }, { "lng":106.598294, "lat":29.563517 }, { "lng":106.598572, "lat":29.563415 }, { "lng":106.598909, "lat":29.563317 }, { "lng":106.599165, "lat":29.56325 }, { "lng":106.599673, "lat":29.563109 }, { "lng":106.600104, "lat":29.562975 }, { "lng":106.600369, "lat":29.562921 }, { "lng":106.600571, "lat":29.562854 }, { "lng":106.600786, "lat":29.562807 }, { "lng":106.600791, "lat":29.562807 }, { "lng":106.600804, "lat":29.562913 }, { "lng":106.600836, "lat":29.563082 }, { "lng":106.600849, "lat":29.563164 }, { "lng":106.60089, "lat":29.56336 }, { "lng":106.600957, "lat":29.563623 }, { "lng":106.600966, "lat":29.563733 }, { "lng":106.600966, "lat":29.563922 }, { "lng":106.600984, "lat":29.564216 }, { "lng":106.601002, "lat":29.56444 }, { "lng":106.601011, "lat":29.564692 }, { "lng":106.601025, "lat":29.564978 }, { "lng":106.601025, "lat":29.565182 }, { "lng":106.601047, "lat":29.565367 }, { "lng":106.601038, "lat":29.565508 }, { "lng":106.601056, "lat":29.56563 }, { "lng":106.601051, "lat":29.565932 }, { "lng":106.60106, "lat":29.566129 }, { "lng":106.601074, "lat":29.566388 }, { "lng":106.601096, "lat":29.566569 }, { "lng":106.601083, "lat":29.566706 }, { "lng":106.601096, "lat":29.566985 }, { "lng":106.601083, "lat":29.567122 }, { "lng":106.601105, "lat":29.567271 }, { "lng":106.601105, "lat":29.567432 }, { "lng":106.601114, "lat":29.567625 }, { "lng":106.601105, "lat":29.567723 }, { "lng":106.601114, "lat":29.567786 }, { "lng":106.601132, "lat":29.568006 }, { "lng":106.601128, "lat":29.568112 }, { "lng":106.601114, "lat":29.568257 }, { "lng":106.601119, "lat":29.568379 }, { "lng":106.601119, "lat":29.568646 }, { "lng":106.601101, "lat":29.568779 }, { "lng":106.60111, "lat":29.568913 }, { "lng":106.601101, "lat":29.569031 }, { "lng":106.601101, "lat":29.569196 }, { "lng":106.601083, "lat":29.569302 }, { "lng":106.601083, "lat":29.569435 }, { "lng":106.601051, "lat":29.56958 }, { "lng":106.601029, "lat":29.569722 }, { "lng":106.601034, "lat":29.56984 }, { "lng":106.600998, "lat":29.570001 }, { "lng":106.60098, "lat":29.570193 }, { "lng":106.600944, "lat":29.570354 }, { "lng":106.600926, "lat":29.57048 }, { "lng":106.600885, "lat":29.570668 }, { "lng":106.600867, "lat":29.570825 }, { "lng":106.600854, "lat":29.570966 }, { "lng":106.600849, "lat":29.571065 }, { "lng":106.600804, "lat":29.571186 }, { "lng":106.600755, "lat":29.571351 }, { "lng":106.600769, "lat":29.57141 }, { "lng":106.600751, "lat":29.571512 }, { "lng":106.600737, "lat":29.571622 }, { "lng":106.600697, "lat":29.571779 }, { "lng":106.600697, "lat":29.571901 }, { "lng":106.600661, "lat":29.572035 }, { "lng":106.600638, "lat":29.572172 }, { "lng":106.60062, "lat":29.572357 }, { "lng":106.600593, "lat":29.572514 }, { "lng":106.600571, "lat":29.572655 }, { "lng":106.600548, "lat":29.572828 }, { "lng":106.60053, "lat":29.572981 }, { "lng":106.600499, "lat":29.573142 }, { "lng":106.600495, "lat":29.573267 }, { "lng":106.600441, "lat":29.573401 }, { "lng":106.600423, "lat":29.573523 }, { "lng":106.600391, "lat":29.573754 }, { "lng":106.600364, "lat":29.57399 }, { "lng":106.600328, "lat":29.574186 }, { "lng":106.600283, "lat":29.574379 }, { "lng":106.600261, "lat":29.574548 }, { "lng":106.600234, "lat":29.574693 }, { "lng":106.600207, "lat":29.574846 }, { "lng":106.600189, "lat":29.574956 }, { "lng":106.600162, "lat":29.575093 }, { "lng":106.600122, "lat":29.57525 }, { "lng":106.600077, "lat":29.575474 }, { "lng":106.600009, "lat":29.575631 }, { "lng":106.599933, "lat":29.575831 }, { "lng":106.599866, "lat":29.576008 }, { "lng":106.599758, "lat":29.576204 }, { "lng":106.5997, "lat":29.576326 }, { "lng":106.599583, "lat":29.576487 }, { "lng":106.599479, "lat":29.576636 }, { "lng":106.599399, "lat":29.57677 }, { "lng":106.5993, "lat":29.576947 }, { "lng":106.59921, "lat":29.577053 }, { "lng":106.599093, "lat":29.577182 }, { "lng":106.59899, "lat":29.5773 }, { "lng":106.598909, "lat":29.577437 }, { "lng":106.598797, "lat":29.577512 }, { "lng":106.598666, "lat":29.577693 }, { "lng":106.5985, "lat":29.57785 }, { "lng":106.598401, "lat":29.57796 }, { "lng":106.598262, "lat":29.578054 }, { "lng":106.598168, "lat":29.578195 }, { "lng":106.598038, "lat":29.578297 }, { "lng":106.598015, "lat":29.578364 }, { "lng":106.598015, "lat":29.578364 } ] }
\ No newline at end of file
{ "name":"GPS轨迹1", "GPSLine":[ { "lng":106.591507, "lat":29.570578 }, { "lng":106.591673, "lat":29.570703 }, { "lng":106.591772, "lat":29.570774 }, { "lng":106.591974, "lat":29.570943 }, { "lng":106.592145, "lat":29.57108 }, { "lng":106.592342, "lat":29.571261 }, { "lng":106.592383, "lat":29.571332 }, { "lng":106.592527, "lat":29.571493 }, { "lng":106.592679, "lat":29.571642 }, { "lng":106.592765, "lat":29.571748 }, { "lng":106.592877, "lat":29.571834 }, { "lng":106.593007, "lat":29.571901 }, { "lng":106.593182, "lat":29.571936 }, { "lng":106.593308, "lat":29.571936 }, { "lng":106.593407, "lat":29.571874 }, { "lng":106.593591, "lat":29.571815 }, { "lng":106.593784, "lat":29.571795 }, { "lng":106.593847, "lat":29.571862 }, { "lng":106.593865, "lat":29.571983 }, { "lng":106.59391, "lat":29.572105 }, { "lng":106.594054, "lat":29.572144 }, { "lng":106.594453, "lat":29.572121 }, { "lng":106.594665, "lat":29.57205 }, { "lng":106.594799, "lat":29.571968 }, { "lng":106.594925, "lat":29.571862 }, { "lng":106.595078, "lat":29.57172 }, { "lng":106.595145, "lat":29.571607 }, { "lng":106.595226, "lat":29.571449 }, { "lng":106.595239, "lat":29.571324 }, { "lng":106.59528, "lat":29.571124 }, { "lng":106.59528, "lat":29.570982 }, { "lng":106.595289, "lat":29.570821 }, { "lng":106.59532, "lat":29.57066 }, { "lng":106.59532, "lat":29.570515 }, { "lng":106.595325, "lat":29.570413 }, { "lng":106.595374, "lat":29.570158 }, { "lng":106.595374, "lat":29.570024 }, { "lng":106.595406, "lat":29.56984 }, { "lng":106.59541, "lat":29.569631 }, { "lng":106.59541, "lat":29.569439 }, { "lng":106.595451, "lat":29.569199 }, { "lng":106.595451, "lat":29.569074 }, { "lng":106.595473, "lat":29.568932 }, { "lng":106.595495, "lat":29.568787 }, { "lng":106.595469, "lat":29.568563 }, { "lng":106.595464, "lat":29.568422 }, { "lng":106.595401, "lat":29.568151 }, { "lng":106.595406, "lat":29.567947 }, { "lng":106.595352, "lat":29.567739 }, { "lng":106.595334, "lat":29.567593 }, { "lng":106.595316, "lat":29.567397 }, { "lng":106.595298, "lat":29.567209 }, { "lng":106.595266, "lat":29.567016 }, { "lng":106.595239, "lat":29.566777 }, { "lng":106.595217, "lat":29.566592 }, { "lng":106.595186, "lat":29.566384 }, { "lng":106.595141, "lat":29.566188 }, { "lng":106.595091, "lat":29.565976 }, { "lng":106.594997, "lat":29.565732 }, { "lng":106.594934, "lat":29.565544 }, { "lng":106.594795, "lat":29.565178 }, { "lng":106.594678, "lat":29.564951 }, { "lng":106.594629, "lat":29.564758 }, { "lng":106.594566, "lat":29.564605 }, { "lng":106.594691, "lat":29.564554 }, { "lng":106.594898, "lat":29.564507 }, { "lng":106.595212, "lat":29.564409 }, { "lng":106.595626, "lat":29.564291 }, { "lng":106.596165, "lat":29.564134 }, { "lng":106.596421, "lat":29.564063 }, { "lng":106.596704, "lat":29.563985 }, { "lng":106.596928, "lat":29.56391 }, { "lng":106.59744, "lat":29.563761 }, { "lng":106.597867, "lat":29.563635 }, { "lng":106.598105, "lat":29.563553 }, { "lng":106.598294, "lat":29.563517 }, { "lng":106.598572, "lat":29.563415 }, { "lng":106.598909, "lat":29.563317 }, { "lng":106.599165, "lat":29.56325 }, { "lng":106.599673, "lat":29.563109 }, { "lng":106.600104, "lat":29.562975 }, { "lng":106.600369, "lat":29.562921 }, { "lng":106.600571, "lat":29.562854 }, { "lng":106.600786, "lat":29.562807 }, { "lng":106.600791, "lat":29.562807 }, { "lng":106.600804, "lat":29.562913 }, { "lng":106.600836, "lat":29.563082 }, { "lng":106.600849, "lat":29.563164 }, { "lng":106.60089, "lat":29.56336 }, { "lng":106.600957, "lat":29.563623 }, { "lng":106.600966, "lat":29.563733 }, { "lng":106.600966, "lat":29.563922 }, { "lng":106.600984, "lat":29.564216 }, { "lng":106.601002, "lat":29.56444 }, { "lng":106.601011, "lat":29.564692 }, { "lng":106.601025, "lat":29.564978 }, { "lng":106.601025, "lat":29.565182 }, { "lng":106.601047, "lat":29.565367 }, { "lng":106.601038, "lat":29.565508 }, { "lng":106.601056, "lat":29.56563 }, { "lng":106.601051, "lat":29.565932 }, { "lng":106.60106, "lat":29.566129 }, { "lng":106.601074, "lat":29.566388 }, { "lng":106.601096, "lat":29.566569 }, { "lng":106.601083, "lat":29.566706 }, { "lng":106.601096, "lat":29.566985 }, { "lng":106.601083, "lat":29.567122 }, { "lng":106.601105, "lat":29.567271 }, { "lng":106.601105, "lat":29.567432 }, { "lng":106.601114, "lat":29.567625 }, { "lng":106.601105, "lat":29.567723 }, { "lng":106.601114, "lat":29.567786 }, { "lng":106.601132, "lat":29.568006 }, { "lng":106.601128, "lat":29.568112 }, { "lng":106.601114, "lat":29.568257 }, { "lng":106.601119, "lat":29.568379 }, { "lng":106.601119, "lat":29.568646 }, { "lng":106.601101, "lat":29.568779 }, { "lng":106.60111, "lat":29.568913 }, { "lng":106.601101, "lat":29.569031 }, { "lng":106.601101, "lat":29.569196 }, { "lng":106.601083, "lat":29.569302 }, { "lng":106.601083, "lat":29.569435 }, { "lng":106.601051, "lat":29.56958 }, { "lng":106.601029, "lat":29.569722 }, { "lng":106.601034, "lat":29.56984 }, { "lng":106.600998, "lat":29.570001 }, { "lng":106.60098, "lat":29.570193 }, { "lng":106.600944, "lat":29.570354 }, { "lng":106.600926, "lat":29.57048 }, { "lng":106.600885, "lat":29.570668 }, { "lng":106.600867, "lat":29.570825 }, { "lng":106.600854, "lat":29.570966 }, { "lng":106.600849, "lat":29.571065 }, { "lng":106.600804, "lat":29.571186 }, { "lng":106.600755, "lat":29.571351 }, { "lng":106.600769, "lat":29.57141 }, { "lng":106.600751, "lat":29.571512 }, { "lng":106.600737, "lat":29.571622 }, { "lng":106.600697, "lat":29.571779 }, { "lng":106.600697, "lat":29.571901 }, { "lng":106.600661, "lat":29.572035 }, { "lng":106.600638, "lat":29.572172 }, { "lng":106.60062, "lat":29.572357 }, { "lng":106.600593, "lat":29.572514 }, { "lng":106.600571, "lat":29.572655 }, { "lng":106.600548, "lat":29.572828 }, { "lng":106.60053, "lat":29.572981 }, { "lng":106.600499, "lat":29.573142 }, { "lng":106.600495, "lat":29.573267 }, { "lng":106.600441, "lat":29.573401 }, { "lng":106.600423, "lat":29.573523 }, { "lng":106.600391, "lat":29.573754 }, { "lng":106.600364, "lat":29.57399 }, { "lng":106.600328, "lat":29.574186 }, { "lng":106.600283, "lat":29.574379 }, { "lng":106.600261, "lat":29.574548 }, { "lng":106.600234, "lat":29.574693 }, { "lng":106.600207, "lat":29.574846 }, { "lng":106.600189, "lat":29.574956 }, { "lng":106.600162, "lat":29.575093 }, { "lng":106.600122, "lat":29.57525 }, { "lng":106.600077, "lat":29.575474 }, { "lng":106.600009, "lat":29.575631 }, { "lng":106.599933, "lat":29.575831 }, { "lng":106.599866, "lat":29.576008 }, { "lng":106.599758, "lat":29.576204 }, { "lng":106.5997, "lat":29.576326 }, { "lng":106.599583, "lat":29.576487 } ] }
\ No newline at end of file
{"name": "gpsLine", "GPSLine": [{"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.287903", "lat": "29.586623\n"}, {"lng": "106.289041", "lat": "29.586608\n"}, {"lng": "106.293958", "lat": "29.586631\n"}, {"lng": "106.296643", "lat": "29.586603\n"}, {"lng": "106.29702", "lat": "29.586588\n"}, {"lng": "106.297076", "lat": "29.586625\n"}, {"lng": "106.297116", "lat": "29.586675\n"}, {"lng": "106.297148", "lat": "29.58674\n"}, {"lng": "106.297161", "lat": "29.586818\n"}, {"lng": "106.297168", "lat": "29.586906\n"}, {"lng": "106.297275", "lat": "29.58793\n"}, {"lng": "106.297461", "lat": "29.588408\n"}, {"lng": "106.297783", "lat": "29.588835\n"}, {"lng": "106.298863", "lat": "29.589848\n"}, {"lng": "106.299571", "lat": "29.59043\n"}, {"lng": "106.30007", "lat": "29.590666\n"}, {"lng": "106.300655", "lat": "29.59083\n"}, {"lng": "106.301408", "lat": "29.59091\n"}, {"lng": "106.301695", "lat": "29.590925\n"}, {"lng": "106.303111", "lat": "29.590928\n"}, {"lng": "106.30319", "lat": "29.590958\n"}, {"lng": "106.30325", "lat": "29.591001\n"}, {"lng": "106.303288", "lat": "29.59106\n"}, {"lng": "106.303306", "lat": "29.591125\n"}, {"lng": "106.303311", "lat": "29.591196\n"}, {"lng": "106.303321", "lat": "29.59202\n"}, {"lng": "106.303418", "lat": "29.594665\n"}, {"lng": "106.303493", "lat": "29.596323\n"}, {"lng": "106.30351", "lat": "29.597693\n"}, {"lng": "106.303563", "lat": "29.598776\n"}, {"lng": "106.303651", "lat": "29.600776\n"}, {"lng": "106.303651", "lat": "29.600776\n"}, {"lng": "106.303735", "lat": "29.6027\n"}, {"lng": "106.303841", "lat": "29.605561\n"}, {"lng": "106.30389", "lat": "29.605611\n"}, {"lng": "106.303936", "lat": "29.605648\n"}, {"lng": "106.303988", "lat": "29.605683\n"}, {"lng": "106.30405", "lat": "29.605698\n"}, {"lng": "106.304203", "lat": "29.605718\n"}, {"lng": "106.307615", "lat": "29.605741\n"}, {"lng": "106.309696", "lat": "29.605716\n"}, {"lng": "106.309731", "lat": "29.605715\n"}, {"lng": "106.313746", "lat": "29.605721\n"}, {"lng": "106.31563", "lat": "29.605693\n"}, {"lng": "106.320446", "lat": "29.605731\n"}, {"lng": "106.325616", "lat": "29.605701\n"}, {"lng": "106.3258", "lat": "29.605626\n"}, {"lng": "106.326526", "lat": "29.605285\n"}, {"lng": "106.326736", "lat": "29.605265\n"}, {"lng": "106.326958", "lat": "29.605301\n"}, {"lng": "106.327066", "lat": "29.605343\n"}, {"lng": "106.327813", "lat": "29.605686\n"}, {"lng": "106.328125", "lat": "29.605711\n"}, {"lng": "106.328805", "lat": "29.605706\n"}, {"lng": "106.335046", "lat": "29.605946\n"}, {"lng": "106.339763", "lat": "29.606455\n"}, {"lng": "106.342376", "lat": "29.606618\n"}, {"lng": "106.346018", "lat": "29.606541\n"}, {"lng": "106.34853", "lat": "29.606423\n"}, {"lng": "106.352298", "lat": "29.606235\n"}, {"lng": "106.357856", "lat": "29.606015\n"}, {"lng": "106.359951", "lat": "29.605968\n"}, {"lng": "106.360195", "lat": "29.605978\n"}, {"lng": "106.360195", "lat": "29.605978\n"}, {"lng": "106.360341", "lat": "29.60598\n"}, {"lng": "106.360453", "lat": "29.605988\n"}, {"lng": "106.360515", "lat": "29.606005\n"}, {"lng": "106.360578", "lat": "29.606036\n"}, {"lng": "106.360638", "lat": "29.606081\n"}, {"lng": "106.360686", "lat": "29.606136\n"}, {"lng": "106.360756", "lat": "29.606266\n"}, {"lng": "106.360791", "lat": "29.60645\n"}, {"lng": "106.361096", "lat": "29.608673\n"}, {"lng": "106.361216", "lat": "29.611228\n"}, {"lng": "106.36123", "lat": "29.611825\n"}, {"lng": "106.36123", "lat": "29.611825\n"}, {"lng": "106.361245", "lat": "29.612025\n"}, {"lng": "106.361295", "lat": "29.612065\n"}, {"lng": "106.36137", "lat": "29.612091\n"}, {"lng": "106.361458", "lat": "29.612105\n"}, {"lng": "106.362618", "lat": "29.612145\n"}, {"lng": "106.36646", "lat": "29.61203\n"}, {"lng": "106.366696", "lat": "29.612051\n"}, {"lng": "106.37035", "lat": "29.612156\n"}, {"lng": "106.374651", "lat": "29.61214\n"}, {"lng": "106.378093", "lat": "29.612096\n"}, {"lng": "106.378153", "lat": "29.612078\n"}, {"lng": "106.378198", "lat": "29.612083\n"}, {"lng": "106.37833", "lat": "29.612105\n"}, {"lng": "106.37846", "lat": "29.61212\n"}, {"lng": "106.379693", "lat": "29.612105\n"}, {"lng": "106.380753", "lat": "29.61197\n"}, {"lng": "106.381605", "lat": "29.611756\n"}, {"lng": "106.383603", "lat": "29.611061\n"}, {"lng": "106.384098", "lat": "29.610913\n"}, {"lng": "106.384285", "lat": "29.610855\n"}, {"lng": "106.385345", "lat": "29.610528\n"}, {"lng": "106.38565", "lat": "29.610451\n"}, {"lng": "106.38565", "lat": "29.610451\n"}, {"lng": "106.385915", "lat": "29.610401\n"}, {"lng": "106.386206", "lat": "29.610345\n"}, {"lng": "106.386226", "lat": "29.610335\n"}, {"lng": "106.386403", "lat": "29.6103\n"}, {"lng": "106.38658", "lat": "29.61027\n"}, {"lng": "106.386611", "lat": "29.610255\n"}, {"lng": "106.386675", "lat": "29.610243\n"}, {"lng": "106.386825", "lat": "29.610236\n"}, {"lng": "106.386991", "lat": "29.610215\n"}, {"lng": "106.387395", "lat": "29.610166\n"}, {"lng": "106.387485", "lat": "29.610156\n"}, {"lng": "106.387591", "lat": "29.610146\n"}, {"lng": "106.387591", "lat": "29.610146\n"}, {"lng": "106.387638", "lat": "29.610136\n"}, {"lng": "106.38778", "lat": "29.610118\n"}, {"lng": "106.387863", "lat": "29.610113\n"}, {"lng": "106.388031", "lat": "29.610101\n"}, {"lng": "106.388351", "lat": "29.610085\n"}, {"lng": "106.389061", "lat": "29.610033\n"}, {"lng": "106.389386", "lat": "29.609993\n"}, {"lng": "106.389428", "lat": "29.609978\n"}, {"lng": "106.389523", "lat": "29.609993\n"}, {"lng": "106.389571", "lat": "29.61\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.389993", "lat": "29.610195\n"}, {"lng": "106.435588", "lat": "29.605548\n"}, {"lng": "106.438256", "lat": "29.605048\n"}, {"lng": "106.439735", "lat": "29.604535\n"}, {"lng": "106.443626", "lat": "29.603025\n"}, {"lng": "106.4472", "lat": "29.601625\n"}, {"lng": "106.451066", "lat": "29.600068\n"}, {"lng": "106.454213", "lat": "29.598905\n"}, {"lng": "106.45434", "lat": "29.59888\n"}, {"lng": "106.454888", "lat": "29.598818\n"}, {"lng": "106.456268", "lat": "29.59885\n"}, {"lng": "106.457346", "lat": "29.598828\n"}, {"lng": "106.457583", "lat": "29.5988\n"}, {"lng": "106.458478", "lat": "29.598606\n"}, {"lng": "106.459485", "lat": "29.598228\n"}, {"lng": "106.461946", "lat": "29.596961\n"}, {"lng": "106.463806", "lat": "29.595875\n"}, {"lng": "106.46479", "lat": "29.595176\n"}, {"lng": "106.465008", "lat": "29.595086\n"}, {"lng": "106.465338", "lat": "29.59501\n"}, {"lng": "106.465613", "lat": "29.594993\n"}, {"lng": "106.466701", "lat": "29.59499\n"}, {"lng": "106.467031", "lat": "29.59493\n"}, {"lng": "106.4674", "lat": "29.594861\n"}, {"lng": "106.467635", "lat": "29.594811\n"}, {"lng": "106.468015", "lat": "29.594733\n"}, {"lng": "106.468356", "lat": "29.594663\n"}, {"lng": "106.468688", "lat": "29.594606\n"}, {"lng": "106.469243", "lat": "29.594496\n"}, {"lng": "106.4697", "lat": "29.594405\n"}, {"lng": "106.470393", "lat": "29.594256\n"}, {"lng": "106.470938", "lat": "29.594128\n"}, {"lng": "106.471188", "lat": "29.594086\n"}, {"lng": "106.471315", "lat": "29.59407\n"}, {"lng": "106.471315", "lat": "29.59407\n"}, {"lng": "106.471381", "lat": "29.593996\n"}, {"lng": "106.471381", "lat": "29.593996\n"}, {"lng": "106.471381", "lat": "29.593996\n"}, {"lng": "106.471381", "lat": "29.593996\n"}, {"lng": "106.471381", "lat": "29.593996\n"}, {"lng": "106.471016", "lat": "29.59573\n"}, {"lng": "106.471043", "lat": "29.59598\n"}, {"lng": "106.471066", "lat": "29.596046\n"}, {"lng": "106.471141", "lat": "29.596221\n"}, {"lng": "106.47149", "lat": "29.596728\n"}, {"lng": "106.471711", "lat": "29.597083\n"}, {"lng": "106.471793", "lat": "29.597168\n"}, {"lng": "106.471921", "lat": "29.597321\n"}, {"lng": "106.472008", "lat": "29.59745\n"}, {"lng": "106.473231", "lat": "29.599268\n"}, {"lng": "106.474456", "lat": "29.600981\n"}, {"lng": "106.476253", "lat": "29.603555\n"}, {"lng": "106.478031", "lat": "29.605808\n"}, {"lng": "106.478705", "lat": "29.606413\n"}, {"lng": "106.479531", "lat": "29.606973\n"}, {"lng": "106.479635", "lat": "29.607038\n"}, {"lng": "106.48009", "lat": "29.607296\n"}, {"lng": "106.4814", "lat": "29.607835\n"}, {"lng": "106.483045", "lat": "29.608393\n"}, {"lng": "106.484661", "lat": "29.608958\n"}, {"lng": "106.486753", "lat": "29.609663\n"}, {"lng": "106.488121", "lat": "29.610041\n"}, {"lng": "106.488623", "lat": "29.610021\n"}, {"lng": "106.488958", "lat": "29.609928\n"}, {"lng": "106.489265", "lat": "29.609778\n"}, {"lng": "106.489535", "lat": "29.609585\n"}, {"lng": "106.489755", "lat": "29.609358\n"}, {"lng": "106.489908", "lat": "29.609111\n"}, {"lng": "106.490006", "lat": "29.608851\n"}, {"lng": "106.49004", "lat": "29.608458\n"}, {"lng": "106.490031", "lat": "29.60833\n"}, {"lng": "106.489563", "lat": "29.606326\n"}, {"lng": "106.489528", "lat": "29.606178\n"}, {"lng": "106.489513", "lat": "29.606031\n"}, {"lng": "106.48948", "lat": "29.604848\n"}, {"lng": "106.48942", "lat": "29.604678\n"}, {"lng": "106.489378", "lat": "29.604641\n"}, {"lng": "106.489325", "lat": "29.604611\n"}, {"lng": "106.489313", "lat": "29.604593\n"}, {"lng": "106.48927", "lat": "29.60456\n"}, {"lng": "106.489196", "lat": "29.604556\n"}, {"lng": "106.489078", "lat": "29.60457\n"}, {"lng": "106.48942", "lat": "29.60452\n"}, {"lng": "106.489513", "lat": "29.604593\n"}, {"lng": "106.489671", "lat": "29.604805\n"}, {"lng": "106.489826", "lat": "29.605506\n"}, {"lng": "106.489901", "lat": "29.605845\n"}, {"lng": "106.489911", "lat": "29.605966\n"}, {"lng": "106.489981", "lat": "29.606478\n"}, {"lng": "106.490048", "lat": "29.606725\n"}, {"lng": "106.490123", "lat": "29.607035\n"}, {"lng": "106.490426", "lat": "29.608278\n"}, {"lng": "106.49082", "lat": "29.60894\n"}, {"lng": "106.492993", "lat": "29.611308\n"}, {"lng": "106.493921", "lat": "29.611998\n"}, {"lng": "106.49428", "lat": "29.612191\n"}, {"lng": "106.496546", "lat": "29.613038\n"}, {"lng": "106.499858", "lat": "29.614171\n"}, {"lng": "106.501808", "lat": "29.614551\n"}, {"lng": "106.506008", "lat": "29.614793\n"}, {"lng": "106.511356", "lat": "29.615113\n"}, {"lng": "106.51573", "lat": "29.615883\n"}, {"lng": "106.52062", "lat": "29.6174\n"}, {"lng": "106.521103", "lat": "29.61761\n"}, {"lng": "106.523751", "lat": "29.618693\n"}, {"lng": "106.524405", "lat": "29.6188\n"}, {"lng": "106.525161", "lat": "29.61881\n"}, {"lng": "106.525318", "lat": "29.618796\n"}, {"lng": "106.526193", "lat": "29.618633\n"}, {"lng": "106.528783", "lat": "29.617955\n"}, {"lng": "106.5296", "lat": "29.617983\n"}, {"lng": "106.530508", "lat": "29.618173\n"}, {"lng": "106.530946", "lat": "29.618333\n"}, {"lng": "106.536373", "lat": "29.621093\n"}, {"lng": "106.538231", "lat": "29.621951\n"}, {"lng": "106.539586", "lat": "29.622285\n"}, {"lng": "106.541451", "lat": "29.622491\n"}, {"lng": "106.547163", "lat": "29.62288\n"}, {"lng": "106.551135", "lat": "29.62318\n"}, {"lng": "106.551746", "lat": "29.623071\n"}, {"lng": "106.552366", "lat": "29.622858\n"}, {"lng": "106.552928", "lat": "29.622525\n"}, {"lng": "106.553408", "lat": "29.622078\n"}, {"lng": "106.553761", "lat": "29.621568\n"}, {"lng": "106.553971", "lat": "29.621085\n"}, {"lng": "106.55433", "lat": "29.619071\n"}, {"lng": "106.554345", "lat": "29.61893\n"}, {"lng": "106.55461", "lat": "29.617645\n"}, {"lng": "106.555123", "lat": "29.616488\n"}, {"lng": "106.555801", "lat": "29.615525\n"}, {"lng": "106.556685", "lat": "29.614673\n"}, {"lng": "106.557566", "lat": "29.614041\n"}, {"lng": "106.558643", "lat": "29.613508\n"}, {"lng": "106.559913", "lat": "29.613148\n"}, {"lng": "106.565655", "lat": "29.611973\n"}, {"lng": "106.574231", "lat": "29.609888\n"}, {"lng": "106.581846", "lat": "29.606735\n"}, {"lng": "106.589951", "lat": "29.603261\n"}, {"lng": "106.594541", "lat": "29.6011\n"}, {"lng": "106.5959", "lat": "29.60005\n"}, {"lng": "106.596643", "lat": "29.599225\n"}, {"lng": "106.597645", "lat": "29.597795\n"}, {"lng": "106.598491", "lat": "29.595783\n"}, {"lng": "106.599025", "lat": "29.593788\n"}, {"lng": "106.599518", "lat": "29.591826\n"}, {"lng": "106.599483", "lat": "29.591545\n"}, {"lng": "106.599243", "lat": "29.590313\n"}, {"lng": "106.599315", "lat": "29.589813\n"}, {"lng": "106.599588", "lat": "29.588765\n"}, {"lng": "106.600148", "lat": "29.586796\n"}, {"lng": "106.600188", "lat": "29.586675\n"}, {"lng": "106.600201", "lat": "29.58652\n"}, {"lng": "106.600196", "lat": "29.586075\n"}, {"lng": "106.60011", "lat": "29.584358\n"}, {"lng": "106.600033", "lat": "29.584201\n"}, {"lng": "106.599591", "lat": "29.583591\n"}, {"lng": "106.59953", "lat": "29.583356\n"}, {"lng": "106.599535", "lat": "29.58319\n"}, {"lng": "106.599583", "lat": "29.582196\n"}, {"lng": "106.59954", "lat": "29.582101\n"}, {"lng": "106.599541", "lat": "29.58202\n"}, {"lng": "106.599566", "lat": "29.58186\n"}, {"lng": "106.599556", "lat": "29.58143\n"}, {"lng": "106.599531", "lat": "29.581238\n"}, {"lng": "106.59942", "lat": "29.580988\n"}, {"lng": "106.599075", "lat": "29.580548\n"}, {"lng": "106.598998", "lat": "29.580371\n"}, {"lng": "106.598826", "lat": "29.580243\n"}, {"lng": "106.598598", "lat": "29.580171\n"}, {"lng": "106.598381", "lat": "29.580156\n"}, {"lng": "106.598215", "lat": "29.580195\n"}, {"lng": "106.598066", "lat": "29.580266\n"}, {"lng": "106.597168", "lat": "29.580861\n"}, {"lng": "106.5971", "lat": "29.580881\n"}, {"lng": "106.596883", "lat": "29.580918\n"}, {"lng": "106.596485", "lat": "29.58094\n"}, {"lng": "106.596395", "lat": "29.580918\n"}, {"lng": "106.596351", "lat": "29.580896\n"}, {"lng": "106.596285", "lat": "29.580825\n"}, {"lng": "106.596246", "lat": "29.580695\n"}, {"lng": "106.596253", "lat": "29.580378\n"}, {"lng": "106.596355", "lat": "29.579646\n"}, {"lng": "106.596563", "lat": "29.579251\n"}, {"lng": "106.597333", "lat": "29.578206\n"}, {"lng": "106.597531", "lat": "29.578023\n"}, {"lng": "106.597761", "lat": "29.577653\n"}, {"lng": "106.597776", "lat": "29.5775\n"}, {"lng": "106.597778", "lat": "29.577413\n"}, {"lng": "106.597756", "lat": "29.577235\n"}, {"lng": "106.597618", "lat": "29.5769\n"}, {"lng": "106.597361", "lat": "29.576315\n"}, {"lng": "106.597266", "lat": "29.57608\n"}, {"lng": "106.597143", "lat": "29.576006\n"}, {"lng": "106.597116", "lat": "29.575966\n"}, {"lng": "106.597083", "lat": "29.57593\n"}, {"lng": "106.597056", "lat": "29.575915\n"}, {"lng": "106.596976", "lat": "29.575886\n"}, {"lng": "106.596916", "lat": "29.575878\n"}, {"lng": "106.596776", "lat": "29.575915\n"}, {"lng": "106.596406", "lat": "29.576011\n"}, {"lng": "106.596253", "lat": "29.576018\n"}, {"lng": "106.59586", "lat": "29.575971\n"}, {"lng": "106.595778", "lat": "29.575956\n"}, {"lng": "106.595226", "lat": "29.575818\n"}, {"lng": "106.595013", "lat": "29.575741\n"}, {"lng": "106.594976", "lat": "29.575726\n"}, {"lng": "106.594956", "lat": "29.575711\n"}, {"lng": "106.594896", "lat": "29.575681\n"}, {"lng": "106.594661", "lat": "29.575591\n"}, {"lng": "106.59453", "lat": "29.575545\n"}, {"lng": "106.594498", "lat": "29.575518\n"}, {"lng": "106.594478", "lat": "29.575486\n"}, {"lng": "106.59447", "lat": "29.575451\n"}, {"lng": "106.59447", "lat": "29.57541\n"}, {"lng": "106.594483", "lat": "29.575275\n"}, {"lng": "106.594473", "lat": "29.575185\n"}, {"lng": "106.594428", "lat": "29.57513\n"}, {"lng": "106.594391", "lat": "29.575121\n"}, {"lng": "106.59435", "lat": "29.575125\n"}, {"lng": "106.594305", "lat": "29.575135\n"}, {"lng": "106.594198", "lat": "29.575166\n"}, {"lng": "106.593661", "lat": "29.575371\n"}, {"lng": "106.593606", "lat": "29.575411\n"}, {"lng": "106.593476", "lat": "29.575548\n"}, {"lng": "106.593363", "lat": "29.575676\n"}, {"lng": "106.59325", "lat": "29.575738\n"}, {"lng": "106.593176", "lat": "29.57576\n"}, {"lng": "106.592536", "lat": "29.57602\n"}, {"lng": "106.592505", "lat": "29.576071\n"}, {"lng": "106.592468", "lat": "29.576196\n"}, {"lng": "106.592301", "lat": "29.576678\n"}, {"lng": "106.592231", "lat": "29.576746\n"}, {"lng": "106.592063", "lat": "29.576848\n"}, {"lng": "106.591801", "lat": "29.576965\n"}, {"lng": "106.591715", "lat": "29.57698\n"}, {"lng": "106.591633", "lat": "29.57697\n"}, {"lng": "106.591563", "lat": "29.57694\n"}, {"lng": "106.591481", "lat": "29.576833\n"}, {"lng": "106.591441", "lat": "29.576718\n"}, {"lng": "106.591441", "lat": "29.57665\n"}, {"lng": "106.59147", "lat": "29.576533\n"}, {"lng": "106.591456", "lat": "29.576468\n"}, {"lng": "106.591225", "lat": "29.575853\n"}, {"lng": "106.591078", "lat": "29.575711\n"}, {"lng": "106.590995", "lat": "29.575673\n"}, {"lng": "106.590653", "lat": "29.575616\n"}, {"lng": "106.590346", "lat": "29.575651\n"}, {"lng": "106.589585", "lat": "29.575773\n"}, {"lng": "106.58941", "lat": "29.57574\n"}, {"lng": "106.588855", "lat": "29.575533\n"}, {"lng": "106.58867", "lat": "29.575393\n"}, {"lng": "106.588263", "lat": "29.57508\n"}, {"lng": "106.58818", "lat": "29.575058\n"}, {"lng": "106.588093", "lat": "29.575065\n"}, {"lng": "106.588011", "lat": "29.575108\n"}, {"lng": "106.587836", "lat": "29.575231\n"}, {"lng": "106.587395", "lat": "29.575621\n"}, {"lng": "106.587358", "lat": "29.575683\n"}, {"lng": "106.587353", "lat": "29.575735\n"}, {"lng": "106.58738", "lat": "29.575775\n"}, {"lng": "106.587416", "lat": "29.575803\n"}, {"lng": "106.587458", "lat": "29.575811\n"}, {"lng": "106.587495", "lat": "29.575813\n"}, {"lng": "106.587595", "lat": "29.575806\n"}, {"lng": "106.587818", "lat": "29.575816\n"}, {"lng": "106.587845", "lat": "29.575825\n"}, {"lng": "106.587845", "lat": "29.575825\n"}, {"lng": "106.587845", "lat": "29.575825"}]}
\ No newline at end of file
{"name": "gpsLine", "GPSLine": [{"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.279711", "lat": "29.585448\n"}, {"lng": "106.287903", "lat": "29.586623\n"}, {"lng": "106.289041", "lat": "29.586608\n"}, {"lng": "106.293958", "lat": "29.586631\n"}, {"lng": "106.296643", "lat": "29.586603\n"}, {"lng": "106.29702", "lat": "29.586588\n"}, {"lng": "106.297076", "lat": "29.586625\n"}, {"lng": "106.297116", "lat": "29.586675\n"}, {"lng": "106.297148", "lat": "29.58674\n"}, {"lng": "106.297161", "lat": "29.586818\n"}, {"lng": "106.297168", "lat": "29.586906\n"}, {"lng": "106.297275", "lat": "29.58793\n"}, {"lng": "106.297461", "lat": "29.588408\n"}, {"lng": "106.297783", "lat": "29.588835\n"}, {"lng": "106.298863", "lat": "29.589848\n"}, {"lng": "106.299571", "lat": "29.59043\n"}, {"lng": "106.30007", "lat": "29.590666\n"}, {"lng": "106.300655", "lat": "29.59083\n"}, {"lng": "106.301408", "lat": "29.59091\n"}, {"lng": "106.301695", "lat": "29.590925\n"}, {"lng": "106.303111", "lat": "29.590928\n"}, {"lng": "106.30319", "lat": "29.590958\n"}, {"lng": "106.30325", "lat": "29.591001\n"}, {"lng": "106.303288", "lat": "29.59106\n"}, {"lng": "106.303306", "lat": "29.591125\n"}, {"lng": "106.303311", "lat": "29.591196\n"}, {"lng": "106.303321", "lat": "29.59202\n"}, {"lng": "106.303418", "lat": "29.594665\n"}, {"lng": "106.303493", "lat": "29.596323\n"}, {"lng": "106.30351", "lat": "29.597693\n"}]}
\ No newline at end of file
{"name": "gpsLine", "GPSLine": [{"lng": "106.597495", "lat": "29.715498\n"}, {"lng": "106.597495", "lat": "29.715498\n"}, {"lng": "106.597495", "lat": "29.715498\n"}, {"lng": "106.597495", "lat": "29.715498\n"}, {"lng": "106.597258", "lat": "29.715191\n"}, {"lng": "106.597231", "lat": "29.715181\n"}, {"lng": "106.597195", "lat": "29.715178\n"}, {"lng": "106.597143", "lat": "29.71518\n"}, {"lng": "106.597008", "lat": "29.715185\n"}, {"lng": "106.596721", "lat": "29.715243\n"}, {"lng": "106.596056", "lat": "29.71545\n"}, {"lng": "106.595986", "lat": "29.715498\n"}, {"lng": "106.595931", "lat": "29.715558\n"}, {"lng": "106.5959", "lat": "29.715636\n"}, {"lng": "106.595863", "lat": "29.715915\n"}, {"lng": "106.59576", "lat": "29.71727\n"}, {"lng": "106.595735", "lat": "29.71755\n"}, {"lng": "106.595878", "lat": "29.719105\n"}, {"lng": "106.596391", "lat": "29.720531\n"}, {"lng": "106.596681", "lat": "29.721093\n"}, {"lng": "106.598001", "lat": "29.723316\n"}, {"lng": "106.598043", "lat": "29.723341\n"}, {"lng": "106.598103", "lat": "29.723356\n"}, {"lng": "106.59817", "lat": "29.723376\n"}, {"lng": "106.59835", "lat": "29.723391\n"}, {"lng": "106.59857", "lat": "29.723391\n"}, {"lng": "106.602948", "lat": "29.72335\n"}, {"lng": "106.604158", "lat": "29.723346\n"}, {"lng": "106.606105", "lat": "29.723356\n"}, {"lng": "106.608568", "lat": "29.723358\n"}, {"lng": "106.6087", "lat": "29.723363\n"}, {"lng": "106.6087", "lat": "29.723363\n"}, {"lng": "106.609365", "lat": "29.723346\n"}, {"lng": "106.609385", "lat": "29.723343\n"}, {"lng": "106.609385", "lat": "29.723343\n"}, {"lng": "106.609868", "lat": "29.723355\n"}, {"lng": "106.613723", "lat": "29.723353\n"}, {"lng": "106.614495", "lat": "29.723273\n"}, {"lng": "106.615505", "lat": "29.723008\n"}, {"lng": "106.615505", "lat": "29.723008\n"}, {"lng": "106.62447", "lat": "29.72212\n"}, {"lng": "106.625515", "lat": "29.722123\n"}, {"lng": "106.625515", "lat": "29.722123\n"}, {"lng": "106.632141", "lat": "29.721476\n"}, {"lng": "106.632235", "lat": "29.721426\n"}, {"lng": "106.632291", "lat": "29.721336\n"}, {"lng": "106.632326", "lat": "29.721255\n"}, {"lng": "106.632323", "lat": "29.721166\n"}, {"lng": "106.632263", "lat": "29.720966\n"}, {"lng": "106.631975", "lat": "29.719906\n"}, {"lng": "106.630851", "lat": "29.716403\n"}, {"lng": "106.631013", "lat": "29.716293\n"}, {"lng": "106.631165", "lat": "29.716255\n"}, {"lng": "106.631915", "lat": "29.715973\n"}, {"lng": "106.632115", "lat": "29.71581\n"}, {"lng": "106.63227", "lat": "29.715611\n"}, {"lng": "106.632333", "lat": "29.715418\n"}, {"lng": "106.632333", "lat": "29.715213\n"}, {"lng": "106.632271", "lat": "29.715005\n"}, {"lng": "106.631836", "lat": "29.713595\n"}, {"lng": "106.631435", "lat": "29.712523\n"}, {"lng": "106.631308", "lat": "29.712408\n"}, {"lng": "106.631201", "lat": "29.712295\n"}, {"lng": "106.631171", "lat": "29.712231\n"}, {"lng": "106.63116", "lat": "29.712165\n"}, {"lng": "106.631158", "lat": "29.712096\n"}, {"lng": "106.631136", "lat": "29.711848\n"}, {"lng": "106.630786", "lat": "29.710756\n"}, {"lng": "106.629801", "lat": "29.707925\n"}, {"lng": "106.629801", "lat": "29.707925\n"}, {"lng": "106.629801", "lat": "29.707925\n"}, {"lng": "106.628816", "lat": "29.704841\n"}, {"lng": "106.628831", "lat": "29.70477\n"}, {"lng": "106.628873", "lat": "29.704711\n"}, {"lng": "106.628938", "lat": "29.704668\n"}, {"lng": "106.629025", "lat": "29.704651\n"}, {"lng": "106.629123", "lat": "29.704651\n"}, {"lng": "106.630831", "lat": "29.70468\n"}, {"lng": "106.632243", "lat": "29.704356\n"}, {"lng": "106.633906", "lat": "29.703646\n"}, {"lng": "106.635908", "lat": "29.702735\n"}, {"lng": "106.639518", "lat": "29.701456\n"}, {"lng": "106.640381", "lat": "29.701475\n"}, {"lng": "106.640603", "lat": "29.70151\n"}, {"lng": "106.641648", "lat": "29.701748\n"}, {"lng": "106.644295", "lat": "29.702938\n"}, {"lng": "106.644538", "lat": "29.703033\n"}, {"lng": "106.64464", "lat": "29.703038\n"}, {"lng": "106.644741", "lat": "29.703023\n"}, {"lng": "106.647585", "lat": "29.702196\n"}, {"lng": "106.647681", "lat": "29.702121\n"}, {"lng": "106.647763", "lat": "29.702031\n"}, {"lng": "106.647898", "lat": "29.701816\n"}, {"lng": "106.647966", "lat": "29.70157\n"}, {"lng": "106.647958", "lat": "29.701445\n"}, {"lng": "106.646828", "lat": "29.697065\n"}, {"lng": "106.644126", "lat": "29.689963\n"}, {"lng": "106.64176", "lat": "29.686225\n"}, {"lng": "106.638655", "lat": "29.682431\n"}, {"lng": "106.632641", "lat": "29.675176\n"}, {"lng": "106.628875", "lat": "29.669918\n"}, {"lng": "106.628273", "lat": "29.66877\n"}, {"lng": "106.624655", "lat": "29.661561\n"}, {"lng": "106.62259", "lat": "29.658756\n"}, {"lng": "106.618748", "lat": "29.65431\n"}, {"lng": "106.613693", "lat": "29.647371\n"}, {"lng": "106.608845", "lat": "29.640648\n"}, {"lng": "106.607166", "lat": "29.637853\n"}, {"lng": "106.606445", "lat": "29.63572\n"}, {"lng": "106.606165", "lat": "29.634108\n"}, {"lng": "106.60618", "lat": "29.631573\n"}, {"lng": "106.606673", "lat": "29.627206\n"}, {"lng": "106.60695", "lat": "29.61928\n"}, {"lng": "106.607138", "lat": "29.610996\n"}, {"lng": "106.606578", "lat": "29.604418\n"}, {"lng": "106.605823", "lat": "29.598575\n"}, {"lng": "106.604053", "lat": "29.593738\n"}, {"lng": "106.60236", "lat": "29.58983\n"}, {"lng": "106.602068", "lat": "29.589403\n"}, {"lng": "106.601778", "lat": "29.589135\n"}, {"lng": "106.601461", "lat": "29.588945\n"}, {"lng": "106.60107", "lat": "29.588793\n"}, {"lng": "106.600653", "lat": "29.58872\n"}, {"lng": "106.600198", "lat": "29.588718\n"}, {"lng": "106.599111", "lat": "29.588773\n"}, {"lng": "106.593851", "lat": "29.588923\n"}, {"lng": "106.591751", "lat": "29.588931\n"}, {"lng": "106.591641", "lat": "29.588973\n"}, {"lng": "106.591555", "lat": "29.589033\n"}, {"lng": "106.591486", "lat": "29.589106\n"}, {"lng": "106.591436", "lat": "29.589191\n"}, {"lng": "106.591405", "lat": "29.589286\n"}, {"lng": "106.591231", "lat": "29.590408\n"}, {"lng": "106.591223", "lat": "29.590531\n"}, {"lng": "106.591208", "lat": "29.592293\n"}, {"lng": "106.591495", "lat": "29.593398\n"}, {"lng": "106.591518", "lat": "29.593476\n"}, {"lng": "106.591518", "lat": "29.593476\n"}, {"lng": "106.591546", "lat": "29.593823\n"}, {"lng": "106.591515", "lat": "29.593871\n"}, {"lng": "106.59147", "lat": "29.593911\n"}, {"lng": "106.591413", "lat": "29.593945\n"}, {"lng": "106.591348", "lat": "29.593963\n"}, {"lng": "106.591273", "lat": "29.593976\n"}, {"lng": "106.590715", "lat": "29.59408\n"}, {"lng": "106.590285", "lat": "29.594135\n"}, {"lng": "106.590176", "lat": "29.594151\n"}, {"lng": "106.587883", "lat": "29.594633\n"}, {"lng": "106.587883", "lat": "29.594641\n"}, {"lng": "106.58583", "lat": "29.595106\n"}, {"lng": "106.585778", "lat": "29.59519\n"}, {"lng": "106.585751", "lat": "29.595281\n"}, {"lng": "106.585756", "lat": "29.595496\n"}, {"lng": "106.58588", "lat": "29.596118\n"}, {"lng": "106.585941", "lat": "29.596226\n"}, {"lng": "106.586123", "lat": "29.596411\n"}, {"lng": "106.586503", "lat": "29.596635\n"}, {"lng": "106.586975", "lat": "29.59696\n"}, {"lng": "106.587038", "lat": "29.597063\n"}, {"lng": "106.58711", "lat": "29.597273\n"}, {"lng": "106.587143", "lat": "29.59769\n"}, {"lng": "106.587171", "lat": "29.599486\n"}, {"lng": "106.587098", "lat": "29.599621\n"}, {"lng": "106.58692", "lat": "29.599823\n"}, {"lng": "106.586703", "lat": "29.599965\n"}, {"lng": "106.586316", "lat": "29.600108\n"}, {"lng": "106.583935", "lat": "29.600895\n"}, {"lng": "106.583715", "lat": "29.600953\n"}, {"lng": "106.583641", "lat": "29.600951\n"}, {"lng": "106.583568", "lat": "29.600925\n"}, {"lng": "106.583503", "lat": "29.600876\n"}, {"lng": "106.583451", "lat": "29.600808\n"}, {"lng": "106.58342", "lat": "29.600708\n"}, {"lng": "106.582803", "lat": "29.598305\n"}, {"lng": "106.582431", "lat": "29.596901\n"}, {"lng": "106.580938", "lat": "29.592926\n"}, {"lng": "106.580518", "lat": "29.590686\n"}, {"lng": "106.580463", "lat": "29.59025\n"}, {"lng": "106.580446", "lat": "29.58901\n"}, {"lng": "106.580448", "lat": "29.58523\n"}, {"lng": "106.580383", "lat": "29.58225\n"}, {"lng": "106.580535", "lat": "29.58181\n"}, {"lng": "106.580938", "lat": "29.581141\n"}, {"lng": "106.581355", "lat": "29.580713\n"}, {"lng": "106.581948", "lat": "29.580281\n"}, {"lng": "106.58283", "lat": "29.579855\n"}, {"lng": "106.583291", "lat": "29.57967\n"}, {"lng": "106.583413", "lat": "29.579613\n"}, {"lng": "106.583413", "lat": "29.579613\n"}, {"lng": "106.585158", "lat": "29.577626\n"}, {"lng": "106.586611", "lat": "29.576251\n"}, {"lng": "106.587248", "lat": "29.575718\n"}, {"lng": "106.587286", "lat": "29.575708\n"}, {"lng": "106.587328", "lat": "29.575711\n"}, {"lng": "106.587368", "lat": "29.575726\n"}, {"lng": "106.587458", "lat": "29.575771\n"}, {"lng": "106.587538", "lat": "29.575788\n"}, {"lng": "106.587618", "lat": "29.575786\n"}, {"lng": "106.587833", "lat": "29.575755\n"}, {"lng": "106.587853", "lat": "29.57572\n"}, {"lng": "106.587885", "lat": "29.575676\n"}, {"lng": "106.58792", "lat": "29.575621\n"}, {"lng": "106.58792", "lat": "29.575621\n"}, {"lng": "106.58792", "lat": "29.575621\n"}, {"lng": "106.58792", "lat": "29.575621\n"}, {"lng": "106.58792", "lat": "29.575621\n"}, {"lng": "106.58792", "lat": "29.575621\n"}, {"lng": "106.58792", "lat": "29.575621"}]}
\ No newline at end of file
{"name": "gpsLine", "GPSLine": [{"lng": "106.599021", "lat": "29.58118\n"}, {"lng": "106.599021", "lat": "29.58118\n"}, {"lng": "106.598375", "lat": "29.580248\n"}, {"lng": "106.598233", "lat": "29.580251\n"}, {"lng": "106.598086", "lat": "29.580311\n"}, {"lng": "106.598025", "lat": "29.580328\n"}, {"lng": "106.597785", "lat": "29.580461\n"}, {"lng": "106.597433", "lat": "29.580715\n"}, {"lng": "106.59717", "lat": "29.580863\n"}, {"lng": "106.596965", "lat": "29.580923\n"}, {"lng": "106.596686", "lat": "29.580965\n"}, {"lng": "106.596516", "lat": "29.580965\n"}, {"lng": "106.596516", "lat": "29.580965\n"}, {"lng": "106.596293", "lat": "29.580956\n"}, {"lng": "106.59627", "lat": "29.58092\n"}, {"lng": "106.59626", "lat": "29.580863\n"}, {"lng": "106.596256", "lat": "29.580786\n"}, {"lng": "106.596293", "lat": "29.58042\n"}, {"lng": "106.59639", "lat": "29.579695\n"}, {"lng": "106.59648", "lat": "29.579493\n"}, {"lng": "106.596866", "lat": "29.57891\n"}, {"lng": "106.5976", "lat": "29.577858\n"}, {"lng": "106.597736", "lat": "29.577583\n"}, {"lng": "106.597738", "lat": "29.577518\n"}, {"lng": "106.597733", "lat": "29.57715\n"}, {"lng": "106.597666", "lat": "29.576971\n"}, {"lng": "106.597101", "lat": "29.575966\n"}, {"lng": "106.597026", "lat": "29.575928\n"}, {"lng": "106.596896", "lat": "29.575918\n"}, {"lng": "106.596751", "lat": "29.575935\n"}, {"lng": "106.596655", "lat": "29.575958\n"}, {"lng": "106.596513", "lat": "29.575993\n"}, {"lng": "106.596305", "lat": "29.576015\n"}, {"lng": "106.59592", "lat": "29.576016\n"}, {"lng": "106.595193", "lat": "29.575835\n"}, {"lng": "106.594995", "lat": "29.575755\n"}, {"lng": "106.594668", "lat": "29.5756\n"}, {"lng": "106.594515", "lat": "29.575545\n"}, {"lng": "106.594465", "lat": "29.575485\n"}, {"lng": "106.59446", "lat": "29.575448\n"}, {"lng": "106.59446", "lat": "29.575385\n"}, {"lng": "106.594466", "lat": "29.575341\n"}, {"lng": "106.594483", "lat": "29.575148\n"}, {"lng": "106.594466", "lat": "29.575131\n"}, {"lng": "106.594435", "lat": "29.575125\n"}, {"lng": "106.594396", "lat": "29.575126\n"}, {"lng": "106.59435", "lat": "29.575135\n"}, {"lng": "106.594291", "lat": "29.57515\n"}, {"lng": "106.593961", "lat": "29.575268\n"}, {"lng": "106.593655", "lat": "29.57541\n"}, {"lng": "106.593603", "lat": "29.57545\n"}, {"lng": "106.593445", "lat": "29.575618\n"}, {"lng": "106.593338", "lat": "29.57573\n"}, {"lng": "106.593236", "lat": "29.57578\n"}, {"lng": "106.592581", "lat": "29.576023\n"}, {"lng": "106.592536", "lat": "29.576076\n"}, {"lng": "106.592508", "lat": "29.576135\n"}, {"lng": "106.592493", "lat": "29.576208\n"}, {"lng": "106.592476", "lat": "29.576285\n"}, {"lng": "106.592346", "lat": "29.57666\n"}, {"lng": "106.59228", "lat": "29.576743\n"}, {"lng": "106.59219", "lat": "29.576816\n"}, {"lng": "106.591973", "lat": "29.576921\n"}, {"lng": "106.591771", "lat": "29.576991\n"}, {"lng": "106.591618", "lat": "29.576983\n"}, {"lng": "106.591565", "lat": "29.576953\n"}, {"lng": "106.591531", "lat": "29.576908\n"}, {"lng": "106.591508", "lat": "29.576856\n"}, {"lng": "106.59149", "lat": "29.57673\n"}, {"lng": "106.591485", "lat": "29.576293\n"}, {"lng": "106.59144", "lat": "29.576208\n"}, {"lng": "106.591411", "lat": "29.576081\n"}, {"lng": "106.59126", "lat": "29.575768\n"}, {"lng": "106.591028", "lat": "29.575528\n"}, {"lng": "106.590843", "lat": "29.57537\n"}, {"lng": "106.590715", "lat": "29.575391\n"}, {"lng": "106.59059", "lat": "29.575416\n"}, {"lng": "106.590465", "lat": "29.575441\n"}, {"lng": "106.590355", "lat": "29.575483\n"}, {"lng": "106.589895", "lat": "29.575628\n"}, {"lng": "106.589628", "lat": "29.575645\n"}, {"lng": "106.589491", "lat": "29.575616\n"}, {"lng": "106.589208", "lat": "29.575585\n"}, {"lng": "106.588721", "lat": "29.575371\n"}, {"lng": "106.588195", "lat": "29.575006\n"}, {"lng": "106.588145", "lat": "29.575001\n"}, {"lng": "106.58803", "lat": "29.57503\n"}, {"lng": "106.587971", "lat": "29.575073\n"}, {"lng": "106.587826", "lat": "29.575193\n"}, {"lng": "106.58736", "lat": "29.575653\n"}, {"lng": "106.58735", "lat": "29.575705\n"}, {"lng": "106.587358", "lat": "29.575745\n"}, {"lng": "106.58738", "lat": "29.575771\n"}, {"lng": "106.587411", "lat": "29.575786\n"}, {"lng": "106.587455", "lat": "29.575795\n"}, {"lng": "106.587495", "lat": "29.575796\n"}, {"lng": "106.587571", "lat": "29.575791\n"}, {"lng": "106.587713", "lat": "29.575773\n"}, {"lng": "106.58799", "lat": "29.575745\n"}, {"lng": "106.58799", "lat": "29.575745\n"}, {"lng": "106.58799", "lat": "29.575745\n"}]}
\ No newline at end of file
{"name": "gpsLine", "GPSLine": [{"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.484645", "lat": "29.519863\n"}, {"lng": "106.498255", "lat": "29.51929\n"}, {"lng": "106.49839", "lat": "29.519245\n"}, {"lng": "106.498496", "lat": "29.519196\n"}, {"lng": "106.498686", "lat": "29.519095\n"}, {"lng": "106.498731", "lat": "29.519106\n"}, {"lng": "106.49879", "lat": "29.519121\n"}, {"lng": "106.498851", "lat": "29.519141\n"}, {"lng": "106.499026", "lat": "29.519215\n"}, {"lng": "106.499136", "lat": "29.519258\n"}, {"lng": "106.49923", "lat": "29.519415\n"}, {"lng": "106.499251", "lat": "29.519476\n"}, {"lng": "106.49952", "lat": "29.519686\n"}, {"lng": "106.500043", "lat": "29.520288\n"}, {"lng": "106.500173", "lat": "29.52039\n"}, {"lng": "106.500246", "lat": "29.520403\n"}, {"lng": "106.501561", "lat": "29.521333\n"}, {"lng": "106.502366", "lat": "29.52206\n"}, {"lng": "106.502606", "lat": "29.522266\n"}, {"lng": "106.502881", "lat": "29.522416\n"}, {"lng": "106.503096", "lat": "29.52248\n"}, {"lng": "106.50344", "lat": "29.522505\n"}, {"lng": "106.503656", "lat": "29.522483\n"}, {"lng": "106.50396", "lat": "29.52239\n"}, {"lng": "106.50414", "lat": "29.52232\n"}, {"lng": "106.504521", "lat": "29.522191\n"}, {"lng": "106.504866", "lat": "29.522156\n"}, {"lng": "106.506228", "lat": "29.52215\n"}, {"lng": "106.506621", "lat": "29.522256\n"}, {"lng": "106.507173", "lat": "29.522475\n"}, {"lng": "106.507423", "lat": "29.52261\n"}, {"lng": "106.507683", "lat": "29.522835\n"}, {"lng": "106.50822", "lat": "29.523151\n"}, {"lng": "106.509468", "lat": "29.52365\n"}, {"lng": "106.5102", "lat": "29.523761\n"}, {"lng": "106.511401", "lat": "29.523706\n"}, {"lng": "106.516661", "lat": "29.523321\n"}, {"lng": "106.520538", "lat": "29.523081\n"}, {"lng": "106.525145", "lat": "29.523038\n"}, {"lng": "106.530208", "lat": "29.52304\n"}, {"lng": "106.534585", "lat": "29.523023\n"}, {"lng": "106.536085", "lat": "29.522871\n"}, {"lng": "106.53838", "lat": "29.522366\n"}, {"lng": "106.538986", "lat": "29.522248\n"}, {"lng": "106.53921", "lat": "29.52228\n"}, {"lng": "106.539255", "lat": "29.522316\n"}, {"lng": "106.539286", "lat": "29.522361\n"}, {"lng": "106.539286", "lat": "29.52241\n"}, {"lng": "106.539268", "lat": "29.52246\n"}, {"lng": "106.539235", "lat": "29.522498\n"}, {"lng": "106.539196", "lat": "29.522511\n"}, {"lng": "106.539136", "lat": "29.522541\n"}, {"lng": "106.538613", "lat": "29.522701\n"}, {"lng": "106.537718", "lat": "29.522915\n"}, {"lng": "106.536041", "lat": "29.523331\n"}, {"lng": "106.535086", "lat": "29.523863\n"}, {"lng": "106.535016", "lat": "29.52399\n"}, {"lng": "106.535003", "lat": "29.524065\n"}, {"lng": "106.535001", "lat": "29.52414\n"}, {"lng": "106.535031", "lat": "29.524296\n"}, {"lng": "106.53507", "lat": "29.524366\n"}, {"lng": "106.535133", "lat": "29.524436\n"}, {"lng": "106.535296", "lat": "29.52455\n"}, {"lng": "106.535813", "lat": "29.524886\n"}, {"lng": "106.53595", "lat": "29.525051\n"}, {"lng": "106.535985", "lat": "29.525153\n"}, {"lng": "106.53598", "lat": "29.525195\n"}, {"lng": "106.53596", "lat": "29.525226\n"}, {"lng": "106.535921", "lat": "29.525256\n"}, {"lng": "106.535871", "lat": "29.52527\n"}, {"lng": "106.53581", "lat": "29.52526\n"}, {"lng": "106.535745", "lat": "29.525235\n"}, {"lng": "106.535548", "lat": "29.525113\n"}, {"lng": "106.535295", "lat": "29.52499\n"}, {"lng": "106.534181", "lat": "29.524505\n"}, {"lng": "106.534015", "lat": "29.524511\n"}, {"lng": "106.533921", "lat": "29.524543\n"}, {"lng": "106.533768", "lat": "29.524628\n"}, {"lng": "106.533665", "lat": "29.524743\n"}, {"lng": "106.53361", "lat": "29.524888\n"}, {"lng": "106.533585", "lat": "29.525051\n"}, {"lng": "106.533611", "lat": "29.525138\n"}, {"lng": "106.533673", "lat": "29.525208\n"}, {"lng": "106.533736", "lat": "29.525261\n"}, {"lng": "106.533976", "lat": "29.525435\n"}, {"lng": "106.534098", "lat": "29.525563\n"}, {"lng": "106.5341", "lat": "29.525606\n"}, {"lng": "106.534081", "lat": "29.525646\n"}, {"lng": "106.534018", "lat": "29.525793\n"}, {"lng": "106.534031", "lat": "29.525828\n"}, {"lng": "106.534056", "lat": "29.525858\n"}, {"lng": "106.534106", "lat": "29.525928\n"}, {"lng": "106.534096", "lat": "29.525956\n"}, {"lng": "106.534076", "lat": "29.525965\n"}, {"lng": "106.53405", "lat": "29.525968\n"}, {"lng": "106.53402", "lat": "29.525961\n"}, {"lng": "106.533986", "lat": "29.525936\n"}, {"lng": "106.533455", "lat": "29.525546\n"}, {"lng": "106.5332", "lat": "29.525413\n"}, {"lng": "106.532426", "lat": "29.525155\n"}, {"lng": "106.532353", "lat": "29.525163\n"}, {"lng": "106.53229", "lat": "29.5252\n"}, {"lng": "106.532241", "lat": "29.525253\n"}, {"lng": "106.532198", "lat": "29.525315\n"}, {"lng": "106.531586", "lat": "29.5269\n"}, {"lng": "106.531363", "lat": "29.52778\n"}, {"lng": "106.531326", "lat": "29.528746\n"}, {"lng": "106.531458", "lat": "29.529691\n"}, {"lng": "106.532046", "lat": "29.53156\n"}, {"lng": "106.53357", "lat": "29.535643\n"}, {"lng": "106.53374", "lat": "29.535928\n"}, {"lng": "106.534836", "lat": "29.5374\n"}, {"lng": "106.536893", "lat": "29.539351\n"}, {"lng": "106.538446", "lat": "29.540533\n"}, {"lng": "106.539238", "lat": "29.540896\n"}, {"lng": "106.540116", "lat": "29.541156\n"}, {"lng": "106.540788", "lat": "29.541235\n"}, {"lng": "106.541853", "lat": "29.541261\n"}, {"lng": "106.54615", "lat": "29.540981\n"}, {"lng": "106.549441", "lat": "29.540926\n"}, {"lng": "106.550593", "lat": "29.54118\n"}, {"lng": "106.551516", "lat": "29.541558\n"}, {"lng": "106.554295", "lat": "29.542755\n"}, {"lng": "106.555916", "lat": "29.543063\n"}, {"lng": "106.556861", "lat": "29.543186\n"}, {"lng": "106.560363", "lat": "29.54361\n"}, {"lng": "106.561361", "lat": "29.543498\n"}, {"lng": "106.562058", "lat": "29.543373\n"}, {"lng": "106.563295", "lat": "29.543205\n"}, {"lng": "106.564865", "lat": "29.543231\n"}, {"lng": "106.567205", "lat": "29.543681\n"}, {"lng": "106.571403", "lat": "29.544415\n"}, {"lng": "106.574481", "lat": "29.544786\n"}, {"lng": "106.574908", "lat": "29.544871\n"}, {"lng": "106.574951", "lat": "29.544865\n"}, {"lng": "106.574981", "lat": "29.54487\n"}, {"lng": "106.575065", "lat": "29.544883\n"}, {"lng": "106.575368", "lat": "29.544971\n"}, {"lng": "106.575446", "lat": "29.545\n"}, {"lng": "106.57792", "lat": "29.545733\n"}, {"lng": "106.57879", "lat": "29.545958\n"}, {"lng": "106.5819", "lat": "29.546685\n"}, {"lng": "106.582638", "lat": "29.546916\n"}, {"lng": "106.583336", "lat": "29.547221\n"}, {"lng": "106.584188", "lat": "29.5478\n"}, {"lng": "106.584356", "lat": "29.547933\n"}, {"lng": "106.584933", "lat": "29.548418\n"}, {"lng": "106.585056", "lat": "29.548348\n"}, {"lng": "106.585081", "lat": "29.548358\n"}, {"lng": "106.585181", "lat": "29.548448\n"}, {"lng": "106.58525", "lat": "29.54856\n"}, {"lng": "106.58583", "lat": "29.549613\n"}, {"lng": "106.586525", "lat": "29.551088\n"}, {"lng": "106.588258", "lat": "29.554658\n"}, {"lng": "106.589325", "lat": "29.556971\n"}, {"lng": "106.590013", "lat": "29.558385\n"}, {"lng": "106.590681", "lat": "29.560546\n"}, {"lng": "106.59077", "lat": "29.561608\n"}, {"lng": "106.590806", "lat": "29.563003\n"}, {"lng": "106.590851", "lat": "29.563895\n"}, {"lng": "106.590766", "lat": "29.566858\n"}, {"lng": "106.590591", "lat": "29.568281\n"}, {"lng": "106.589873", "lat": "29.572468\n"}, {"lng": "106.589526", "lat": "29.573176\n"}, {"lng": "106.588891", "lat": "29.574146\n"}, {"lng": "106.588333", "lat": "29.574741\n"}, {"lng": "106.587363", "lat": "29.575703\n"}, {"lng": "106.587371", "lat": "29.575726\n"}, {"lng": "106.58739", "lat": "29.575745\n"}, {"lng": "106.587408", "lat": "29.575756\n"}, {"lng": "106.587425", "lat": "29.575766\n"}, {"lng": "106.587478", "lat": "29.575786\n"}, {"lng": "106.587505", "lat": "29.575788\n"}, {"lng": "106.587645", "lat": "29.57578\n"}, {"lng": "106.58777", "lat": "29.575776\n"}, {"lng": "106.587808", "lat": "29.575805\n"}, {"lng": "106.587808", "lat": "29.575805\n"}, {"lng": "106.587808", "lat": "29.575805\n"}, {"lng": "106.587808", "lat": "29.575805\n"}]}
\ No newline at end of file
......@@ -14,6 +14,7 @@ from time import sleep
from lib.protocol.message.Location_msg import Location_msg
from lib.protocol.message.TerminalRegister_msg import TerminalRegister_msg
from lib.protocol.message.TerminalVersionInfo_msg import TerminalVersionInfo_msg
from lib.socket.service.MessageSimulaterDataService import MessageSimulaterDataService
from lib.socket.service.websocket_service import Websocket_service
......@@ -29,14 +30,30 @@ class MessageSimulaterService():
self.timeout = 1 #socket的超时时间
self.gpsLine = [] #GPS 轨迹
self.gpsLineIndex = 0 #GPS 轨迹索引
self.travelStatus = 0 #0,表示行驶,1表示开始行驶同时开启了接收消息服务,2表示值开启了接收消息的服务
self.travelStatus = 0 #0,表示行驶,1表示开始行驶同时开启了接收消息服务,2表示值开启了接收消息的服务
self.carId = "" #车机号
self.sn = 0 #消息流水号
self.travelDirection = 0 #行驶方向,0表示正向行驶,1表示反向行驶
# 定义要发送的obd数据
self.OBDdata = {}
self.OBDdata = {"msgID": "0200", "phoneNum": "13146201119", "msgWaterCode": "1", "encryptionType": "0", "subPkg": "0",
"pkgCounts": "0", "baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.569133, "longtitude": 106.586571,
"elevation": "521", "speed": "66", "directionAngle": "59",
"infoTime": "2020-04-23 13:15:37"}, "extraInfo": {"01": {"extra_01": "20202020"},
"EB": {"6010": "2", "6014": "0", "6040": "44", "6050": "76", "6070": "89", "6100": "505", "6110": "51",
"6210": "4508", "6330": "28", "6460": "65", "6490": "32", "6701": "0", "6702": "0", "6703": "1",
"6704": "505", "6705": "1", "6706": "505", "6707": "505", "6708": "3500", "6709": "7200000",
"60C0": "3000", "60D0": "60", "62f0": "801", "60F0": "88", "60B0": "20", "60A0": "276",
"61F0": "3700", "60E0": "154", "670a": "3700000"}}}
# 定义初始的obd数据,与上面的OBD数据保持一致,主要用于汽车行驶过程中数据变化量的计算
self.OBDdataOri = {}
self.OBDdataOri = {"msgID": "0200", "phoneNum": "13146201119", "msgWaterCode": "1", "encryptionType": "0", "subPkg": "0",
"pkgCounts": "0", "baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.569133, "longtitude": 106.586571,
"elevation": "521", "speed": "66", "directionAngle": "59",
"infoTime": "2020-04-23 13:15:37"}, "extraInfo": {"01": {"extra_01": "20202020"},
"EB": {"6010": "2", "6014": "0", "6040": "44", "6050": "76", "6070": "89", "6100": "505", "6110": "51",
"6210": "4508", "6330": "28", "6460": "65", "6490": "32", "6701": "0", "6702": "0", "6703": "1",
"6704": "505", "6705": "1", "6706": "505", "6707": "505", "6708": "3500", "6709": "7200000",
"60C0": "3000", "60D0": "60", "62f0": "801", "60F0": "88", "60B0": "20", "60A0": "276",
"61F0": "3700", "60E0": "154", "670a": "3700000"}}}
#设置套接字
def setSocket(self,data):
......@@ -96,17 +113,65 @@ class MessageSimulaterService():
#车机点火
########################################################
def fireOn(self):
if not os.path.exists("data/messageTools/carData/" + self.carId + ".json"):
psdsObj = MessageSimulaterDataService()
data = psdsObj.genDataTemplate()
psdsObj.writeToFile("data/messageTools/carData/" + self.carId + ".json",data)
#读取车机行驶数据
with open("data/messageTools/carData/" + self.carId + ".json", "r", encoding="utf-8") as fi:
############################# 读取车机的数据 ############################
content = fi.read()
conJson = json.loads(content)
conJson["curDayTravel"]["theMilleage"] = 0 # 今日行驶总里程
conJson["curDayTravel"]["theOil"] = 0 # 今日行驶总油耗
conJson["curDayTravel"]["theTime"] = 0 # 今日行驶总时间
timeStamp = time.time()
timeArray = time.localtime(timeStamp)
dateTimeM = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
dateM = time.strftime("%Y-%m-%d", timeArray)
timeM = time.strftime("%H:%M:%S", timeArray)
dataFile = self.carId + ".json"
self.carDataObj = MessageSimulaterDataService("data/messageTools/carData/", dataFile)
self.carDataObj.setData(conJson)
if dateM == conJson["time"]["date"]:
self.OBDdata["extraInfo"]["01"]["extra_01"] = conJson["travelData"]["totalMilleage"]
self.OBDdataOri["extraInfo"]["01"]["extra_01"] = conJson["travelData"]["totalMilleage"]
self.OBDdata["extraInfo"]["EB"]["670a"] = conJson["travelData"]["totalOil"]
self.OBDdataOri["extraInfo"]["EB"]["670a"] = conJson["travelData"]["totalOil"]
self.OBDdata["extraInfo"]["EB"]["6709"] = conJson["travelData"]["totalTime"]
self.OBDdataOri["extraInfo"]["EB"]["6709"] = conJson["travelData"]["totalTime"]
else: #如果不是当天日期,则将日期设置为当天,并写入车辆数据文件
conJson["curDayTravel"]["todayTotalMilleage"] = 0 # 今日行驶总里程
conJson["curDayTravel"]["todayTotalOil"] = 0 # 今日行驶总油耗
conJson["curDayTravel"]["todayTotalTime"] = 0 # 今日行驶总时间
self.carDataObj.setTodayTotalMilleage(0)
self.carDataObj.setTodayTodayTotalOil(0)
self.carDataObj.setTodayTodayTotalTime(0)
self.carDataObj.setDateTime2file(dateTimeM)
self.carDataObj.setData2file(dateM)
self.carDataObj.setTime2file(timeM)
self.OBDdata["extraInfo"]["01"]["extra_01"] = conJson["travelData"]["totalMilleage"]
self.OBDdataOri["extraInfo"]["01"]["extra_01"] = conJson["travelData"]["totalMilleage"]
self.OBDdata["extraInfo"]["EB"]["670a"] = conJson["travelData"]["totalOil"]
self.OBDdataOri["extraInfo"]["EB"]["670a"] = conJson["travelData"]["totalOil"]
self.OBDdata["extraInfo"]["EB"]["6709"] = conJson["travelData"]["totalTime"]
self.OBDdataOri["extraInfo"]["EB"]["6709"] = conJson["travelData"]["totalTime"]
self.carData = conJson
############################# 发送点火数据 ############################
self.setGpsLine(self.data["gpsLine"])
fireOnParams = {"msgID": "0200", "phoneNum": "13146201119", "msgWaterCode": "1", "encryptionType": "0", "subPkg": "0",
"pkgCounts": "0", "baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.40268, "longtitude": 106.54041,
"pkgCounts": "0", "baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.569133, "longtitude": 106.586571,
"elevation": "521", "speed": "0", "directionAngle": "59",
"infoTime": "2020-04-21 18:03:49"}, "extraInfo": {"FA": {"ignition": "on"}}}
timeStamp = time.time()
timeArray = time.localtime(timeStamp)
curTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
fireOnParams["phoneNum"] = self.data["phoneNum"]
print(self.data["phoneNum"])
fireOnParams["msgWaterCode"] = self.sn
fireOnParams["baseInfo"]["infoTime"] = curTime
fireOnParams["baseInfo"]["latitude"] = self.gpsLine[self.gpsLineIndex]["lat"]
fireOnParams["baseInfo"]["longtitude"] = self.gpsLine[self.gpsLineIndex]["lng"]
msgObj = Location_msg()
msg = msgObj.generateMsg_GUI(fireOnParams)
self.sendMsg(msg)
......@@ -114,6 +179,23 @@ class MessageSimulaterService():
info = type + ">>>>:" + msg
self.websocket.send(info)
self.sn = self.sn + 1
time.sleep(0.1)
self.OBDdata["phoneNum"] = self.data["phoneNum"]
self.OBDdata["msgWaterCode"] = self.sn
self.OBDdata["baseInfo"]["infoTime"] = curTime
self.OBDdata["baseInfo"]["latitude"] = self.gpsLine[self.gpsLineIndex]["lat"]
self.OBDdata["baseInfo"]["longtitude"] = self.gpsLine[self.gpsLineIndex]["lng"]
self.OBDdata["extraInfo"]["EB"]["60C0"] = 0 #发动机转速
self.OBDdata["extraInfo"]["EB"]["60D0"] = 0 #车速
# self.OBDdata["extraInfo"]["EB"]["670a"] = self.carData["travelData"]["totalOil"] #总油耗
# self.OBDdata["extraInfo"]["EB"]["6709"] = self.carData["travelData"]["totalTime"] #总运行时间
# self.OBDdata["extraInfo"]["01"]["extra_01"] = self.carData["travelData"]["totalMilleage"] #总里程
obdMsg = msgObj.generateMsg_GUI(self.OBDdata)
self.sendMsg(obdMsg)
type = self.getMsgFunId(obdMsg)
info = type + ">>>>:" + obdMsg
self.websocket.send(info)
self.sn = self.sn + 1
########################################################
#车机行驶服务
......@@ -121,21 +203,141 @@ class MessageSimulaterService():
def serviceTrave(self):
while self.serviceStatus == 1:
gpsMsg = ""
OBDMsg = ""
if self.travelStatus == 0:
obdMsg = ""
if self.travelStatus == 0: #行驶服务未启动
gpsParams = {"msgID": "0200", "phoneNum": "13146201119", "msgWaterCode": "1", "encryptionType": "0",
"subPkg": "0","pkgCounts": "0", "baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.569133,
"longtitude": 106.586571,"elevation": "521", "speed": "0",
"directionAngle": "59","infoTime": "2020-04-21 18:09:34"},
"extraInfo": {}}
latitude = self.gpsLine[self.gpsLineIndex]["lat"]
longitude = self.gpsLine[self.gpsLineIndex]["lng"]
timeStamp = time.time()
timeArray = time.localtime(timeStamp)
curTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
gpsParams["phoneNum"] = self.data["phoneNum"]
gpsParams["msgWaterCode"] = self.sn
gpsParams["baseInfo"]["infoTime"] = curTime
gpsParams["baseInfo"]["latitude"] = self.gpsLine[self.gpsLineIndex]["lat"]
gpsParams["baseInfo"]["longtitude"] = self.gpsLine[self.gpsLineIndex]["lng"]
gpsObj = Location_msg()
gpsMsg = self.genGPSMsg(latitude,longitude)
elif self.travelStatus == 1:
pass
gpsMsg = gpsObj.generateMsg_GUI(gpsParams)
elif self.travelStatus == 1: #行驶服务启动
if self.gpsLineIndex < len(self.gpsLine) and self.gpsLineIndex != -1: #如果正向行驶和反向行驶的轨迹点都没有跑完
gpsParams = {"msgID": "0200", "phoneNum": "13146201119", "msgWaterCode": "1", "encryptionType": "0",
"subPkg": "0", "pkgCounts": "0",
"baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.569133,
"longtitude": 106.586571, "elevation": "521", "speed": "0",
"directionAngle": "59", "infoTime": "2020-04-21 18:09:34"},
"extraInfo": {}}
latitude = self.gpsLine[self.gpsLineIndex]["lat"]
longitude = self.gpsLine[self.gpsLineIndex]["lng"]
timeStamp = time.time()
timeArray = time.localtime(timeStamp)
curTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
gpsParams["phoneNum"] = self.data["phoneNum"]
gpsParams["msgWaterCode"] = self.sn
gpsParams["baseInfo"]["infoTime"] = curTime
gpsParams["baseInfo"]["latitude"] = self.gpsLine[self.gpsLineIndex]["lat"]
gpsParams["baseInfo"]["longtitude"] = self.gpsLine[self.gpsLineIndex]["lng"]
gpsObj = Location_msg()
gpsMsg = gpsObj.generateMsg_GUI(gpsParams)
self.OBDdata["phoneNum"] = self.data["phoneNum"]
self.OBDdata["msgWaterCode"] = self.sn
self.OBDdata["baseInfo"]["infoTime"] = curTime
self.OBDdata["baseInfo"]["latitude"] = self.gpsLine[self.gpsLineIndex]["lat"]
self.OBDdata["baseInfo"]["longtitude"] = self.gpsLine[self.gpsLineIndex]["lng"]
self.OBDdata["extraInfo"]["EB"]["60C0"] = 3000 # 发动机转速
speed = int(self.data["travelData"]["carSpeed"])
oilExpend = int(self.data["travelData"]["oilExpend"])
self.OBDdata["extraInfo"]["EB"]["60D0"] = speed # 车速
self.OBDdata["extraInfo"]["EB"]["670a"] = self.OBDdata["extraInfo"]["EB"]["670a"] + int((self.sendDur * (speed * 1000 / 3600)) * (1000 / (oilExpend * 1000))) # 总油耗
self.OBDdata["extraInfo"]["EB"]["6709"] = self.OBDdata["extraInfo"]["EB"]["6709"] + self.sendDur # 总运行时间
self.OBDdata["extraInfo"]["01"]["extra_01"] = self.OBDdata["extraInfo"]["01"]["extra_01"] + int(self.sendDur * (speed * 1000 / 3600)) # 总里程
obdObj = Location_msg()
obdMsg = obdObj.generateMsg_GUI(self.OBDdata)
if self.travelDirection == 0:
self.gpsLineIndex = self.gpsLineIndex + 1 # 正向行驶
else:
self.gpsLineIndex = self.gpsLineIndex - 1 # 反向行驶
elif self.gpsLineIndex == len(self.gpsLine) or self.gpsLineIndex == -1: #如果反向行驶和反向行驶刚好跑完
if int(self.data["travelData"]["travelLoop"]) == 0: #没有设置循环行驶
self.stopTravel()
self.websocket.send("gps轨迹跑完,自动停止行驶!")
else: #设置了循环行驶
if self.travelDirection == 0:
self.gpsLineIndex = self.gpsLineIndex - 1
self.travelDirection = 1
self.websocket.send("gps轨迹正向行驶跑完,变换行驶方向......")
else:
self.gpsLineIndex = self.gpsLineIndex + 1
self.travelDirection = 0
self.websocket.send("gps轨迹反向行驶跑完,变换行驶方向......")
gpsParams = {"msgID": "0200", "phoneNum": "13146201119", "msgWaterCode": "1", "encryptionType": "0",
"subPkg": "0", "pkgCounts": "0",
"baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.569133,
"longtitude": 106.586571, "elevation": "521", "speed": "0",
"directionAngle": "59", "infoTime": "2020-04-21 18:09:34"}}
timeStamp = time.time()
timeArray = time.localtime(timeStamp)
curTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
gpsParams["phoneNum"] = self.data["phoneNum"]
gpsParams["msgWaterCode"] = self.sn
gpsParams["baseInfo"]["infoTime"] = curTime
gpsParams["baseInfo"]["latitude"] = self.gpsLine[self.gpsLineIndex]["lat"]
gpsParams["baseInfo"]["longtitude"] = self.gpsLine[self.gpsLineIndex]["lng"]
gpsObj = Location_msg()
gpsMsg = gpsObj.generateMsg_GUI(gpsParams)
self.OBDdata["phoneNum"] = self.data["phoneNum"]
self.OBDdata["msgWaterCode"] = self.sn
self.OBDdata["baseInfo"]["infoTime"] = curTime
self.OBDdata["baseInfo"]["latitude"] = self.gpsLine[self.gpsLineIndex]["lat"]
self.OBDdata["baseInfo"]["longtitude"] = self.gpsLine[self.gpsLineIndex]["lng"]
self.OBDdata["extraInfo"]["EB"]["60C0"] = 3000 # 发动机转速
speed = int(self.data["travelData"]["carSpeed"])
oilExpend = int(self.data["travelData"]["oilExpend"])
self.OBDdata["extraInfo"]["EB"]["60D0"] = speed # 车速
self.OBDdata["extraInfo"]["EB"]["670a"] = self.OBDdata["extraInfo"]["EB"]["670a"] + int((self.sendDur * (speed * 1000 / 3600)) * (1000 / (oilExpend * 1000))) # 总油耗
self.OBDdata["extraInfo"]["EB"]["6709"] = self.OBDdata["extraInfo"]["EB"]["6709"] + self.sendDur # 总运行时间
self.OBDdata["extraInfo"]["01"]["extra_01"] = self.OBDdata["extraInfo"]["01"]["extra_01"] + int(self.sendDur * (speed * 1000 / 3600)) # 总里程
obdObj = Location_msg()
obdMsg = obdObj.generateMsg_GUI(self.OBDdata)
self.carDataObj.setTodayTotalMilleage(self.carData["curDayTravel"]["todayTotalMilleage"] + self.OBDdata["extraInfo"]["01"]["extra_01"] - self.OBDdataOri["extraInfo"]["01"]["extra_01"])
self.carDataObj.setTheMilleage(self.carData["curDayTravel"]["theMilleage"] + self.OBDdata["extraInfo"]["01"]["extra_01"] - self.OBDdataOri["extraInfo"]["01"]["extra_01"])
self.carDataObj.setTotalMilleage(self.carData["travelData"]["totalMilleage"] + self.OBDdata["extraInfo"]["01"]["extra_01"] - self.OBDdataOri["extraInfo"]["01"]["extra_01"])
temp = self.OBDdata["extraInfo"]["01"]["extra_01"]
self.OBDdataOri["extraInfo"]["01"]["extra_01"] = temp
self.carDataObj.setTodayTodayTotalOil(self.carData["curDayTravel"]["todayTotalOil"] + self.OBDdata["extraInfo"]["EB"]["670a"] - self.OBDdataOri["extraInfo"]["EB"]["670a"])
self.carDataObj.setTheOil(self.carData["curDayTravel"]["theOil"] + self.OBDdata["extraInfo"]["EB"]["670a"] - self.OBDdataOri["extraInfo"]["EB"]["670a"])
self.carDataObj.setTotalOil(self.carData["travelData"]["totalOil"] + self.OBDdata["extraInfo"]["EB"]["670a"] - self.OBDdataOri["extraInfo"]["EB"]["670a"])
self.OBDdataOri["extraInfo"]["EB"]["670a"] = self.OBDdata["extraInfo"]["EB"]["670a"]
self.carDataObj.setTodayTodayTotalTime(self.carData["curDayTravel"]["todayTotalTime"] + self.OBDdata["extraInfo"]["EB"]["6709"] - self.OBDdataOri["extraInfo"]["EB"]["6709"])
self.carDataObj.setTheTime(self.carData["curDayTravel"]["theTime"] + self.OBDdata["extraInfo"]["EB"]["6709"] - self.OBDdataOri["extraInfo"]["EB"]["6709"])
self.carDataObj.setTotalTime(self.carData["travelData"]["totalTime"] + self.OBDdata["extraInfo"]["EB"]["6709"] - self.OBDdataOri["extraInfo"]["EB"]["6709"])
self.OBDdataOri["extraInfo"]["EB"]["6709"] = self.OBDdata["extraInfo"]["EB"]["6709"]
if obdMsg != "":
self.sendMsg(obdMsg)
self.sn = self.sn + 1
type = self.getMsgFunId(obdMsg)
info = type + ">>>>:" + obdMsg
self.websocket.send(info)
if gpsMsg != "":
time.sleep(0.1)
self.sendMsg(gpsMsg)
self.sn = self.sn + 1
type = self.getMsgFunId(gpsMsg)
info = type + ">>>>:" + gpsMsg
self.websocket.send(info)
sleep(self.sendDur)
########################################################
#车机熄火
########################################################
def fireOff(self):
fireOffParams = {"msgID": "0200", "phoneNum": "13146201119", "msgWaterCode": "1", "encryptionType": "0", "subPkg": "0",
"pkgCounts": "0", "baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.40268, "longtitude": 106.54041,
"pkgCounts": "0", "baseInfo": {"alarmFlag": 0, "status": 262402, "latitude": 29.569133, "longtitude": 106.586571,
"elevation": "521", "speed": "0", "directionAngle": "59",
"infoTime": "2020-04-21 18:09:34"}, "extraInfo": {"FA": {"flameout": "on"}}}
timeStamp = time.time()
......@@ -144,6 +346,8 @@ class MessageSimulaterService():
fireOffParams["phoneNum"] = self.data["phoneNum"]
fireOffParams["msgWaterCode"] = self.sn
fireOffParams["baseInfo"]["infoTime"] = curTime
fireOffParams["baseInfo"]["latitude"] = self.gpsLine[self.gpsLineIndex]["lat"]
fireOffParams["baseInfo"]["longtitude"] = self.gpsLine[self.gpsLineIndex]["lng"]
msgObj = Location_msg()
msg = msgObj.generateMsg_GUI(fireOffParams)
self.sendMsg(msg)
......@@ -198,6 +402,16 @@ class MessageSimulaterService():
# 打印异常信息
traceback.print_exc()
########################################################
#关闭车机的连接
########################################################
def closeSocket(self):
try:
self.socket.close()
except BaseException as e:
# 打印异常信息
traceback.print_exc
########################################################
#获取收到消息的功能id
########################################################
......@@ -232,9 +446,46 @@ class MessageSimulaterService():
# self.websocket.send(type + ">>>>升级_平台通知终端远程升级应答:" + msg)
#设置GPS轨迹
def setGpsLine(self,fileName):
with open("data/messageTools/GPSLines/" + fileName,"r",encoding="utf-8") as fi:
content = fi.read()
conJson = json.loads(content)
self.gpsLine = conJson["GPSLine"]
########################################################
#启动接收消息的服务
########################################################
def startReciveService(self):
t2 = threading.Thread(target=self.serviceRev, args=())
t2.start()
########################################################
# 开启发送消息的服务
########################################################
def startService(self):
self.serviceStatus = 1
t1 = threading.Thread(target=self.serviceTrave,args=())
t1.start()
########################################################
#停止发送消息的服务
########################################################
def stopService(self):
self.serviceStatus = 0
self.gpsLine = []
self.gpsLineIndex = 0
self.travelStatus = 0
########################################################
# 开始行驶
########################################################
def startTravel(self):
self.travelStatus = 1
########################################################
# 停止行驶
########################################################
def stopTravel(self):
self.travelStatus = 0
self.serviceStatus = 0
......@@ -32,7 +32,7 @@ class ProtocolSimulaterService():
self.timeout = 1 #socket的超时时间
self.gpsLine = [] #GPS 轨迹
self.gpsLineIndex = 0 #GPS 轨迹索引
self.travelStatus = 0 #0,表示行驶,1表示开始行驶同时开启了接收消息服务,2表示值开启了接收消息的服务
self.travelStatus = 0 #0,表示行驶,1表示开始行驶同时开启了接收消息服务,2表示值开启了接收消息的服务
self.carId = "" #车机号
self.sn = 0 #消息流水号
self.travelDirection = 0 #行驶方向,0表示正向行驶,1表示反向行驶
......@@ -72,12 +72,12 @@ class ProtocolSimulaterService():
while self.serviceStatus == 1:
gpsMsg = ""
OBDMsg = ""
if self.travelStatus == 0:
if self.travelStatus == 0: #行驶服务未启动
latitude = self.gpsLine[self.gpsLineIndex]["lat"]
longitude = self.gpsLine[self.gpsLineIndex]["lng"]
gpsMsg = self.genGPSMsg(latitude,longitude)
elif self.travelStatus == 1:
if self.gpsLineIndex < len(self.gpsLine) and self.gpsLineIndex != -1:
elif self.travelStatus == 1: #行驶服务启动
if self.gpsLineIndex < len(self.gpsLine) and self.gpsLineIndex != -1: #如果正向行驶和反向行驶的轨迹点都没有跑完
OBDMsg = self.genOBDMsg(self.OBDdata["fireStatus"],self.OBDdata["ACCStatus"],self.OBDdata["engineSpeed"], \
self.OBDdata["speed"],self.OBDdata["meterMileage"],self.OBDdata["totailMileage"], \
self.OBDdata["totalOilExpen"],self.OBDdata["totalRunTime"])
......@@ -95,11 +95,11 @@ class ProtocolSimulaterService():
self.gpsLineIndex = self.gpsLineIndex + 1 #正向行驶
else:
self.gpsLineIndex = self.gpsLineIndex - 1 #反向行驶
elif self.gpsLineIndex == len(self.gpsLine) or self.gpsLineIndex == -1:
if int(self.data["travelData"]["travelLoop"]) == 0:
elif self.gpsLineIndex == len(self.gpsLine) or self.gpsLineIndex == -1: #如果反向行驶和反向行驶刚好跑完
if int(self.data["travelData"]["travelLoop"]) == 0: #没有设置循环行驶
self.stopTravel()
self.websocket.send("gps轨迹跑完,自动停止行驶!")
else:
else: #设置了循环行驶
if self.travelDirection == 0:
self.gpsLineIndex = self.gpsLineIndex - 1
self.travelDirection = 1
......@@ -286,6 +286,12 @@ class ProtocolSimulaterService():
self.carDataObj.setDateTime2file(dateTimeM)
self.carDataObj.setData2file(dateM)
self.carDataObj.setTime2file(timeM)
self.OBDdata["totailMileage"] = conJson["travelData"]["totalMilleage"]
self.OBDdataOri["totailMileage"] = conJson["travelData"]["totalMilleage"]
self.OBDdata["totalOilExpen"] = conJson["travelData"]["totalOil"]
self.OBDdataOri["totalOilExpen"] = conJson["travelData"]["totalOil"]
self.OBDdata["totalRunTime"] = conJson["travelData"]["totalTime"]
self.OBDdataOri["totalRunTime"] = conJson["travelData"]["totalTime"]
self.carData = conJson
fireOnEventObj = EventReport_protocol(DEV_ID=self.carId,WATER_CODE=self.sn)
gpsData = self.genGPSData(self.gpsLine[0]["lat"], self.gpsLine[0]["lng"])
......
......@@ -91,7 +91,9 @@
</form>
</div>
<span style="margin-left:10px;"><label>选择轨迹:</label><select id="selectGPSLine" class="form-control" style="width:250px;">
<option value="test">test</option>
{% for key,value in arg["gpsLines"].items() %}
<option value="{{ key }}">{{ value }}</option>
{% endfor %}
</select></span>
<a style="margin-left:10px;font-weight:bold;" onclick="download_sample()">下载示例轨迹</a>
</div>
......@@ -159,6 +161,22 @@ function fireOn(){
sendHttpMsg(data,url);
$("#curStatus").val("点火");
}
//行驶
function startTravel(){
var data = getPageData();
var host = window.location.host;
var url = "http://" + host + "/messageTools/M_simulater_process/porcessStartTravel";
sendHttpMsg(data,url);
$("#curStatus").val("行驶");
}
//停止行驶
function stopTravel(){
var data = getPageData();
var host = window.location.host;
var url = "http://" + host + "/messageTools/M_simulater_process/porcessStopTravel";
sendHttpMsg(data,url);
$("#curStatus").val("停止行驶");
}
//熄火
function fireOff(){
var data = getPageData();
......@@ -174,6 +192,17 @@ function disConnect(){
var url = "http://" + host + "/messageTools/M_simulater_process/porcessDisconnect";
sendHttpMsg(data,url);
$("#curStatus").val("断网");
endService()
}
//复位
function reset(){
var data = getPageData();
var host = window.location.host;
var url = "http://" + host + "/messageTools/M_simulater_process/reset";
sendHttpMsg(data,url);
$("#curStatus").val("断网");
$("#showFeedback").val("")
endService()
}
//清空日志
function clearlog(){
......@@ -231,7 +260,10 @@ function getPageData(){
data["phoneNum"] = phoneNum;
data["durTime"] = durTime;
data["timeout"] = timeout;
//GPS轨迹数据
var gpsLine = $("#selectGPSLine").val()
data["gpsLine"] = gpsLine
//登录数据
var provinceId = $("#provinceId").val();
var countyId = $("#countyId").val();
var manufacturerId = $("#manufacturerId").val();
......@@ -247,7 +279,7 @@ function getPageData(){
data["login"]["terminalId"] = terminalId;
data["login"]["licencePlateColor"] = licencePlateColor;
data["login"]["carSign"] = carSign;
//版本数据
var softwareVersion = $("#softwareVersion").val();
var softwareVersionDate = $("#softwareVersionDate").val();
var CPUId = $("#CPUId").val();
......@@ -275,6 +307,14 @@ function getPageData(){
data["version"]["totalOilExpend"] = totalOilExpend;
data["version"]["displacement"] = displacement;
data["version"]["oilDensity"] = oilDensity;
//行驶参数数据
data["travelData"] = {}
var carSpeed = $("#carSpeed").val()
var oilExpend = $("#oilExpend").val()
var travelLoop = $("#travelLoop").val()
data["travelData"]["carSpeed"] = carSpeed
data["travelData"]["oilExpend"] = oilExpend
data["travelData"]["travelLoop"] = travelLoop
return data;
}
//控制登录数据区域的显示与隐藏
......@@ -358,5 +398,61 @@ function myclose(){
console.log("执行了socket服务的关闭操作...");
}
///////////////////////////////// websocket 代码结束 /////////////////////////////////
function uploadFile(){
var form = new FormData(document.getElementById("form"));
var host = window.location.host;
$.ajax({
url:"http://" + host + "/messageTools/M_simulater_process/fileUplad",
type:"post",
data:form,
cache: false,
processData: false,
contentType: false,
success:function(data){
//提交成功
if (data.status == "200") {
$("#fileAttach").val("")
$("#selectGPSLine").prepend("<option value=" + data.file.filenameOri + ">" + data.file.filename + "</option>")
alert("sucess")
}else{
alert("fail")
}
},
error:function(data){
var result=document.getElementById("Result");
result.innerHTML="服务器错误";
}
});
}
function download_sample(){
var host = window.location.host;
window.location.href = "http://" + host + "/messageTools/M_simulater_process/sampleDowload"
}
//查询车机今日行驶数据
$("#searchCarData").click(function(){
var carId = $("#phoneNum").val();
var data = {};
data["carId"] = carId;
var host = window.location.host;
$.ajax({
url:"http://" + host + "/messageTools/M_simulater_process/searchCarsimulaterData",
type:"post",
data:data,
dataType:"json",
success:function(data){
if(data.status == 200){
//window.location.reload()
msg = data.message
$("#searchCardataShow").val(msg)
}else{
$("#searchCardataShow").val(data.message)
alert(data.message);
}
}
});
});
</script>
{% endblock %}
\ No newline at end of file
......@@ -9,6 +9,7 @@ import traceback
from lib.socket.ClientSocket import ClientSocket
from lib.socket.service.MessageSimulaterService import MessageSimulaterService
from lib.util import fileUtil
M_simulater_process = Blueprint('M_simulater_process', __name__)
......@@ -67,9 +68,11 @@ def porcessConnect():
service = MessageSimulaterService()
service.setSocket(cliSocket)
service.setTimeout(int(params["timeout"]))
service.setCarId(params["phoneNum"])
service.setData(params) #传入页面传过来的数据
service.startWebsocketService() #启动websocket服务
service.startReciveService() #接收消息的服务
service.setGpsLine(params["gpsLine"])
connects[0]["service"] = service
data["status"] = "200"
data["message"] = "创建连接成功!"
......@@ -121,6 +124,45 @@ def porcessFireOn():
data["message"] = "Error: 点火失败!"
return Response(json.dumps(data), mimetype='application/json')
##########################################
# 【接口类型】车机开始行驶
##########################################
@M_simulater_process.route("/porcessStartTravel",methods=['POST'])
def porcessStartTravel():
params = request.get_data()
params = json.loads(params.decode("utf-8"))
data = {}
try:
connects[0]["service"].startService()
connects[0]["service"].startTravel()
data["status"] = "200"
data["message"] = "开始行驶成功!"
except BaseException as e:
# 打印异常信息
traceback.print_exc()
data["status"] = "4003"
data["message"] = "Error: 开始行驶失败!"
return Response(json.dumps(data), mimetype='application/json')
##########################################
# 【接口类型】车机停止行驶
##########################################
@M_simulater_process.route("/porcessStopTravel",methods=['POST'])
def porcessStopTravel():
params = request.get_data()
params = json.loads(params.decode("utf-8"))
data = {}
try:
connects[0]["service"].stopTravel()
data["status"] = "200"
data["message"] = "停止行驶成功!"
except BaseException as e:
# 打印异常信息
traceback.print_exc()
data["status"] = "4003"
data["message"] = "Error: 停止行驶失败!"
return Response(json.dumps(data), mimetype='application/json')
##########################################
# 【接口类型】车机熄火
##########################################
......@@ -131,6 +173,8 @@ def porcessFireOff():
data = {}
try:
connects[0]["service"].fireOff()
connects[0]["service"].stopTravel()
connects[0]["service"].stopService()
data["status"] = "200"
data["message"] = "熄火成功!"
except BaseException as e:
......@@ -150,8 +194,10 @@ def porcessDisconnect():
params = json.loads(params.decode("utf-8"))
data = {}
try:
connects[0]["service"].socket.close()
connects[0]["service"].stopWebsocketService()
connects[0]["service"].stopTravel()
connects[0]["service"].stopService()
connects[0]["service"].socket.close()
connects.pop(0)
data["status"] = "200"
data["message"] = "断开连接成功!"
......@@ -161,3 +207,109 @@ def porcessDisconnect():
data["status"] = "4003"
data["message"] = "Error: 断开连接失败!"
return Response(json.dumps(data), mimetype='application/json')
##########################################
# 【接口类型】车机复位
##########################################
@M_simulater_process.route("/reset",methods=['POST'])
def reset():
params = request.get_data()
params = json.loads(params.decode("utf-8"))
data = {}
try:
for t in connects:
t["service"].stopTravel()
try:
t["service"].fireOff()
except BaseException as e1:
pass
t["service"].stopWebsocketService()
t["service"].stopTravel()
t["service"].stopService()
t["service"].socket.close()
connects.pop(0)
data["status"] = "200"
data["message"] = "复位成功!"
except BaseException as e:
# 打印异常信息
traceback.print_exc()
data["status"] = "4003"
data["message"] = "Error: 复位失败!"
return Response(json.dumps(data), mimetype='application/json')
##########################################
# 【接口类型】文件上传操作
##########################################
@M_simulater_process.route("/fileUplad",methods=['POST'])
def fileUplad():
# 获取前端传输的文件(对象)
f = request.files.get('file')
file_content = f.read()
try:
file_content = file_content.decode("utf-8")
except BaseException as e:
pass
try:
file_content = file_content.decode("gbk")
except BaseException as e:
pass
maxPrefix = int(fileUtil.getMaxPrefixFilePre("data/messageTools/GPSLines"))
filenameOrg = f.filename
filename = str(maxPrefix + 1) + "_" + filenameOrg
fileData = {}
fileData["filename"] = fileUtil.removeSuffix(filenameOrg)
fileData["filenameOri"] = filename
# 验证文件格式(简单设定几个格式)
types = ['json','txt']
data = {}
if filename.split('.')[-1] in types:
# 保存图片
with open("data/messageTools/GPSLines/" + filename,"w",encoding="utf-8") as fi:
fi.write(file_content)
# 返回给前端结果
data["status"] = "200"
data["message"] = "文件上传成功"
data["file"] = fileData
else:
data["status"] = "4003"
data["message"] = "文件上传失败"
return Response(json.dumps(data), mimetype='application/json')
@M_simulater_process.route("/sampleDowload")
def sampleDowload():
return send_from_directory(r"data/messageTools/GPSLines",filename="1_sample.json",as_attachment=True)
##########################################
# 【接口类型】查询车机行驶数据
##########################################
@M_simulater_process.route("/searchCarsimulaterData",methods=['POST'])
def searchCarsimulaterData():
carId = request.form.get("carId")
data = {}
carFile = "data/messageTools/carData/" + carId + ".json"
if not os.path.exists(carFile):
data["status"] = "200"
data["message"] = "该车机无行驶数据!"
return Response(json.dumps(data), mimetype='application/json')
else:
try:
with open(carFile, "r", encoding="utf-8") as fi:
content = fi.read()
conJson = json.loads(content)
data["status"] = "200"
# data["carData"] = {}
# data["carData"]["date"] = conJson["time"]["date"]
# data["carData"]["todayTotalMilleage"] = conJson["curDayTravel"]["todayTotalMilleage"]
# data["carData"]["todayTotalOil"] = conJson["curDayTravel"]["todayTotalOil"]
# data["carData"]["todayTotalTime"] = conJson["curDayTravel"]["todayTotalTime"]
data["message"] = "日期:" + conJson["time"]["date"] + "\n今日行驶总里程:" + str(conJson["curDayTravel"]["todayTotalMilleage"]) + "(米)" \
+ "\n今日行驶总油耗:" + str(conJson["curDayTravel"]["todayTotalOil"]) + "(ml)" + "\n今日行驶总时间:" + str(conJson["curDayTravel"]["todayTotalTime"]) + "(秒)" \
+ "\n------------------\n本次行驶里程:" + str(conJson["curDayTravel"]["theMilleage"]) + "(米)" \
+ "\n本次行驶油耗:" + str(conJson["curDayTravel"]["theOil"]) + "(ml)" + "\n本次行驶总时间:" + str(conJson["curDayTravel"]["theTime"]) + "(秒)"
except BaseException as e:
# 打印异常信息
traceback.print_exc()
data["status"] = "4003"
data["message"] = "Error: 查询车机数据失败失败!"
return Response(json.dumps(data), mimetype='application/json')
\ No newline at end of file
......@@ -4,6 +4,8 @@ from configparser import ConfigParser
from flask import Blueprint, render_template ,request
import re
from lib.util import fileUtil
M_simulater_view = Blueprint('M_simulater_view', __name__)
##########################################
......@@ -18,6 +20,7 @@ def M_simulater_page():
arg = {}
path = "messageTools/message/M_simulater_page.html"
arg["path"] = reqPath.split("/")
arg["gpsLines"] = fileUtil.getDirFilesListMap("data/messageTools/GPSLines")
return render_template(path,arg=arg)
##########################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment