点击Google地图geoJson图层功能信息

时间:2017-10-05 19:55:36

标签: android google-maps geojson

聪明的人:)!

故事:我有很多图层,我已添加到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
			}
		});
	}

1 个答案:

答案 0 :(得分:0)

找到解决方案 - 将所有图层添加到1层中,一切正常。