Tôi đang viết một ứng dụng Android đơn giản sử dụng osmdroid hoạt động trực tuyến ngoại tuyến cho đến bây giờ tôi có thể hiển thị bản đồ (trực tuyến và ngoại tuyến) và tôi muốn thêm lớp phủ (điểm đánh dấu) vào bản đồ, tôi đã tìm kiếm ví dụ đơn giản để sử dụng lớp phủ trong osmdroid và tôi đã thử một số trong số đó nhưng chúng không hoạt động, vì vậy tôi muốn bất kỳ ví dụ nào về việc thêm lớp phủ hoặc marcker bằng cách sử dụng osmdroidthêm Lớp phủ vào một MapView trong osmdroid
Trả lời
Nhìn vào lớp ItemizedIconOverlay.
Có một vài ví dụ trên internet nếu bạn tìm kiếm, ví dụ đã được đăng tải trên Stack Overflow đây: Adding Overylay to OSMDROID
cảm ơn Martin Pearman, nó làm việc tốt với tôi nhưng tôi nhận thấy rằng nó requier việc sử dụng Internet và nếu tôi setUseDataConnection (false) sau đó một lỗi xảy ra nó có thể làm việc ngoại tuyến, và có bất kỳ cách nào khác để đánh dấu các điểm trong bản đồ –
Nếu mã hoạt động và Lớp phủ được thêm chính xác vào MapView khi UseDataConnection được đặt thành true thì mã giống nhau cũng sẽ hoạt động khi UseDataConnection được đặt thành false. Lỗi nào bạn nhận được khi UseDataConnection được đặt thành false? –
cảm ơn Martin Pearman, tôi kiểm tra mã của tôi một lần nữa và nó hoạt động tốt với setUseDataConnection (false) Tôi nghĩ rằng những gì đã sai, có lẽ tôi đã cố gắng để hiển thị một Lớp phủ trong một phần của bản đồ mà không được tải xuống –
public class mapcode extends Activity {
globalvar appState;
int stats=0;
private MapView mapView;
private IMapController mapController;
private SimpleLocationOverlay mMyLocationOverlay;
private ScaleBarOverlay mScaleBarOverlay;
ItemizedIconOverlay<OverlayItem> currentLocationOverlay;
DefaultResourceProxyImpl resourceProxy;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.map);
appState = ((globalvar) getApplicationContext());
mapView = (MapView) this.findViewById(R.id.mapview);
mapView.setTileSource(TileSourceFactory.MAPNIK);
// mapView.setBuiltInZoomControls(true); //кнопка ZOOM +-
mapView.setMultiTouchControls(true);
mapController = this.mapView.getController();
mapController.setZoom(2);
this.mMyLocationOverlay = new SimpleLocationOverlay(this);
this.mapView.getOverlays().add(mMyLocationOverlay);
this.mScaleBarOverlay = new ScaleBarOverlay(this);
this.mapView.getOverlays().add(mScaleBarOverlay);
/////////////////
resourceProxy = new DefaultResourceProxyImpl(getApplicationContext());
GeoPoint currentLocation = new GeoPoint(55.860863,37.115046);
GeoPoint currentLocation2 = new GeoPoint(55.8653,37.11556);
OverlayItem myLocationOverlayItem = new OverlayItem("Here", "Current Position", currentLocation);
Drawable myCurrentLocationMarker = this.getResources().getDrawable(R.drawable.a);
myLocationOverlayItem.setMarker(myCurrentLocationMarker);
final ArrayList<OverlayItem> items = new ArrayList<OverlayItem>();
items.add(myLocationOverlayItem);
myLocationOverlayItem = new OverlayItem("Here", "Current Position", currentLocation2);
myCurrentLocationMarker = this.getResources().getDrawable(R.drawable.a);
myLocationOverlayItem.setMarker(myCurrentLocationMarker);
items.add(myLocationOverlayItem);
currentLocationOverlay = new ItemizedIconOverlay<OverlayItem>(items,
new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
public boolean onItemSingleTapUp(final int index, final OverlayItem item) {
return true;
}
public boolean onItemLongPress(final int index, final OverlayItem item) {
return true;
}
}, resourceProxy);
this.mapView.getOverlays().add(this.currentLocationOverlay);
mapView.invalidate(); // для того чтобы маркеры появились }
- 1. OSMdroid thêm biểu tượng tùy chỉnh vào ItemizedOverlay
- 2. MapView hiển thị chi tiết lớp phủ khi nhấp
- 3. Thông tin tùy chỉnh bong bóng trên vòi cho các mục lớp phủ sử dụng osmdroid
- 4. Hiển thị nhãn văn bản/bong bóng hấp thụ đơn giản khi người dùng chạm vào Lớp phủ trong MapView
- 5. osmdroid hiển thị một lưới trống
- 6. Ứng dụng gặp sự cố khi tôi thêm lớp phủ vào mkmapview
- 7. Cố gắng thêm lớp phủ vào lỗi bản đồ
- 8. Hành vi vẽ Lớp phủ Weird khi phóng to trong MapView
- 9. Tại sao bóng của Lớp phủ MapView của tôi ở sai địa điểm?
- 10. Cách thêm lớp phủ tùy chỉnh uiimagepickerview
- 11. Làm cách nào tôi có thể tích hợp Lớp phủ Radar trên MapView?
- 12. Thêm lớp phủ nửa trong suốt vào hoạt động backround khi chạy
- 13. Chụm để thu phóng bằng Osmdroid
- 14. Android làm thế nào để vẽ sơn trong tay miễn phí trong MapView bằng cách sử dụng lớp phủ?
- 15. Các nút trên Mapview
- 16. OSMDroid PathOverlay
- 17. iOS 5 Lỗi MapKit với Lớp phủ khi zoom/pan
- 18. Lớp phủ Lớp phủ GWT Ngày và Dài
- 19. Lớp phủ một JButton qua JLabel trong Java Swing?
- 20. OpenLayers - lớp phủ HTML DIV
- 21. Lớp phủ Google Maps
- 22. Thêm phương thức vào một lớp miền
- 23. Cocos2d thêm ảnh nền vào một lớp?
- 24. Osmdroid và Pinch
- 25. Lớp phủ NSView trên NSScrollView
- 26. Lớp phủ màu đen và trắng cho một MKMapView
- 27. Lớp phủ hình ảnh trong một hình ảnh
- 28. Áp dụng một lớp phủ (bộ lọc hình ảnh) vào một Bitmap
- 29. lớp phủ html qua flash?
- 30. Thêm lớp vào gravatar img trong wordpress
hello @AbdalwhabBakheet .... dự án của bạn đã được giải quyết ngay bây giờ chưa? Tôi tự hỏi nếu bạn sẽ chia sẻ một số hướng dẫn trên mạng, phải không? – gumuruh