- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
请查看我的代码以从 geojson 字符串创建图层并将图层添加到 map :
private GeoJsonLayer createLayerFromGeojson(String json)
{
JSONObject ob = null;
try
{
ob = new JSONObject(json);
}
catch (JSONException e)
{
e.printStackTrace();
}
GeoJsonLayer layer = new GeoJsonLayer(googleMap, ob);
layer.addLayerToMap();
layer.setOnFeatureClickListener(feature -> Utils.showMessage(getActivity(), "Clicked", feature.getProperty("description").toString()));
return layer;
}
接下来向 map 添加 2 个图层:
String json = /*first geojson string here*/
String json2 = /*another geojson string here*/
createLayerFromGeojson(json);
createLayerFromGeojson(json2);
问题:当我点击标记或 pologon 时,总是显示取自第二个 json (json2) 的描述,即使我点击从第一层的第一个 json 创建的对象也是如此。
怎么了?有什么想法吗?
最佳答案
如果您查看方法setOnFeatureClickListener
的文档,它说:
Sets a single click listener for the entire GoogleMap object, that will be called with the corresponding Feature object when an object on the map (Polygon, Marker, Polyline) is clicked.
对我来说,我们不能拥有包含来自不同 GeoJson 的信息的多层,这似乎很愚蠢。它需要是 MultiPolygon、MultiLineString 或 MultiPoint。
关于Android 谷歌地图 GeoJsonLayer OnFeatureClickListener,多层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017057/
请查看我的代码以从 geojson 字符串创建图层并将图层添加到 map : private GeoJsonLayer createLayerFromGeojson(String json)
我是一名优秀的程序员,十分优秀!