有人知道是否可以使用Carto Mobile SDK本地化地图对象的标题吗?如果有可能,我该如何获得它?
例如,我想看“哈萨克斯坦”而不是“Казахстан”,但是对象上方的标题取决于对象所在的国家/地区语言。我想让它本地化,让我说,英语。 Click the link to see screenshot.
以防它有用并可以提供帮助:我正在使用Xamarin.iOS平台。 Carto Mobile SDK版本 - 4.0.2。
提前谢谢。
答案 0 :(得分:1)
CartoVectorTileLayer
(CartoOnlineVectorTileLayer和CartoOfflineVectorTileLayer都是它的子类)有方法 setLanguage(String),所以例如:
layer.setLanguage("en");
会给你英文语言地图。
在SDK 4.0.2 SDK和 nutiteq.osm 磁贴源中,您可以使用以下语言:local / default(在您的情况下会给出Казахстан), en ,< strong> es , de , fr , it , ru , zh (中文), tr (土耳其语)和 et (爱沙尼亚语)语言
从CARTO SDK 4.1.0和新的 carto.streets 来源,您可以使用任何OSM语言。我建议根据设备语言设置配置地图,例如:
// Android
layer.setLanguage(Locale.getDefault().getLanguage());
// iOs / Xamarin
layer.Language = Foundation.NSLocale.PreferredLanguages[0].Substring(0, 2);
如果特定名称不能以给定语言提供,该怎么办?然后默认情况下MapView将回退到“本地”语言,地图不会为空。但如果“本地”语言仍然不可读,那么我更喜欢拉丁字母名称?在SDK 4.1.0中,您可以配置主要和辅助后备语言,例如你为德国人设置了主要语言'de',然后避免使用奇怪的字母(比如希伯来语,希腊语,亚洲大部分地区)将'en'设为主要后备;只有在缺少主要和英文名称时才使用local。