iOS:Google Maps API - 禁用信息窗口点击事件

时间:2017-06-01 15:34:19

标签: ios swift google-maps

Google Maps api有一个didTapInfoWindowOf方法,可以检测何时点击了标记的信息窗口。

我试图在一段时间内将此事件限制为仅一次点击。

当我点击信息窗口时,我正在向后端服务器发出api调用,当我收到回复时,我会看到另一个视图。问题是用户可以多次点击此信息窗口,从而多次触发api呼叫。

有没有办法限制这个?

目前我正在使用本地定义的属性didTapWindowCount并在每次点击时限制api调用:

var didTapInfoWindowCount = 0
func mapView(_ mapView: GMSMapView, didTapInfoWindowOf marker: GMSMarker) {
        didTapInfoWindowCount += 1

        // perform api call -- limit to once until done
        if didTapInfoWindowCount == 1 {
            myAPICall {
                // on success
                didTapInfoWindowCount = 0
            }
        }
    }

我想知道是否有解决方法或是否内置了API?

1 个答案:

答案 0 :(得分:0)

当用户点击mapView(_ mapView: GMSMapView, didTapInfoWindowOf marker: GMSMarker)的{​​{1}}时,

info window会被多次调用。

为了避免在API命中时多次调用它,您可以使用marker值。

Bool