2017-02-27 7 views
1

マップする画像(マーカー)を約400枚追加する必要があります。画像は描画可能であり、ビットマップ画像ではありません。それを行う正しい方法ですか?マップ上に画像のセットがある場合のパフォーマンスの問題

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); 

} 

この方法では、マップが応答しなくなり、fpsが大幅に低下します。おそらくこれは地図エンジンの単なる限界です。

答えて

0

描画可能なイメージの配列を作成し、その中にすべてのイメージを格納します。

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

はその後、それらの位置によってでマップアイコンを使用。..またはループのために作成

よう

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

のようにそれはあなたを助けるかもしれませ...

関連する問題