是否有人设法ItemizedOverlays在Android Beta 0.9中使用?我无法使其正常工作,但是我不确定是否做错了什么或该功能尚不可用。
我一直在尝试使用ItemizedOverlay和OverlayItem类。它们的预期目的是模拟地图标记(如Google Maps Mashups中所示),但是在将它们显示在地图上时遇到了问题。
我可以使用类似的技术添加自己的自定义叠加层,只是ItemizedOverlays那是行不通的。
一旦实现了自己的ItemizedOverlay(并重写createItem),创建类的新实例就可以了(我可以从中提取OverlayItems),但是将其添加到地图的Overlay列表中并不能使它看起来像应该的那样。
这是我用来将ItemizedOverlay类作为Overlayon 添加到我的代码MapView。
// Add the ItemizedOverlay to the Map
private void addItemizedOverlay() {
Resources r = getResources();
MapView mapView = (MapView)findViewById(R.id.mymapview);
List<Overlay> overlays = mapView.getOverlays();
MyItemizedOverlay markers = new MyItemizedOverlay(r.getDrawable(R.drawable.icon));
overlays.add(markers);
OverlayItem oi = markers.getItem(0);
markers.setFocus(oi);
mapView.postInvalidate();
}
其中MyItemizedOverlay定义为:
public class MyItemizedOverlay extends ItemizedOverlay<OverlayItem> {
public MyItemizedOverlay(Drawable defaultMarker) {
super(defaultMarker);
populate();
}
@Override
protected OverlayItem createItem(int index) {
Double lat = (index+37.422006)*1E6;
Double lng = -122.084095*1E6;
GeoPoint point = new GeoPoint(lat.intValue(), lng.intValue());
OverlayItem oi = new OverlayItem(point, "Marker", "Marker Text");
return oi;
}
@Override
public int size() {
return 5;
}
}
尝试:
Drawable defaultMarker = r.getDrawable(R.drawable.icon);
defaultMarker.setBounds(0, 0, defaultMarker.getIntrinsicWidth(),
defaultMarker.getIntrinsicHeight());
MyItemizedOverlay markers = new MyItemizedOverlay(defaultMarker);
overlays.add(markers);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。