gpt4 book ai didi

android - ItemizedOverlay 只显示第一个条目

转载 作者:行者123 更新时间:2023-11-30 04:40:56 25 4
gpt4 key购买 nike

我遵循了 Google Dev 上的教程创建一个 ItemSizedOverlay。我的想法是从名为 list 的 ArrayList 中获取多个位置。所以我使用 for() 来读出 ArrayList 列表并将位置添加到名为 PowerStationOverlay 的 ItemSizedOverlay - 但奇怪的是这只给我 list< 的第一个条目/strong> - 其他的没有显示在 map 上......

我在教程中读取了静态位置 - 它工作正常,但是当我通过 ArrayList 和应该迭代它的 for() 读取位置时 - 然后它不起作用。

我很困惑,我不明白这个 - 怎么了?

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
setContentView(R.layout.powerstation);
MapView mapView = (MapView) findViewById(R.id.mapview);

List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.icon);
PowerStationOverlay itemizedoverlay = new PowerStationOverlay(drawable);
ArrayList<locations.PowerStation> list = new ArrayList<locations.PowerStation>();
list = myDbHelper.getPowerStations();
int countPowerStations = list.size();
GeoPoint gp;

for(locations.PowerStation ps : list){
int lat = (int) ps.getLat();
int lon = (int) ps.getLon();

gp = new GeoPoint(lat, lon);

itemizedoverlay.addOverlay(new OverlayItem(gp, "Test", "Test"));

}

mapOverlays.add(itemizedoverlay);

这里是名为 PowerStationOverlay 的 ItemSizedOverlay。

    public class PowerStationOverlay extends ItemizedOverlay<OverlayItem>
{
Context mContext;

private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();

public PowerStationOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}

public PowerStationOverlay(Drawable defaultMarker, Context context) {
super(defaultMarker);
mContext = context;
}

public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}



@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}

@Override
public int size() {
return mOverlays.size();
}

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

return true;
}

}

最佳答案

不要在每次调用 addOverlay() 时调用 populate()。填充 ArrayList 后调用 populate()Here is a sample project证明这一点。

关于android - ItemizedOverlay 只显示第一个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007700/

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