gpt4 book ai didi

android - 单击后退按钮后谷歌地图重绘

转载 作者:行者123 更新时间:2023-11-29 22:09:56 25 4
gpt4 key购买 nike

我的应用程序中有一个带有不同标记的谷歌地图。当我点击一个标记 (onTap()) 时,会出现一个新的详细信息窗口,其中包含有关特定位置的一些信息。我的问题是,当我单击返回时,整个 map 都会重新绘制。我可以看到它,因为每次我打开信息窗口并单击后退按钮时,标记的阴影都会变暗。此外,它总是缩放回我当前的位置(-> 触发整个 onResume() 方法)。

如何避免每次都重新绘制 map ?

叠加项类:

@Override
public boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
Item item = map.get(item);

Intent intent = new Intent();
intent.setClass(mContext, SomeExampleClass.class);
mContext.startActivity(intent);

return true;
}

map 类:

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.map);

mapView = (MapView) findViewById(R.id.mainmap);
mapView.invalidate();

mapView.setBuiltInZoomControls(true);

dbZugriff = new DatabaseAccess(this);

mylocationoverlay = new MyLocationOverlay(this, mapView);
mc = mapView.getController();

}


@Override
protected void onResume() {

super.onResume();

mylocationoverlay.enableMyLocation();


mapView.getOverlays().add(mylocationoverlay);
mylocationoverlay.runOnFirstFix(new Runnable(){

@Override
public void run() {
GeoPoint myLocation = mylocationoverlay.getMyLocation();
mc.animateTo(myLocation);
mc.setZoom(16);

mapView.postInvalidate();
}

});

SharedPreferences prefs = getSharedPreferences("prefs",Context.MODE_PRIVATE);

SpecialitiesSelection specialitiesSelection = SpecialitiesSelection.loadFromPreferences(prefs, "");

Cursor resultat = dbZugriff.createCursor(specialitiesSelection);

mapOverlays = mapView.getOverlays();

List<Item> list = new ArrayList<Item>();

if (resultat.moveToFirst()){
do{

Item daten = Item.createFromCursor(resultat);
list.add(daten);

}
while(resultat.moveToNext());
}

Drawable drawable = this.getResources().getDrawable(R.drawable.ic_launcher);
itemizedoverlay = new ItemOverlay(drawable,this,list);

mapOverlays.add(itemizedoverlay);

}

最佳答案

每次您从 SomeExampleClass 按下 BACK 时,您的 onResume() 都会被调用。在 onResume() 中,您正在做所有您说过不想发生的事情。因此,将此代码移至其他位置(例如,onCreate())。

关于android - 单击后退按钮后谷歌地图重绘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9875358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com