2017-09-05 31 views
2

有誰知道是否可以使用Carto Mobile SDK本地化地圖對象的標題?如果可能的話,我如何獲得它?Carto Mobile SDK中的地圖本地化

例如,我希望看到「哈薩克斯坦」而不是「Казахстан」,但是對象上方的標題取決於對象所在的國家語言。我想讓它本地化,讓我說,英語。 Click the link to see screenshot.

以防萬一它是有用的,可以幫助:我使用Xamarin.iOS平臺。 Carto Mobile SDK版本 - 4.0.2。

預先感謝您。

回答

1

CartoVectorTileLayer(包括CartoOnlineVectorTileLayer和CartoOfflineVectorTileLayer是它的子類)的方法setLanguage(字符串)它,所以例如爲:

layer.setLanguage("en"); 

會給你的英語語言地圖。

在SDK 4.0.2 SDK和nutiteq.osm瓷磚源,您可以使用下列語言:本地/默認(會給Казахстан你的情況),ENESFRRUZH(中國),TR(土耳其)和(愛沙尼亞)作爲語言

從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'設置爲主要的回退;那麼僅當您的主名和英文名都缺失時才使用本地。