在 Google Maps Android API 中通过 onclick 选择功能

Posted

技术标签:

【中文标题】在 Google Maps Android API 中通过 onclick 选择功能【英文标题】:Selecting features by onclick in Google Maps Android API 【发布时间】:2016-05-02 01:59:16 【问题描述】:

我正在使用Google Maps android API 开发地图应用程序。我使用 Google Maps Android API Utility Library 添加 GeoJSON 层(在多边形几何中)。

String gj = loadJSONfromAssets();
GeoJsonLayer layer = new GeoJsonLayer(mMap, gj);

并且还添加了一个 WMS 图层作为 TileOverlay。我想要可选择的地图对象。例如,用户可以单击地图对象(GeoJSON 图层)并获取其属性。关于这个案例,我刚刚发现只有像 Point, Polyline, Polygon 这样的对象可以有点击事件。我的问题是:如何为层(GeoJSON 层)中的所有对象设置此事件。

【问题讨论】:

你是怎么解决这个问题的? 【参考方案1】:

我发现https://github.com/googlemaps/android-maps-utils/blob/master/demo/src/com/google/maps/android/utils/demo/GeoJsonDemoActivity.java 提供的示例具有点击监听功能

// Demonstrate receiving features via GeoJsonLayer clicks.
    layer.setOnFeatureClickListener(new GeoJsonLayer.GeoJsonOnFeatureClickListener() 
        @Override
        public void onFeatureClick(GeoJsonFeature feature) 
            Toast.makeText(GeoJsonDemoActivity.this,
                    "Feature clicked: " + feature.getProperty("title"),
                    Toast.LENGTH_SHORT).show();
        
    );

【讨论】:

这会导致图层即使在多边形之外也能拦截点击

以上是关于在 Google Maps Android API 中通过 onclick 选择功能的主要内容,如果未能解决你的问题,请参考以下文章

Android、Google Maps Android api、设置位置和地图类型

Google Maps Android API V2 检查 Google Maps 应用程序是不是被禁用

在 Google Maps Android API 中通过 onclick 选择功能

使用 Google Maps Android API v2 在两点之间绘制路径

在 Google Maps API v2 Android 中添加多个标记

是否可以在 Android 电视上使用 Google Maps Geolocation API?