Cómo establecer el número de índice en la imagen de pin de mapa
Estoy haciendo una aplicación de mapa en la que tengo 20 datos de restaurante y quiero mostrar todo el restaurante en el mapa usando overlay pin.Now mi problema real es que quiero mostrar el número de índice en todos y cada pin (por ejemplo, si 20 pin está allí, Todo pin debe ser con el índice no 1,2, 3 que representan el restaurante no de la lista). ¿Alguien puede decirme cómo puedo poner el número de índice en la única imagen pin ..? Quiero utilizar la misma imagen para la superposición
- Android WebView no se actualiza después de que el contenido de la webview ha sido modificado por JavaScript
- Transmitir una matriz de enteros desde un AppWidget a un RemoteViewsService preexistente para ser renderizado por el RemoteViewsFactory
- Obtener la posición de la imagen actual en la Galería
- No se puede cambiar el tamaño del texto del pulgar del widget SwitchCompat
- Registrar BroadcastReceiver to Widget (Diferencia de objeto de contexto)
- Comprensión y uso de un contexto
- ¿Hay alguna alternativa para ActionBar en 2.2?
- AutoCompleteTextView muestra'android.database.sqlite.SQLiteCursor@'... después de hacer la selección
- ¿Cómo saber cuándo el widget de la galería deja de desplazarse?
- Edición de la galería Android: el tamaño de la galería es mayor de lo esperado
- Problemas con appwidget appWidgetIds (instancias reales y fantasmas de widget)
- ¿Cómo configurar el enfoque para el botón de alerta de Android?
- SetTextViewText no actualizar widget
Este es un hecho que descubrí más tarde en mi proyecto: MapView
es en realidad un ViewGroup
( también mencionado aquí ). Así que en lugar de usar la superposición complicada y adjuntar elementos estirables, sólo puede crear un botón (o una vista de texto, o algún diseño anidado o lo que desee mostrar sobre un mapa), asigne una instancia de MapView.LayoutParams
y agréguela Para el MapView
.
En codigo:
// Create the overlay pin View overlayPin = getLayoutInflater().inflate(R.layout.overlay_pin, null); // Number it according to your question, eg ((TextView)(overlayPin.findViewById(R.id.overlay_text))).setText("1");
Digamos que desea colocar el pin en las coordenadas geográficas -60, 30.
// Set a layout params to the pin. overlayPin.setLayoutParams(new MapView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, new GeoPoint(-60000000, 30000000), MapView.LayoutParams.BOTTOM_CENTER); // Add the pin to the map mapView.addView(overlayPin);
De esta manera sólo puede tener un elemento gráfico para el fondo del pin y utilizar un TextView
para la numeración.
Necesita extender el método onDraw de la clase drawable y la anulación. En eso puedes usar canvas.drawText para escribir tu número en el pin.
- Android manifesto tamaño mínimo de heap de VM
- Posibilidad de agregar el encabezado de la sección desde el servidor en la vista de lista Con deslizar para eliminar y deshacer un elemento