我有一个从输入流形成的 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 中添加每个标记的信息,如果它们在用户的一定距离内,然后将标记添加到地图上。