iOS |斯威夫特|谷歌地图SDK |如何显示带有动画的标记?

问题描述

我对使用 iOS 版 Google Maps SDK (Swift) 实现地图完全陌生。在显示标记(集群和单个标记)的现有 iOS 应用程序中,我必须为标记位置更改实现动画。在标记位置变化时显示动画的推荐方法是什么?如何将地图缩放到街景视图?什么时候应该使用基于相机位置的位置更新?我使用以下代码标记中创建动画:

private func changeMarkerPosition(position: CLLocationCoordinate2D) {
  //mapView is an instance of GMSMapView
  let visibleRegion = mapView.projection.visibleRegion()
  var visibleBounds = GMSCoordinateBounds(region: visibleRegion)
  if !visibleBounds.contains(position) {
    visibleBounds = visibleBounds.includingCoordinate(position)
    let update = GMSCameraUpdate.fit(visibleBounds withPadding: CGFloat(100))
    self.mapVIEW.animate(with: update)
  }
   CATransaction.begin()
   CATransaction.setAnimationDuration(1.2)
   selectedMarker.position = position
   CATransaction.commit() 
}

这里 selectedMarker 是一个需要动画化的 GMSMarker 实例。 这里面临的问题如下:

  1. 地图没有正确缩放,因为它没有缩放到街景视图。相反,它显示地图的国家级缩放。
  2. 有时标记会移出视线,作为动画的一部分在地图中不可见。

Swift 版本:5.2 谷歌地图 SDK 版本:3.10.0.0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...