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?
答案 0 :(得分:0)
mapView(_ mapView: GMSMapView, didTapInfoWindowOf marker: GMSMarker)
的{{1}}时, info window
会被多次调用。
为了避免在API命中时多次调用它,您可以使用marker
值。
Bool