2017-04-03 3 views
0

Mein Ziel ist es, ein TileOverlay im Mbtiles-Format und Rendering einige gemetrische Objekte (hauptsächlich Linien und Polygone) im KML-Format.So verwalten Sie Android Gmaps Overlays Reihenfolge

Das Problem ist, dass die MapBox-Map meine KML-Polygone abdeckt und ich nicht weiß, wie die Renderreihenfolge zu verwalten ist.

Via Code habe ich versucht, auf der Karte zunächst die mbtile und dann die KML-Polygone zu laden, ohne Glück.

lege ich den Code für weitere Überlegungen

 TileOverlayOptions opts = new TileOverlayOptions(); 
     MapBoxOfflineTileProvider provider = new MapBoxOfflineTileProvider("/path/to/file.mbtiles"); 
     opts.tileProvider(provider); 
     mbTileOverlay = mMap.addTileOverlay(opts); 

     KmlLayer layer = null; 
     try { 
      layer = new KmlLayer(mMap, R.raw.mypolygons, mContext); 
      layer.addLayerToMap(); 
      } catch (XmlPullParserException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

Danke für Ihre Hilfe

hier ein link zum KML wird verwendet

+0

Können Sie ein Beispiel KML teilen? – antonio

+0

link zu kml zur verfügung gestellt, danke – Fabio

Antwort

1

Die Polygone in der KML-Datei definiert haben nicht die drawOrder Eigenschaftensatz (siehe this change), so dass zIndex auf den Standardwert (0) gesetzt ist.

Wie Sie kein zIndex für Ihren definieren MapBoxOfflineTileProvider es standardmäßig auch auf 0. Versuchen Sie, Ihre TileOverlayOptions wie folgt definieren:

TileOverlayOptions opts = new TileOverlayOptions(); 
opts.zIndex(-1); 
+0

Vielen dank mann, du hast mich vor kopf kratzen gerettet: D – Fabio