Android 13下MapSceneConfig修改地图语言失效问题确认请求
Android 13 地图Lite版本语言设置失效问题修复建议
问题详情
使用地图Lite版本时,通过MapSceneConfig将语言设置为zh_tw以显示台湾地区街道名称的功能在Android 13中失效,但在Android 11系统可正常运行。
相关实现代码
MapSceneConfig mapSceneConfig = new MapSceneConfig(); mapSceneConfig.mainLanguageCode = LanguageCode.ZH_TW; mapSceneConfig.fallbackLanguageCode = LanguageCode.ZH_TW; mapView.getMapScene().loadScene(MapStyle.NORMAL_DAY, mapSceneConfig, new MapScene.LoadSceneCallback() { @Override public void onLoadScene(@Nullable MapScene.ErrorCode errorCode) { if (errorCode == null) { mapItemsExample = new MapItemsExample(MiniActivity.this, mapView); mapObjectsExample = new MapObjectsExample(mapView); mapOverlayExample = new MapOverlayExample(MiniActivity.this, mapView); setTapGestureHandler(mapView); if (location != null) { moveCamera(new GeoCoordinates(location.getLatitude(), location.getLongitude())); Log.e("location", "moveCameraonResume"); } } else { Log.d(TAG, "onLoadScene failed: " + errorCode.toString()); } } });
问题截图

可行修复方向
- 适配Android 13语言配置机制
Android 13调整了应用语言与系统语言的交互逻辑,可在应用初始化时强制设置语言环境:
Locale twLocale = new Locale("zh", "TW"); Locale.setDefault(twLocale); Configuration config = getResources().getConfiguration(); config.setLocale(twLocale); getResources().updateConfiguration(config, getResources().getDisplayMetrics());
Android 12+建议使用createConfigurationContext创建独立配置上下文,避免影响全局设置。
升级地图SDK版本
检查当前地图Lite版本的Android 13兼容性,获取最新SDK版本,多数系统适配问题会在新版本中修复。修正语言代码格式
部分SDK对语言代码格式要求严格,尝试替换枚举值为标准格式字符串:
mapSceneConfig.mainLanguageCode = "zh-TW"; mapSceneConfig.fallbackLanguageCode = "zh-TW";
- 确认场景加载时机
确保loadScene调用在mapView完全初始化完成后执行,比如放在onMapReady回调内,避免因视图未就绪导致配置不生效。
内容的提问来源于stack exchange,提问作者Lanie
相关产品推荐
相关产品推荐

