Poiché l'arabo e l'ebraico stanno causando problemi, e l'inglese e il russo non lo sono, sto andando a indovinare che qualcosa è rotto nella realizzazione finestra di informazioni di default rispetto alla destra a sinistra (RTL) le lingue. In particolare se esegui i test su Android 4.2, è possibile che i contenuti della finestra di informazioni predefinite di Maps V2 abbiano applicato in modo non corretto i vari attributi correlati a RTL.
Fortunatamente, è possibile fornire i propri contenuti informazioni della finestra, mediante l'attuazione di InfoWindowAdapter
e avendo getInfoContents()
restituire il View
che si desidera utilizzare nella finestra di informazioni.
Per esempio, this sample project (da aggiornamento di domani per il mio libro) mostra la personalizzazione della finestra di informazioni utilizza questo 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);
}
}
Se si desidera sostituire l'intera finestra, si sarebbe getInfoWindow()
restituire un View
. Se getInfoWindow()
restituisce null
, getInfoContents()
viene utilizzato per i contenuti della finestra. Quindi alleghi un'istanza di InfoWindowAdapter
tramite setInfoWindowAdapter()
al numero GoogleMap
.
Nel tuo caso, puoi utilizzare il tuo layout per assicurarti di implementare correttamente RTL. Ciò dovrebbe, in linea di principio, chiarire questo problema. È ipotizzabile che Maps V2 faccia qualcosa di strano che rompa il codice RTL che normalmente dovrebbe funzionare, nel qual caso avresti bisogno di file an issue.
Può essere che Maps V2 non ha un adeguato supporto RTL. Incontri problemi con i linguaggi di LTR? – CommonsWare
Certo che non lo sono, amico. Sembra che il problema si applichi solo a i18n. –
Ancora una volta, la mia teoria non è i18n in generale, ma RTL rispetto ai linguaggi LTR. Il corretto supporto RTL è relativamente nuovo in Android e Maps V2 potrebbe averlo incasinato.È possibile utilizzare un 'InfoWindowAdapter' per creare i propri contenuti del fumetto della mappa, dove si fa un lavoro migliore rispetto agli elementi incorporati con RTL. – CommonsWare