Piszę prostą aplikację na Androida za pomocą osmdroida, która działa online w trybie offline do teraz mogę wyświetlać mapę (online i offline), i chcę dodać nakładkę (znaczniki) na map, szukałem prostego przykładu użycia nakładki w osmdroidie i próbowałem niektórych z nich, ale nie działały, więc chcę dowolnego przykładu dodania nakładki lub marckera za pomocą osmdroidaDodawanie nakładki do MapView w osmdroidie
Odpowiedz
Spójrz na klasę ItemizedIconOverlay.
Istnieje kilka przykładów w internecie, jeśli szukać, przykładem została wysłana na przepełnienie stosu tutaj: Adding Overylay to OSMDROID
dziękuje Martinowi Pearmanowi, działa dobrze ze mną, ale zauważam, że wymaga to korzystania z Internetu, a jeśli ustawięUseDataConnection (false), to wystąpi błąd, czy może działać offline, i czy istnieją inne sposoby oznaczania punktów na mapie –
Jeśli kod działa, a nakładka jest poprawnie dodana do MapView, gdy właściwość UseDataConnection ma wartość true, ten sam kod powinien również działać, gdy parametr UseDataConnection ma wartość false. Jaki błąd pojawia się, gdy właściwość UseDataConnection ma wartość false? –
dziękuje Martinowi Pearmanowi, testuję mój kod ponownie i działa dobrze z setUseDataConnection (fałsz) Myślę, że coś było nie tak, że może próbowałem wyświetlić nakładkę w części mapy, która nie została pobrana –
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. powiększ mapView do pewnej obwiedni na osmdroidie
- 2. Wyłącz dodawanie adnotacji do MapView podczas animowania jej ramkę
- 3. Przenoszenie ikon na Android MapView
- 4. Nakładki na nakładki Qt
- 5. Android, jak narysować farbę w wolnej ręce w MapView za pomocą nakładki?
- 6. Nakładka MapView jest odcięta po powiększeniu
- 7. Dodawanie czarnej nakładki z 0,3 opacity przez UIImageView
- 8. Domyślny znacznik dla google google MAPVIEW?
- 9. Dodawanie odcienia do obrazu
- 10. Zmiana sterowania powiększeniem w MapView
- 11. Przeniesienie logo Google w MapView
- 12. Android TextView setText nakładki poprzedni Tekst
- 13. nakładki ikon w Delphi IDE
- 14. Szybkie dodawanie pojedynczej szpilki do MKMapView?
- 15. Ustawianie granic mapView
- 16. Mapview and Fragment
- 17. nakładki 3 powiększ powiększenie
- 18. Problem nakładki z Bootstrapem
- 19. Rozmiar nakładki ffmpeg
- 20. nakładki działki skrzypcowe ggplot2
- 21. Dodawanie adnotacji do MKMapView w określonej kolejności warstw
- 22. Aplikacja okna przezroczystego do nakładki w systemie Windows
- 23. Używanie przełącznika od MapView calloutAccessoryControlTapped
- 24. MapView na liście Wyświetl element
- 25. Powiększenie wydarzeń, które działają w Android Mapview
- 26. Zawsze wyświetlaj elementy sterujące powiększeniem w MapView
- 27. MapView w Fragment (Android 4.0 lub nowszy)
- 28. Jak umieścić Google MapView w UIView?
- 29. Dawanie spektrum nakładki w ramach Phaser
- 30. Należy użyć MapView lub MapFragment
Witam @AbdalwhabBakheet .... czy Twój projekt został rozwiązany właśnie teraz? Zastanawiam się, czy chciałbyś udostępnić kilka tutoriali w sieci, prawda? – gumuruh