2017-07-30 71 views
0

我知道在SO(Displaying info window when tapped marker in google maps iOS sdk while implementing mapView:didTapMarker: delegate method implemented)上已经有类似这样的问题,但答案不适用于我的情况。以编程方式显示GMSMarker的信息窗口

在我mapView(didTap:)委托方法,它return true因为我编程方式确定摄像机的位置时,标记被窃听。如果我喜欢上述问题的答案return true说,地图会自动居中选定的标记,我不想。由于我return true,点击一个标记不会显示标记的信息窗口,我仍然想要发生,所以有没有办法让我以编程方式做?

我不认为我的mapView(didTap:)委托方法中的代码对于回答这个问题是必要的,但如果有人需要它,请告诉我。 (请记住,我的问题问题涉及点击标记时的代表方法,而不是点击信息窗口时的代表方法,mapView(didTapInfoWindowOf:)

在此先感谢。

编辑:

通过谷歌地图文档看,我发现有你叫什么,我期待在JavaScript的所谓showInfoWindow()上要显示谁的信息窗口标记的方法(this is the link to the documentation I'm talking about)。那么有没有人知道Swift 3替代这种方法?

编辑:

如果我return false的委托方法,摄像机立即移动到标记的位置的一瞬间,然后平到位置以编程方式告诉它移动到。这在技术上是有效的,但它很丑并且不流利,所以我仍然需要一种以编程方式显示标记信息窗口的方式,而委托方法返回true

回答

0

关于谷歌的问题跟踪和submitting a post去后,我发现mapView.selectedMarker() = marker实际上并不具有对mapView(didTap:)委托方法的任何连接,在委托方法,以便返回true已经selectedMarker()方法的功能没有影响。

其结果是在委托方法定制我要的MapView动画并返回true,这会导致标记的信息窗口弹出,而不与摄像机位置搞乱之前的位置后,我可以再补充mapView.selectedMarker() = marker