2017-10-05 2 views
0

personnes intelligentes :)!Google map geoJson informations sur la fonctionnalité de couche sur cliquez

Histoire: J'ai beaucoup de couches ce que j'ai ajouté à google maps dans android. Je les ajoute en itérant - en créant un nouveau GeoJsonLayer et en appelant la méthode addLayerToMap(). J'ai créé setOnFeatureClickListener sur dernier GeoJsonLayer (Peut-être voici le problème).

Problème: Lorsque je clique sur la fonction (LineString, Polygon), je reçois des informations sur le dernier calque - polygone. Puis j'ai ajouté mMap.setOnPolylineClickListener(), puis cliquez sur l'écouteur va dans les méthodes correctes - pour LineString dans PolyLineClick ... etc, mais là encore est un problème - comment puis-je obtenir des informations de Polyline sur les propriétés LineString, ce que j'ai ajouté à geoJson?

Question: Quelle est la meilleure approche pour ajouter des couches à mapper, afin que je puisse gérer les événements de clic et afficher les propriétés LineString ou Polygon pour l'utilisateur?

Exemple de code:

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 }

Répondre

0

solution Trouvé - a ajouté toutes les couches dans 1 couche et tout fonctionne bien.