【问题标题】:Non-ASCII title for android map markerandroid 地图标记的非 ASCII 标题
【发布时间】:2014-10-07 20:03:30
【问题描述】:

我希望能够添加一个标题只有非 ASCII 字符的标记:

        marker = map.addMarker(
            new MarkerOptions()
                .title("אני")
                .position(latlng)
        );

不幸的是,该图块没有显示,只有一个空的信息窗口。 首先我认为一般来说希伯来字符存在问题,但它们似乎很好,因为如果标题的开头有 ASCII 文本,那么它可以工作:

                .title("me אני")

但是,当希伯来语在开头时,它不会:

                .title("אני me")

【问题讨论】:

    标签: android google-maps-markers google-maps-android-api-2 non-unicode


    【解决方案1】:

    我发现了一个看似可行的 hack,但仍在等待真正的解决方案。

    如果我在标题前添加一个从左到右的 unicode 标记,无论第一个字符是 rtl 还是 ltr,它似乎都有效:

    .title("\u200e" + "אני me")
    

    【讨论】:

    • 似乎他们仍然有这个问题,即使在自定义的 InfoWindowAdapter 中也是如此。怎么会?
    • 更好的解决方案是使用自定义的 InfoWindowAdapter,并为每个 TextView 设置 android:textDirection="locale"。
    【解决方案2】:

    使用自定义的 InfoWindowAdapter,并在其中设置您认为合适的布局。

    请注意,在自定义的 InfoWindowAdapter 中使用 LinearLayout 也会导致此问题(这很奇怪)。

    尝试使用 RelativeLayout,或者,如果您有 API 17 及更高版本,请为每个 TextView 设置 textDirection,它应该可以工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 2013-09-28
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多