我有2个清单。
double pointY[]={105.45526,105.57364,105.53505,105.45523,105.51962,105.77320}
double pointX[]={9.99222,9.88347,9.84184,9.77197,9.55501,9.67768,9}
我想使用List<LatLng>
LatLng[i] = (pointX[i], pointY[i])
我有以下代码,但它不起作用:
List<LatLng> points;
for (int i = 0 ; i < pointX.length - 1; i++){
points[i].add(LatLng(pointX[i],pointY[i]));
};
我怎么做?
答案 0 :(得分:4)
List<LatLng> points=new ArrayList<LatLng>();
for (int i = 0 ; i < pointX.length; i++){
points.add(new LatLng(pointX[i],pointY[i]));
};
答案 1 :(得分:2)
首先,您似乎未能初始化points
变量 - 您需要调用构造函数new ArrayList<>()
。
您也错误地添加到循环中的列表中,并且没有为您尝试放入列表中的每个新点在循环内初始化新的LatLng
。
以下内容应该有效:
List<LatLng> points = new ArrayList<LatLng>();
for (int i = 0 ; i < pointX.length; i++){
points.add(new LatLng(pointX[i],pointY[i]));
}
然后,您可以按如下方式访问列表中的对象:
//Some variable to determine which point you require
int x = 0;
LatLng latlng = points.get(x);
答案 2 :(得分:2)
在添加数据之前,您刚刚初始化了ArrayList
List<LatLng> points=new ArrayList<LatLng>();