gpt4 book ai didi

Android 谷歌地图 GeoJsonLayer OnFeatureClickListener,多层

转载 作者:搜寻专家 更新时间:2023-11-01 09:35:02 24 4
gpt4 key购买 nike

请查看我的代码以从 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。

引用:https://github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/data/Layer.java#L89

关于Android 谷歌地图 GeoJsonLayer OnFeatureClickListener,多层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44017057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com