Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GoogleMap iOS Swift上的触摸结束事件_Ios_Swift_Xcode8_Google Maps Sdk Ios - Fatal编程技术网

GoogleMap iOS Swift上的触摸结束事件

GoogleMap iOS Swift上的触摸结束事件,ios,swift,xcode8,google-maps-sdk-ios,Ios,Swift,Xcode8,Google Maps Sdk Ios,我正在尝试使用UIView在谷歌地图上工作。我的要求是:如果我触摸MapView,其中一个UIView将消失(动画),并且它将一直消失,直到我从MapView中释放触摸。我使用以下代码在触摸地图视图时设法从屏幕上消失UIView: func mapView(_ mapView: GMSMapView, didLongPressAt coordinate: CLLocationCoordinate2D) { self.animate() } func mapView(_ mapView: GM

我正在尝试使用UIView在谷歌地图上工作。我的要求是:如果我触摸MapView,其中一个UIView将消失(动画),并且它将一直消失,直到我从MapView中释放触摸。我使用以下代码在触摸地图视图时设法从屏幕上消失UIView:

func mapView(_ mapView: GMSMapView, didLongPressAt 
coordinate: CLLocationCoordinate2D) {
self.animate()
}

func mapView(_ mapView: GMSMapView,
idleAt position: GMSCameraPosition) {
self.collapse()
}

func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
//
}

func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) {

在拖动地图并释放{Touch-->Drag-->Lift}时,我可以使用idleAt检测手指抬起。但是如果我{Touch-->hold-->Lift},我什么都检测不到。您可以考虑<强> Uber或Ola <强>应用程序MavVIEW(例如:

< P>),可以使用GoogLMeppsGMsAppVIEW委托:< /P>
mapView.delegate = self
当谷歌地图开始移动和空闲时,将调用此函数

func mapView(_ mapView: GMSMapView, willMove gesture: Bool) {
//
}

// Touch drag and lift
func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
//
}

// Touch and lift
func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D) {
    print("yes")
}

这没有touchesEnd事件来检测手指何时离开屏幕,以便我可以返回UIView。手指离开屏幕后,“idleAt”将调用。我们已经开发了一个类似优步的应用程序,在这个应用程序中,我们使用“idleAt”来检测touchesEnd。谢谢,idleAt在提升手指时被调用。仅当I{Touch-->Drag-->Lift}时调用它。。不适用于{Touch-->Lift}情况。我需要在这两种情况下都调用它。@VipiNNegi查看我的更新答案。“didTapAt”将在{Touch-->Lift}调用,“idleAt”将在{Touch-->Drag-->Lift}调用。我真傻:(,实际上我在寻找{Touch-->hold-->Lift}而不是{Touch-->Lift},Touch>Lift只是一个简单的点击。