2017-10-05 115 views
0

聰明的人:)!谷歌地圖geoJson層功能信息點擊

故事:我有很多圖層,我已經添加到Android的谷歌地圖。我通過迭代來添加它們 - 創建新的GeoJsonLayer並調用方法addLayerToMap()。我創建了setOnFeatureClickListener上最後 GeoJsonLayer(也許這裏是問題)。

問題:當我點擊功能(LineString,Polygon)時,我只收到有關最後一個圖層 - 多邊形的信息。然後,我添加了mMap.setOnPolylineClickListener(),然後單擊偵聽器進入正確的方法 - 對於PolyLineClick ...等LineString,但這裏又是問題 - 我怎麼能從Polyline中獲得關於LineString屬性的信息,我將其添加到geoJson中?

問題:向地圖添加圖層的最佳方法是什麼,所以我可以管理點擊事件並顯示用戶的LineString或Polygon屬性?

代碼例如:

geoJsonLayer.setOnFeatureClickListener(new GeoJsonLayer.GeoJsonOnFeatureClickListener() { 
 
\t @Override 
 
\t public void onFeatureClick(Feature feature) { 
 

 
\t \t mMap.setOnPolylineClickListener(new GoogleMap.OnPolylineClickListener() { 
 
\t \t \t @Override 
 
\t \t \t public void onPolylineClick(Polyline polyline) { 
 
\t \t \t \t //TODO show LineString properties 
 
\t \t \t \t //Comes here when LineString clicked 
 
\t \t \t } 
 
\t \t }); 
 

 
\t \t mMap.setOnPolygonClickListener(new GoogleMap.OnPolygonClickListener() { 
 

 
\t \t \t @Override 
 
\t \t \t public void onPolygonClick(Polygon polygon) { 
 
\t \t \t \t //TODO show Polygon properties 
 
\t \t \t \t //Comes here when Polygon clicked 
 
\t \t \t } 
 
\t \t }); 
 
\t }

回答

0

實測溶液 - 加入所有的層成1層和一切工作正常。