Có ai đã quản lý để sử dụng ItemizedOverlays
trong Android Beta 0.9 không? Tôi không thể làm cho nó hoạt động được, nhưng tôi không chắc mình đã làm gì sai hay chức năng này chưa có.Sử dụng ItemizedOverlay và OverlayItem Trong Android Beta 0.9
Tôi đã cố gắng sử dụng các lớp học ItemizedOverlay
và OverlayItem
. Mục đích dự định của họ là mô phỏng các điểm đánh dấu bản đồ (như đã thấy trong Google Maps Mashup) nhưng tôi đã gặp sự cố khi khiến chúng xuất hiện trên bản đồ.
Tôi có thể thêm lớp phủ tùy chỉnh của riêng mình bằng cách sử dụng kỹ thuật tương tự, chỉ là ItemizedOverlays
không hoạt động.
Khi đã triển khai ItemizedOverlay
(và ghi đè lên), việc tạo một thể hiện mới của tôi dường như hoạt động (tôi có thể trích xuất OverlayItems từ nó), nhưng thêm nó vào danh sách Lớp phủ của bản đồ không làm cho nó xuất hiện như là nó phải như thế.
Đây là mã tôi sử dụng để thêm lớp ItemizedOverlay
làm Lớp phủ vào số MapView
của mình.
// 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();
}
đâu MyItemizedOverlay
được định nghĩa là:
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;
}
}
chỉ là tôi hoặc người cuối cùng của bạn như trống? – Reno