因此,在我的项目中,我需要每分钟检查一次用户是否处于指定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);
有没有办法实现我想要/需要的东西?
预先感谢
答案 0 :(得分:0)
每个KmlPlacemark(点,线串和多边形)的点列表位于KmlPlacemark.mGeometry.mCoordinates