gpt4 book ai didi

swift - 以编程方式显示 GMSMarker 的信息窗口

转载 作者:行者123 更新时间:2023-11-30 12:16:13 25 4
gpt4 key购买 nike

我知道 SO ( Displaying info window when tapped marker in google maps iOS sdk while implementing mapView:didTapMarker: delegate method implemented ) 上已经存在与此类似的问题,但答案不适用于我的情况。

在我的 mapView(didTap:) 委托(delegate)方法中,它必须 返回 true 因为我以编程方式确定标记出现时的相机位置被点击。如果我像上面问题的答案那样返回 true, map 会自动以所选标记为中心,这是我不希望的。由于我返回 true,点击标记不会显示标记的信息窗口,而我仍然希望出现这种情况,那么有没有办法以编程方式执行此操作?

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

提前致谢。

编辑:

浏览 Google map 文档,我发现 JavaScript 中有一个方法可以满足我的要求,称为 showInfoWindow(),您可以在要显示的信息窗口的标记上调用该方法(this is the link to the documentation I'm talking about)。那么有人知道这个方法的 Swift 3 替代方案吗?

编辑:

如果我在委托(delegate)方法中返回 false,相机会立即移动到标记的位置,然后平移到我以编程方式告诉它移动到的位置。这在技术上是可行的,但它很难看且不流畅,因此我仍然需要一种方法来以编程方式显示标记的信息窗口,同时委托(delegate)方法返回 true

最佳答案

在访问谷歌的问题跟踪器和submitting a post之后,我发现mapView.selectedMarker() = marker实际上与 mapView(didTap:) 没有任何联系委托(delegate)方法,因此返回 true委托(delegate)方法中的内容对 没有影响 selectedMarker() 方法的功能

因此我只需添加 mapView.selectedMarker() = marker在自定义位置后的委托(delegate)方法中,我想将 mapView 动画设置为 true 并在返回之前,这会导致标记的信息窗口弹出,而不会干扰相机位置。

关于swift - 以编程方式显示 GMSMarker 的信息窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45405546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com