我希望能够在地图上显示折线。 如何从JSON提要中获取索引值并将其拆分值置于其上,以便可以在Google地图上使用?
折线Lat / Lng通过JSON feed&amp ;;提供。分成阵列。
像这样:
{ “ID”:13115604, “RCVR”:1, “HasSig”:假 “艾基奥”: “C820D4”, “差”:假, “注册”: “ZK-NZG”, “FSeen”: “/Date(1521839348845)/","TSecs":560,"CMsgs":4003,"Alt":17850,"GAlt":17838,"InHg":29.9080849,"AltT":0,"TAlt":34016 , “呼叫”: “ANZ99”, “纬度”: - 36.35348, “龙”:174.387856, “PosTime”:1521839878181, “互助条约”:假的, “TISB”:假的, “亚精胺”:426.4, “牵引控制系统”: 323.1, “TrkH”:假的, “TTrk”:302.34375, “类型”: “B789”, “铜牌”:“波音公司 787 9“,”Man“:”Boeing“,”CNum“:”37963“,”From“:”NZAA Auckland,New 新西兰“,”至“:”RJAA Narita,日本东京“,”Op“:”Air New 新西兰 “ ”OpIcao“: ”澳新银行“, ”SQK“: ”0222“, ”帮助“:假的, ”VSI“:1792年, ”VSIT“:0, ”世贸中心“:3, ”种“:1,”引擎 “:” 2" , “EngType”:3, “EngMount”:0, “军用”:假的, “凑”:“新 新西兰”, “HasPic”:假的, “有兴趣”:假的, “FlightsCount”:0, “GND”:假的, “SpdTyp”:0, “CallSus”:假的, “ResetTrail”:真正的 “泰爱泰党”:5 , “年”: “2014”, “胶辊”:[ - 36.993294,174.851651,70.0,-36.946243,174.894922,70.0,-36.934499,174.884431,325.0,-36.35348,174.387856,325.0]},
这是多边形线的纬度/经度值:
[ - 36.993294,174.851651,70.0,-36.946243,174.894922,70.0,-36.934499,174.884431,325.0,-36.35348,174.387856,325.0]
这是收到的数组中的值索引:
[0]最早坐标的纬度[1]最早的经度 坐标[2]最早坐标的时间... [n-3]纬度 最新坐标[n-2]最新坐标的经度[n-1]时间 最新坐标
这是我尝试的但是我一直得到“无法读取未定义的属性'长度”错误。
var poly;
var polyOptions = {
strokeColor: '#ff0000',
strokeOpacity: 1.0,
strokeWeight: 3
}
poly = new google.maps.Polyline(polyOptions);
poly.setMap(Map);
for(var i=0; i<plane.Cot.length; i++){
var loc = plane.Cot[i].split(',');
var path = poly.getPath();
path.push(new google.maps.LatLng(loc[0], loc[1]));
}
答案 0 :(得分:0)
我没有完整的工作https://docs.oracle.com/javase/6/docs/api/java/lang/Thread.html#isAlive%28%29来测试你的推送途径。但是继续尝试在,
分割的这行代码,并在分割中生成两个数组,这是我认为你缺少的,因为它试图为不存在的数组插入一个值,因此&#34;无法读取属性&#39;长度&#39;未定义&#34;。除非您的plane.Cot.length
被用于范围之外,否则这是我在没有JSBin的情况下可以解决的唯一错误。此外,并非完全重要,但如果您在将位置拆分为两个阵列之前调用路径,则某些JS代码测试人员会给您一个错误。当然,如果您为路径设置占位符数组,那么当您在此函数结束时调用path
时,可以存储poly.getPath()
...这只是为了将来参考。
试试这个:
var poly;
var path = [];
var polyOptions = {
strokeColor: '#ff0000',
strokeOpacity: 1.0,
strokeWeight: 3
}
poly = new google.maps.Polyline(polyOptions);
poly.setMap(Map);
for(var i=0; i<plane.Cot.length; i++){
var loc = plane.Cot[i].split(',', 2);
path.push(new google.maps.LatLng(loc[0], loc[1]));
poly.getPath();
}