CartoVectorTileLayer
(beide CartoOnlineVectorTileLayer und CartoOfflineVectorTileLayer sind Subklassen davon) hat Methode setLanguage (String) für sie, so z.B .:
layer.setLanguage("en");
finden Sie in englischer Sprache Karten geben.
In SDK 4.0.2 SDK und nutiteq.osm Kachel Quellen Sie folgende Sprachen verwenden: local/default (geben Казахстан in Ihrem Fall), en, es, de, fr, es, ru, zh (Chinesisch), tr (Türkisch) und et (estnisch) als Sprache
Von CARTO SDK 4.1.0 und neue carto.streets Quelle können Sie OSM Sprache verwenden. Ich würde vorschlagen, Karte basierend auf Gerät Spracheinstellungen zu konfigurieren, mit etwas wie:
// Android
layer.setLanguage(Locale.getDefault().getLanguage());
// iOs/Xamarin
layer.Language = Foundation.NSLocale.PreferredLanguages[0].Substring(0, 2);
Was ist, wenn spezifischer Name nicht in der angegebenen Sprache verfügbar ist? Dann wird die MapView standardmäßig auf die 'lokale' Sprache zurückgreifen, die Map wird nicht leer sein. Aber wenn die "lokale" Sprache immer noch nicht lesbar ist, würde ich lateinische Buchstaben bevorzugen? In SDK 4.1.0 können Sie primäre und sekundäre Fallback-Sprachen konfigurieren, z. Du legst die Hauptsprache auf "de" für Deutsche, um dann seltsame Alphabete zu vermeiden (sprich Hebräisch, Griechisch, den größten Teil Asiens) setze 'en' als primären Rückfall; Dann wird local nur verwendet, wenn sowohl Ihr primärer als auch Ihr englischer Name fehlt.