Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android从坐标数组开始以编程方式在地图视图上绘制多边形_Android_Polygon_Android Mapview - Fatal编程技术网

Android从坐标数组开始以编程方式在地图视图上绘制多边形

Android从坐标数组开始以编程方式在地图视图上绘制多边形,android,polygon,android-mapview,Android,Polygon,Android Mapview,如何从坐标的字符串数组开始以编程方式在地图视图上绘制多边形?我的意思是: separated[0] = "49.89760342670385 10.878719240427015" separated[1] = "49.89755850492233 10.878766849637032" separated[2] = "49.89760558640384 10.878866761922836" separated[3] = "49.89764748456432 10.87881579995155

如何从坐标的字符串数组开始以编程方式在地图视图上绘制多边形?我的意思是:

separated[0] = "49.89760342670385 10.878719240427015"
separated[1] = "49.89755850492233 10.878766849637032"
separated[2] = "49.89760558640384 10.878866761922836"
separated[3] = "49.89764748456432 10.878815799951553"
separated[4] = "49.89760342670385 10.878719240427015"
ecc.
我需要像这样的东西:

map.addPolygon(new PolygonOptions()
.strokeColor(Color.BLUE)
.fillColor(Color.BLUE)
  for(int i=0;i<separated.length;i++) {
        String latlng[] = separated[i].split(" ");
        LatLng cooordinatePoint = new LatLng((Double.parseDouble(latlng[0])), Double.parseDouble(latlng[1]));
        add(cooordinatePoint)
    }
);
map.addPolygon(新多边形选项()
.strokeColor(颜色.蓝色)
.fillColor(颜色.蓝色)

对于(int i=0;i我找到了一个有效的解决方案(但我不知道它是否是最好的):

LatLng[]跳线=新板条[separated.length];
对于(int i=0;i=Build.VERSION\u CODES.M){
addPolygon(新polygonooptions()
.strokeColor(颜色.蓝色)
.fillColor(颜色.蓝色))
.添加(跳线)
);
}

我引用了您的代码,获得了ArrayIndexOutboundsException
LatLng[] cord = new LatLng[separated.length];

for(int i=0;i<separated.length;i++) {
     String stringTimmed = separated[i].trim();
     String[] latlng = stringTimmed.split(" ");
     LatLng cooordinatePoint = new LatLng((Double.parseDouble(latlng[0])), Double.parseDouble(latlng[1]));
     cord[i]  = cooordinatePoint;
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
      map.addPolygon(new PolygonOptions()
         .strokeColor(Color.BLUE)
         .fillColor(Color.BLUE))
         .add(cord)
      );
}