【问题标题】:How to check distance between current position and KML points using OSMDroid?如何使用 OSMDroid 检查当前位置和 KML 点之间的距离?
【发布时间】:2019-06-04 09:52:55
【问题描述】:

因此,在我的项目中,我需要每分钟检查一次用户是否处于指定 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);

有没有办法完成我想要/需要的?

提前致谢

【问题讨论】:

  • 到 KML 的距离是什么? KML 点?线串?多边形?

标签: android openstreetmap kml osmdroid


【解决方案1】:

每个 KmlPlacemark 的点列表(Point、LineString 和 Polygon)在 KmlPlacemark.mGeometry.mCoordinates 中

【讨论】:

    猜你喜欢
    • 2012-10-05
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    相关资源
    最近更新 更多