2014-09-29 76 views
5

我需要在Google地图信息窗口上显示阿拉伯文字,每个都有自己的infowindow。如何在Google地图信息窗口中显示阿拉伯文字?

Marker marker = googleMap.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)) 
     .title(companyName).snippet(companyName)); 

     CameraPosition cameraPosition = new CameraPosition.Builder().target(
     new LatLng(latitude, longitude)).zoom(12).build(); 

     googleMap.getUiSettings().setZoomGesturesEnabled(false); 
     googleMap.getUiSettings().setCompassEnabled(true); 
     googleMap.getUiSettings().setRotateGesturesEnabled(true); 
     googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); 

     marker.showInfoWindow(); 
+0

您遇到什么问题?只要'companyName'是阿拉伯语,并且只要设备语言环境设置为阿拉伯语,我就会期望信息窗口呈现阿拉伯文字。 – CommonsWare 2014-09-29 12:36:01

回答

2

我遇到同样的问题。我刚刚发现,如果设备上的语言设置为阿拉伯语,希伯来语,波斯语或乌尔都语(即从右到左的语言)并且传递的字符串使用相同的语言,则Google Maps Android SDK 2.0标记信息窗口为空。我已经使用Android Studio检查了这一点,以确保字符串使用正确的语言。当在AS中的断点处停止时,字符串的值是正确的,但在设备的信息窗口中不存在(窗口为空)。这可能与我的特定设备没有完全支持这些语言有关,或者它可能是SDK中的一个错误(或两者兼而有之)。

+1

更新:我测试了其他一些应用程序,并且它们能够以“从右到左”的语言正确显示字符串,因此上述问题可能是由Google地图Android SDK中的错误引起的。 – 2014-10-10 01:33:59

4

那么简单的rtl语言的 当然,我认为这是错误,当你写.title(“عربی”)android显示空白infowindow。 但您应该使用此命令 .title(“\ u200e”+“عربی”)

+0

我再次测试它,这对我很有用 – aref 2015-02-09 18:38:37

+0

为我工作,谢谢! :d – elmorabea 2015-12-10 08:15:56

相关问题