Agregar Overlay a un MapView en osmdroid
Estoy escribiendo una aplicación android simple usando osmdroid que funciona en línea de forma offline hasta ahora puedo mostrar el mapa (en línea y fuera de línea), y quiero añadir superposición (marcadores) en el mapa, tuve la búsqueda de ejemplo simple para usar Overlay en osmdroid y probé algunos de ellos pero no funcionaron, así que quiero cualquier ejemplo para agregar overlay o marcker usando osmdroid
- Teclado sobre EditText en segundo clic
- Disposición de Android: coloca una vista entre dos vistas
- Android ViewPager: fragmentos superpuestos cuando el ancho de página se establece en 90%
- Mostrar un bus móvil en google maps api v2 android
- Widget flotante / superposición en el lanzador de Android
- Problema de superposición de texto en ViewFlipper ..
- Aplicación de Android: mostrar elementos de superposición en AsyncTask
- Después de eliminar los eventos de tapa de OverlayItem todavía activan
- Android: ItemizedOverlay onTouchEvent y onTap se superponen
- ICS teclado de vuelta, los botones de inicio no tomar contacto cuando se abre en la superposición
- Eliminar todas las superposiciones
- Dibujar superposición en Android (en todo el sistema)
- Almacenamiento en caché de superposiciones al redondear rectángulos de coordenadas - ¿cómo?
2 Solutions collect form web for “Agregar Overlay a un MapView en osmdroid”
Mire la clase ItemizedIconOverlay.
Hay algunos ejemplos en el Internet si usted busca, un ejemplo se ha fijado en desbordamiento de la pila aquí: Agregando Overylay a OSMDROID
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 (); // для того чтобы маркеры появились}
- Diferentes valores de configuración durante el desarrollo y la producción en Android
- Android: Dos dedos de doble toque es posible detectar con GestureDetector?