Marcador predeterminado para android google MAPVIEW?
¿Apenas me preguntaba si hay un overlay / marcador estándar / del defecto que puedo utilizar en el MAPVIEW?
He estado buscando en la web y todos los tutoriales hablan de ampliar la superposición y poner su imagen personalizada en ella.
- ¿Cómo puedo detectar si un Android MapView ha sido panorámico o ampliado?
- Android Maps - Límite de 180 grados
- Cómo animar marcador en el mapa android api V2?
- Marcadores de mapa de escala por Zoom, Android
- Android MapView v2 Pantalla negra
¿Hay una manera más fácil? Sólo quiero tener un marcador, nada extravagante.
Saludos
James
- NullPointerException en ItemizedOverlay.getIndexToDraw
- Cómo abrir la navegación en lugar de mapview en android?
- Cómo mover iconos en un MapView de Android
- Ocultar ventana de información de marcadores en android google maps API v2
- Duración de un solo toque y largo toque en Android
- Android Mapview no carga los azulejos en HTC Desire?
- Restauración del estado de MapView en rotación y en la parte posterior
- Android: ¿Es posible dibujar una vista en la parte superior del mapa como una superposición
Si utiliza Eclipse como IDE, puede agregar un .png, por ejemplo, a sus directorios / drawable-hdpi, / drawable-ldpi, / drawable-mdpi. A continuación, puede colocar y obtener una lista de referencias a sus superposiciones algo así:
package com.practice.mapper; import java.util.ArrayList; import android.graphics.drawable.Drawable; import com.google.android.maps.ItemizedOverlay; import com.google.android.maps.OverlayItem; public class Itemization extends ItemizedOverlay<OverlayItem> { private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); public Itemization(Drawable defaultMarker) { super(boundCenterBottom(defaultMarker)); // super(defaultMarker); } @Override protected OverlayItem createItem(int i) { return mOverlays.get(i); } public void addOverlay(OverlayItem overlay) { mOverlays.add(overlay); populate(); } @Override public int size() { return mOverlays.size(); } } package com.practice.mapper; import java.util.List; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapActivity; import com.google.android.maps.MapView; import com.google.android.maps.Overlay; import com.google.android.maps.OverlayItem; import android.content.Context; import android.graphics.drawable.Drawable; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.location.LocationProvider; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.LinearLayout; import android.widget.ZoomControls; public class Mapper extends MapActivity implements LocationListener { Location presentLocation; ZoomControls z; LinearLayout linearLayout; MapView mapView; List<Overlay> mapOverlays; Drawable drawable; Itemization itemizedOverlay; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mapView = (MapView) findViewById(R.id.mapview); mapView.setBuiltInZoomControls(true); mapOverlays = mapView.getOverlays(); drawable = this.getResources().getDrawable(R.drawable.androidmarker); itemizedOverlay = new Itemization(drawable); GeoPoint point = new GeoPoint(19240000, -99120000); OverlayItem overlayitem = new OverlayItem(point, "", ""); itemizedOverlay.addOverlay(overlayitem); GeoPoint point2 = new GeoPoint(35410000, 139460000); OverlayItem overlayitem2 = new OverlayItem(point2, "", ""); itemizedOverlay.addOverlay(overlayitem2); mapOverlays.add(itemizedOverlay); } public void btnUpdateClicked(View v) { LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); LocationProvider p = lm.getProvider(LocationManager.GPS_PROVIDER); lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 20000, 1, this); List<String> enabledProv = lm.getProviders(true); Location l1 = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); Location l2 = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); Location l3 = lm.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER); Button b = new Button(this.getApplicationContext()); b.setOnClickListener(new OnClickListener(){ public void onClick(View v) { }}); lm.toString(); } @Override protected boolean isRouteDisplayed() { return false; } public void onLocationChanged(Location location) { presentLocation = location; Log.d("TEST", "New location received"); } public void onProviderDisabled(String provider) { } public void onProviderEnabled(String provider) { } public void onStatusChanged(String provider, int status, Bundle extras) { } }
Tengo la mayor parte de este código de un tutorial ya no puedo encontrar el enlace a. Las superposiciones son bastante simples de manipular. Espero que esto ayude.
Si está utilizando Google Maps Android API v2, puede utilizar el siguiente método.
mapView.getMap().addMarker(new MarkerOptions() .position(new LatLng(10, 10)) .title("Hello world"));
- Android Viewpager tinder como UI con la apariencia de la pila de tarjetas 3D
- Error de compilación de Gradle: No se pueden cargar metadatos de Maven desde https://repo1.maven.org/maven2/io/fabric/tools/gradle/maven-metadata.xml