2017-02-27 3 views
1

Sie müssen etwa 400 Bilder (Markierungen) zur Karte hinzufügen. Bilder sind Zeichen, keine Bitmap-Bilder. Ist es richtig, es zu tun?Leistungsproblem mit Bildern auf der Karte

GeoJsonSource source; 
mapboxMap.addSource(source); 

for(Item item : items){ 

     Bitmap bitmap; 
     SymbolLayer markerLayer = new SymbolLayer("layerA", sourceId); 

     markerLayer.withProperties(PropertyFactory.iconImage(imageId)); 
     markerLayer.setFilter(
       all(
         eq("id", item.getId()), 
         eq("coordinates", item.getLatLng()) 
       ) 
     ); 

     mapboxMap.addLayer(markerLayer, layerId); 
     mapboxMap.addImage(imageId, bitmap); 

} 

Mit dieser Methode reagiert Karte nicht mehr und fps sinkt deutlich. Wahrscheinlich ist dies nur eine Einschränkung der Karten-Engine.

Antwort

0

Erstellen Sie ein Array von diesen zeichnbaren Bildern, Speichern Sie alle Bilder in diesem.

wie

int[] images = new int[] {};//store all images {in here} 

dann von ihren Positionen Kartensymbole verwenden .. Oder erstellen Sie eine for-Schleife

wie

for (int i = 0;i<images.lenght;i++){ 
//apply your code here and set the images 
mapboxMap.addImage(imageId, bitmap.get[i]); 
} 

sein kann es Ihnen helfen wird ..