Android Draw Polygon на виде карты программно, начиная с координатного массива - PullRequest
0 голосов
/ 17 октября 2019

Как можно нарисовать многоугольник на виде карты программно, начиная с массива координат String? Я имею в виду что-то вроде этого:

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)
    }
);

1 Ответ

0 голосов
/ 18 октября 2019

Я нашел решение, которое работает (но я не знаю, может ли оно быть лучшим):

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)
      );
}
...