我在arrays.xml中有这样的坐标:
<string-array name="b26">
<item>47.183845335746227,18.408230864565329</item>
<item>47.1835746,18.4079741</item>
.
.
.
<item>47.181805616004361,18.408938496194111</item>
</string-array>
我把它读成一个数组,然后将它拆分为&#34;,&#34;并将lat和lon坐标放入两个双arraylists。然后我想将这些点添加到PolylineOptions,以便我可以绘制折线。但我标记的部分不起作用。我该怎么办?
private GoogleMap mMap;
String[] array;
String[] separated;
ArrayList<Double> lat = new ArrayList<Double>();
ArrayList<Double> lon = new ArrayList<Double>();
array = getResources().getStringArray(R.array.b26);
for(int i=0; i<array.length; i++){
separated = array[i].split(",");
lat.add(Double.parseDouble(separated[0]));
lon.add(Double.parseDouble(separated[1]));}
PolylineOptions rectOptions = new PolylineOptions()
for(int i=0; i<array.length; i++){
.add(new LatLng(lat.get(i), lon.get(i)));} <===================
rectOptions.color(Color.RED);
mMap.addPolyline(rectOptions);
答案 0 :(得分:2)
只需使用List<LatLng>
创建LatLng
,然后使用PolylineOptions
方法将其添加到addAll
:
List<LatLng> latlngs = new ArrayList<>();
for(int i=0, i<array.length, i++){
latlngs.add(new LatLng(lat.get(i), lon.get(i));)
}
PolylineOptions rectOptions = new PolylineOptions().addAll(latlngs);