聪明的人:)!
故事:我有很多图层,我已添加到Android中的谷歌地图。我通过迭代添加它们 - 创建新的GeoJsonLayer并调用方法addLayerToMap()。我在 last GeoJsonLayer上创建了setOnFeatureClickListener(也许这是问题所在)。
问题:当我点击要素(LineString,Polygon)时,我只收到有关最后一层 - 多边形的信息。然后我添加了mMap.setOnPolylineClickListener(),然后点击监听器进入正确的方法 - 对于PolyLineClick中的LineString ...等,但这里又是问题 - 如何从Polyline获取有关LineString属性的信息,我添加到geoJson?
问题:为地图添加图层的最佳方法是什么,因此我可以管理点击事件并为用户显示LineString或Polygon属性?
代码示例:
geoJsonLayer.setOnFeatureClickListener(new GeoJsonLayer.GeoJsonOnFeatureClickListener() {
@Override
public void onFeatureClick(Feature feature) {
mMap.setOnPolylineClickListener(new GoogleMap.OnPolylineClickListener() {
@Override
public void onPolylineClick(Polyline polyline) {
//TODO show LineString properties
//Comes here when LineString clicked
}
});
mMap.setOnPolygonClickListener(new GoogleMap.OnPolygonClickListener() {
@Override
public void onPolygonClick(Polygon polygon) {
//TODO show Polygon properties
//Comes here when Polygon clicked
}
});
}
答案 0 :(得分:0)
找到解决方案 - 将所有图层添加到1层中,一切正常。