2017-02-08 6 views
0

のためにポイントを追加します。ポリライン私はこのような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> 

を私は「」その後でそれを分割し、配列にそれを読んで、緯度と経度を入れては、二つの座標に二重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); 

答えて

2

だけaddAll方法使用してLatLng sのList<LatLng>を作成し、PolylineOptionsに追加:

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); 
関連する問題