0

我想将上下文操作栏菜单的显示与来自 Google Maps API v2 的信息窗口同步。我遇到的主要问题是似乎没有办法可靠地监视信息窗口的状态,并且两个 UI 部分很容易不同步。

到目前为止,这大致是我所拥有的:

private ActionMode mActionMode;
private ActionMode.Callback mActionModeCallback 
  = new ActionMode.Callback() { ... };

public boolean onMarkerClick(Marker marker) {
    if (mActionMode != null) {
        // This case should occur if the user taps an already selected marker.
        mActionMode.finish();
        return false;
    }

    // Start the contextual actionbar using the ActionMode.Callback defined above
    mActionMode = this.startActionMode(mActionModeCallback);
    return false;
}

public void onMapClick(LatLng point) {
    // Clicking the map normally only closes any info windows.
    // We must close the contextual action bar menu as well.
    if (mActionMode != null)
        mActionMode.finish();
}

主要问题似乎是在显示信息窗口时单击标记本身时不会调用它onMarkerClickonMapClick这种交互仍然足以关闭信息窗口......

如果有人有更可靠的方法来跟踪信息窗口的状态或监控那些丢失的点击事件,我会很高兴听到!

4

1 回答 1

0

gmaps api v2 仍然缺少许多存在于 flash 和 javascript api 中的组件,所以在快速浏览后我不确定他们是否有您正在寻找的合适的侦听器。

最好的办法是在此处添加功能增强或错误报告:

http://code.google.com/p/gmaps-api-issues/issues/list?can=2&q=apitype%3AAndroid2

于 2013-02-22T20:32:19.380 回答