2

我已经在我正在构建的应用程序中组装了一个工具,该工具使用 android 上的 v2 版本的地图,当标记彼此非常接近时,它们将彼此重叠,这不是问题,但至少我希望发生什么用于绘制的最后一个标记出现在顶部。

有没有办法确保绘制的最后一个标记显示在其余标记的顶部,或者在显示紧密组合在一起的标记时,我是否受系统决策的支配。

4

2 回答 2

3

现在我刚刚结束使用

marker.showInfoWindow();

它为我提供了我想要的确切行为,即保持最后绘制的标记出现在屏幕上其他标记的最顶部。

在旁注中,它确实打开了信息窗口,但如果我真的想要,我可以设置一个自定义布局,并在特定条件下为信息窗口设置为空,但根据我的需要,窗口打开实际上效果很好。

于 2013-04-22T19:42:44.580 回答
0

正如 James 已经写的那样,显示一个 InfoWindow 就可以了。

您可以使用自己的适配器“显示”不可见的 InfoWindow:

public class InfoWindowAdapter implements GoogleMap.InfoWindowAdapter{


private final View mWindow;

public InfoWindowAdapter(Activity activity) {
    mWindow = App.activity.getLayoutInflater().inflate(R.layout.custom_info_window,
            null);
}

@Override
public View getInfoContents(Marker mark) {
    return null;
}

@Override
public View getInfoWindow(Marker marker) {
    render(marker, mWindow);
    return mWindow;
}

private void render(Marker marker, View view) {
    //do nothing
}

}

将此设置为地图:

map.setInfoWindowAdapter(new InfoWindowAdapter(activity));

并显示信息窗口:

 currentlySelectedMarker.setSnippet(" ");
 currentlySelectedMarker.setTitle(" ");
 currentlySelectedMarker.showInfoWindow();

setTitle 的调用很重要。否则 showInfoWindow() 将被忽略。

于 2015-08-21T09:00:13.140 回答