谷歌地图中每个标记的android不同信息窗口

时间:2013-06-23 16:58:29

标签: android maps marker

我正在使用for循环根据从数据库中检索到的位置在地图上制作标记。

我有一个带有两个TextView的布局,我想用标记的名称和地址填充(从数据库中检索)。

我尝试使用googleMap.setInfoWindowAdapter()但它所做的只是改变了所有标记的布局(这显然不是我需要的)。

那么有没有办法允许我独立更改每个标记的信息窗口?

2 个答案:

答案 0 :(得分:1)

实施onMarkerClickListener。获取标记对象如下

Marker marker = map.addMarker(new MarkerOptions().position(latLong)
            .title(string1).snippet(string2)));

单击它时,您将以重写方法获取标记。 从中获取标题和摘录如下。

@Override
public boolean onMarkerClick(Marker marker) {
    map.setInfoWindowAdapter(new MarkerAdapter(getActivity(), marker
            .getTitle(), marker.getSnippet()));
    return false;
}
祝你好运:)

答案 1 :(得分:0)

显示两行文本的最简单方法是使用内置的信息窗口支持。在每个标记上设置标题和摘要时,如果您没有设置自己的Marker,则会在点击InfoWindowAdapter后显示它们。

如果您的地址是多行文字,那么上述内容将无法正常运行,您需要提供自己的InfoWindowAdapter实施。这样做只需使用发送到MarkergetInfoContents的{​​{1}}参数:从中检索标题和摘要,然后使用getInfoWindowTextViews放入。{/ p >

当有超过2个文本显示或其他数据类型时,它甚至更复杂,但如果你需要它,请看看这个答案:Android google maps add to marker own tag