0
私は1800項目のカスタムマーカーアイコン(ビットマップとテキストビュー)で地図を作成しようとしています。私はいくつかのマーカーの作成後に私のアプリケーションが閉じられているので、私はメモリのエラーが出ている。 どうすればいいですか?ここ は私のコード私のコードの一部です: はすべてにありがとうさようならカスタムビットマップアイコンで2kマーカーを追加する方法android v2 maps
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE)
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
mMap.getUiSettings().setZoomControlsEnabled(true);
mMap.getUiSettings().setCompassEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
mMap.getUiSettings().setRotateGesturesEnabled(true);
mMap.getUiSettings().setScrollGesturesEnabled(true);
mMap.getUiSettings().setTiltGesturesEnabled(true);
mMap.getUiSettings().setZoomGesturesEnabled(true);
mMap.setMyLocationEnabled(true);
start();
}
public void start() {
new BackgroundTask().execute();
}
private class BackgroundTask extends AsyncTask<Void, Integer, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
progress.setProgress(0);
progress.setMessage("Loading");
progress.show();
cursor.moveToFirst();
}
@Override
protected String doInBackground(Void... arg0) {
try {
if (cursor.moveToFirst())
{
do {
nome = cursor.getString(cursor.getColumnIndex(LocalDbManage.KEY_NOME));
lati = cursor.getString(cursor.getColumnIndex(LocalDbManage.KEY_LATI));
longi = cursor.getString(cursor.getColumnIndex(LocalDbManage.KEY_LONGI));
prezzo = "€ "+cursor.getString(cursor.getColumnIndex(LocalDbManage.KEY_PREZZO));
id = cursor.getString(cursor.getColumnIndex(LocalDbManage.KEY_CONTACTID));
final double latitude = Double.parseDouble(lati);
final double longitude = Double.parseDouble(longi);
iconFactory.setRotation(90);
iconFactory.setStyle(IconGenerator.STYLE_ORANGE);
addIcon(iconFactory, prezzo, new LatLng(latitude, longitude));
runOnUiThread(new Runnable() {
@Override
public void run() {
final MarkerOptions markerOptions = new MarkerOptions().
icon(BitmapDescriptorFactory.fromBitmap(iconFactory.makeIcon())).
position(new LatLng(latitude, longitude)).
anchor(iconFactory.getAnchorU(), iconFactory.getAnchorV());
mMap.addMarker(markerOptions);
}
});
} while (cursor.moveToNext());
} else
{
System.out.println("ERROR"); // viene eseguito l'else
}
Thread.sleep(1200);
} catch (InterruptedException e) {
}
return "Lavoro Terminato!";
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
progress.dismiss();
}
}
private void addIcon(IconGenerator iconFactory,String text, LatLng position) {
MarkerOptions markerOptions = new MarkerOptions().
icon(BitmapDescriptorFactory.fromBitmap(iconFactory.makeIcon())).
position(position).
anchor(iconFactory.getAnchorU(), iconFactory.getAnchorV())`
}
EDIT:!今、私はそれが何を意味するのか分からない「小包ブロブにビットマップをコピーできませんでした」のgettinよ..私を助けてください! 感謝の
あなたが回答を展開し、適切なコードの代わりにリンクしてポストを更新する必要があります – Prasad