gpt4 book ai didi

android - 选择项目时充气气球

转载 作者:搜寻专家 更新时间:2023-11-01 08:14:36 26 4
gpt4 key购买 nike

我有一个 map Activity ,其中包含许多 map 图钉,当我单击一个图钉时,会打开一个自定义气球,显示有关该图钉的一些信息。另外,我有一个搜索栏,如果你输入旋钮的名称,信息就会出现在那里,但我希望它转到那个搜索到的引脚。示例: 在 map 上您有不同的蔬菜图钉,当您搜索胡萝卜时,搜索列表将显示元素胡萝卜,当您单击它时,胡萝卜图钉的气球将膨胀。 所以,我的问题 是:是否有某种 OnTap() void 方法?我知道,OnTap(int index) 返回一个 bool 值。

最佳答案

创建您自己的逐项叠加层,并覆盖 onTap 方法,并在您的主类中创建逐项叠加层的实例,并调用 overlay.onTap(point)

示例代码:

public class MyItemizedOverlay<Item> extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> m_overlays;
private MapView mapView;
final MapController mc;

public MyItemizedOverlay(Drawable defaultMarker, MapView mapView) {
super(boundCenterBottom(defaultMarker), mapView);
m_overlays = new ArrayList<OverlayItem>();
mc = mapView.getController();
populate();
}

public void addOverlay(OverlayItem overlay) {
m_overlays.add(overlay);
setLastFocusedIndex(-1);
populate();
}

public ArrayList<OverlayItem> getOverlays() {
return m_overlays;
}

public final boolean onTap(int index) {
GeoPoint point;
point = createItem(index).getPoint();
mc.animateTo(point);
return true;
}

...
}

在主类中

public class Main extends MapActivity {
private MapView mapView;
private List<Overlay> mapOverlays;
private MyItemizedOverlay overlay;
private Drawable pin;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

doAction();
}

private void doAction() {
mapView = (MapView)findViewById(R.id.map_view);
pin = res.getDrawable(R.drawable.pin);

overlay = new MyItemizedOverlay(pin, mapView);

GeoPoint point = new GeoPoint((int)(7*1E6),(int)(42*1E6));
overlayItem = new OverlayItem(point, "title", "text");

overlay.addOverlay(overlayItem);

mapOverlays = mapView.getOverlays();
mapOverlays.add(overlay);

//we tap the point here
overlay.onTap(0);
}
}

关于android - 选择项目时充气气球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6090025/

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