2017-01-18 7 views
0

Я хочу сделать некоторые вычисления для расстояния между текущим местоположением пользователя и отметками на карте (которые загружаются из файла kml), но для этого мне нужно получить доступ к маркерам 'местоположения из файла kml. Я пытался сделать это:Получение координат метки из kml

for (KmlContainer container : layer.getContainers()) { 
     if (container.hasProperty("coordinates")) { 
      LatLng from = (container.getProperty("coordinates")); 

Но (container.getProperty ("координаты")) на самом деле возвращает строку, по-видимому. Есть ли способ получить координаты как LatLng?

+0

Я не знаком с спецификациями kml, но было ли содержимое строки? Возможно, это легко разобрать на LatLng. Кроме того, возможно, это помогает (утилита утилиты kml из google) https://developers.google.com/maps/documentation/android-api/utility/kml#features – muetzenflo

ответ

1

Я считаю, что это то, что вам нужно для получения координаты как LatLng. Ниже приведен код Java для Android.

for(KmlPlacemark placemark: kmlLayer.getPlacemarks()) { 
    if(placemark.getGeometry().getGeometryType().equals("Point")) { 
     KmlPoint point = (KmlPoint) placemark.getGeometry(); 
     LatLng latLng = new LatLng(point.getGeometryObject().latitude, point.getGeometryObject().longitude); 
    } 
}