У меня есть слой KML, который я формирую из входного потока следующим образом:
private KmlLayer layer;
inputStream = new URL("urlHERE").openStream();
layer = new KmlLayer(mMap, inputStream, getApplicationContext());
Я хочу перебрать каждый маркер в этом слое и проверить, находится ли он на определенном расстоянии от моего текущего местоположения, и отображать его только в том случае, если это так.
Это код, который я использую для получения широты/долготы маркеров.
for (KmlPlacemark placemark: layer.getPlacemarks()) {
String s = placemark.getGeometry().getGeometryObject().toString();
Log.d("placemarks",s);
String start = "(";
String end = ")";
String latlngvalue = s.substring(s.indexOf(start)+1,s.lastIndexOf(end));
String[] strngs = latlngvalue.split(",");
double placemarkerLat = Double.parseDouble(strngs[0]);
double placemarkerLong = Double.parseDouble(strngs[2]);
markerLocation.setLatitude(placemarkerLat);
markerLocation.setLongitude(placemarkerLong);
Что я хочу сделать, так это добавить информацию для каждого маркера в ArrayList, если они находятся на определенном расстоянии от пользователя, а затем добавить маркеры на карту.