有谁知道是否可以使用 Carto Mobile SDK 本地化地图对象的标题?如果有可能,我怎样才能获得它?
例如,我希望看到“哈萨克斯坦”而不是“Казахстан”,但是对象上方的标题取决于对象所在的国家/地区语言。我想让它本地化成,让我说,英语。 点击链接查看截图。
以防万一它有用并且可以提供帮助:我正在使用 Xamarin.iOS 平台。Carto 移动 SDK 版本 - 4.0.2。
先感谢您。
有谁知道是否可以使用 Carto Mobile SDK 本地化地图对象的标题?如果有可能,我怎样才能获得它?
例如,我希望看到“哈萨克斯坦”而不是“Казахстан”,但是对象上方的标题取决于对象所在的国家/地区语言。我想让它本地化成,让我说,英语。 点击链接查看截图。
以防万一它有用并且可以提供帮助:我正在使用 Xamarin.iOS 平台。Carto 移动 SDK 版本 - 4.0.2。
先感谢您。
CartoVectorTileLayer
(CartoOnlineVectorTileLayer 和 CartoOfflineVectorTileLayer 都是它的子类)有setLanguage(String)方法,例如:
layer.setLanguage("en");
会给你英文地图。
在 SDK 4.0.2 SDK 和nutiteq.osm瓦片源中,您可以使用以下语言:本地/默认(在您的情况下会给出 Казахстан)、en、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 仅在您的主要名称和英文名称都丢失时才使用。