android - 从 kml 获取地标的坐标

标签 android kml

我想计算用户当前位置与 map 上的地标(从 kml 文件加载)之间的距离,但为此我需要从 kml 文件访问标记的位置。我试图通过以下方式做到这一点:

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

但是 (container.getProperty("coordinates")) 实际上显然返回了一个字符串。有什么方法可以获取 LatLng 坐标?

最佳答案

我相信这就是您获取 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);
    }
}

关于android - 从 kml 获取地标的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41728214/

相关文章:

google-maps-api-3 - KML ARGB 颜色显示不正确

javascript - KMZ 文件会加载到 Google 地球,但不会加载到 Google map

ios - 地标 kml 信息未显示在 iOS 版 Google 地球中

java - 如何使一个 Observable 发出由 RxJava 2 中另一个 Observable 发出的组合项?

java - NoSuchMethod SmsMessage <init>?

java - 无法以编程方式在 Android L 中截取屏幕截图

postgresql - 如何将此 postgis 数据转换为我可以与 Google map /KML 一起使用的格式

android - Google Maps API 缩放以适应 KmlLayer

android - DownloadManager 内部 fragment 错误

java - 我的自定义适配器未在 fragment 中显示