Как проверить расстояние между текущей позицией и точками KML, используя OSMDroid? - PullRequest
0 голосов
/ 04 июня 2019

Итак, в моем проекте мне нужно каждую минуту проверять, находится ли пользователь в заданном радиусе расстояния указанного KML.

Я искал методы в KmlDocument и FolderOverlay, но ни один из них не дал мне список точек или что-либо еще для сравнения с моим текущим местоположением.

Вот как я получаю свой KML, а затем применяю наложение к карте:

KmlDocument kmlDocument = new KmlDocument();
map.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
if (trail.isDownloaded() && UtilsClass.getInstance().isNetworkAvailable(context) && trail.getFileKmlLocalPath() != null && 
!trail.getFileKmlLocalPath().isEmpty()) {
    File kmlFile = new File(trail.getFileKmlLocalPath());
    if (kmlFile.exists()) {
       kmlDocument.parseKMLFile(kmlFile);
    } else {
       kmlDocument.parseKMLUrl(trail.getFileKml()); 
    }
} else {
    kmlDocument.parseKMLUrl(trail.getFileKml());
}

FolderOverlay kmOverlay = (FolderOverlay) 
kmlDocument.mKmlRoot.buildOverlay(map, null, null, kmlDocument);
map.getOverlays().add(kmOverlay);

Есть ли способ выполнить то, что я хочу / нужен?

Заранее спасибо

1 Ответ

0 голосов
/ 17 июня 2019

Список точек для каждого KmlPlacemark (Point, LineString и Polygon) находится в KmlPlacemark.mGeometry.mCoordinates

...