Google Maps Android API v2, título del marcador / muestra incorrecta del fragmento
Uso Google Maps Android API v2 con Android para mostrar la posición actual con marcadores cercanos. Los lugares cercanos y los títulos se reciben mediante la API de Google Places.
El problema es que los nombres no ingleses en el título / snippet se muestran en forma de error. Para la instancia, nombres hebreos.
- Cómo manejas la internacionalización para "Tu entrada 'xyz' es excelente!"
- Letras cirílicas que no se muestran en PDF generadas con iText en Android
- internacionalización en android
- Internacionalización del problema string.xml
- ¿Cómo apoyar el texto en árabe en Android?
El sreenshot se adjunta.
)
- ¿Cómo obtener dirección de texto en Android y cambiar el diseño dinámicamente de acuerdo con la dirección?
- Después de la rotación de la pantalla, se cambiará el idioma de mi aplicación
- Soporte de idioma indico para SDK pero no para PhoneGap
- Dipaly farsi texto en la web de android (para los teléfonos que no apoyan farsi)
- Chino simplificado y tradicional vs. Regiones
- Android Text-to-Speech habla cantonés con "alfabeto" por programa
- ¿Cómo puedo crear una aplicación androide multilingüe?
- Android: I18n con parámetros
Dado que el árabe y el hebreo están causando problemas, y el inglés y el ruso no lo son, voy a adivinar que algo está roto en la implementación de la ventana de información predeterminada con respecto a los idiomas de derecha a izquierda (RTL). Particularmente si está ejecutando las pruebas en Android 4.2, es posible que el contenido de la ventana de información predeterminada de Maps V2 haya aplicado incorrectamente los diversos atributos relacionados con RTL.
Afortunadamente, puede proporcionar su propio contenido de ventana de información, mediante la implementación de InfoWindowAdapter
y tener getInfoContents()
devolver la View
que desea utilizar en la ventana de información.
Por ejemplo, este proyecto de muestra (de la actualización de mañana a mi libro) muestra la personalización de la ventana de información con este InfoWindowAdapter
:
class PopupAdapter implements InfoWindowAdapter { LayoutInflater inflater=null; PopupAdapter(LayoutInflater inflater) { this.inflater=inflater; } @Override public View getInfoWindow(Marker marker) { return(null); } @Override public View getInfoContents(Marker marker) { View popup=inflater.inflate(R.layout.popup, null); TextView tv=(TextView)popup.findViewById(R.id.title); tv.setText(marker.getTitle()); tv=(TextView)popup.findViewById(R.id.snippet); tv.setText(marker.getSnippet()); return(popup); } }
Si desea reemplazar toda la ventana, tendría getInfoWindow()
devolver una View
. Si getInfoWindow()
devuelve null
, getInfoContents()
se utiliza para el contenido de la ventana. A continuación, adjuntar una instancia de InfoWindowAdapter
través de setInfoWindowAdapter()
en su GoogleMap
.
En su caso, puede utilizar su propio diseño para asegurarse de que está implementando RTL correctamente. Eso debería, en principio, aclarar este problema. Es concebible que Maps V2 haga algo extraño que rompa el código RTL que normalmente debería funcionar, en cuyo caso necesitaría archivar un problema .
Agregar más información sobre la respuesta de CommnsWare:
Desde el momento en que estoy escribiendo este elogio, parece que el mapa en sí es layout_direction="LTR"
que significa que sus títulos no se voltean en los escritorios RTL. La solución es simple:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="48dp" android:layoutDirection="locale" > .... </RelativeLayout>
Tenga en cuenta que estoy utilizando la dirección de disposición de la configuración regional y no la dirección heredada. He comentado esto en el informe de errores de Google correspondiente: https://code.google.com/p/gmaps-api-issues/issues/detail?id=5608#makechanges
He notado que este error se produce sólo en LinearLayout (que es muy extraño).
Intente RelativeLayout en su lugar, o, si tiene API 17 y superior, defina textDirection para cada una de las TextViews y debería funcionar
- Un problema con Android Studio que se ejecuta en Linux
- ¿Cómo puedo obtener un Uri en una imagen de mis activos que funcionará para la columna SearchManager.SUGGEST_COLUMN_ICON_1?