【问题标题】:Polyline add points with for loop折线用for循环添加点
【发布时间】:2017-02-08 11:12:48
【问题描述】:

我在 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>

我将它读入一个数组,然后将其拆分为“,”并将纬度和经度坐标放入两个双数组列表中。然后我想将这些点添加到 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);

【问题讨论】:

    标签: android google-maps maps


    【解决方案1】:

    只需使用您的LatLngs 创建一个List&lt;LatLng&gt;,然后使用addAll 方法将它们添加到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);
    

    【讨论】:

      猜你喜欢
      • 2018-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多