GMSMapView animateToCameraPosition 放大-缩小动画

2023-11-25

我在 iOS (Swift) 和 Android 中使用 Google 地图服务。在android中,地图视图有一个方法叫做animatreCamera它有一个动画,其中运动具有“缩小 - 放大”效果(如果两个摄像机具有相同的变焦,则地图视图将缩小运动的第一部分,然后放大第二部分)。我想用GMSMapView在iOS中,我尝试过以下方法:animateToCameraPosition, animateToLocation, animateWithCameraUpdate, moveCamera并通过设置相机mapView.camera = GMSCameraPosition(target: location, zoom: 15, bearing: 0, viewingAngle: 0)而且他们都没有这个动画。如果可以的话,如何在移动相机时实现这个动画?


我认为没有直接的方法可以在 Google Maps iOS SDK 中存档相同的动画。

解决方法可以使用 iOS 的dispatch_after方法,首先你可以定义一个方法来延迟你想要的秒数:

func delay(#seconds: Double, completion:()->()) {
    let popTime = dispatch_time(DISPATCH_TIME_NOW, Int64( Double(NSEC_PER_SEC) * seconds ))

    dispatch_after(popTime, dispatch_get_main_queue()) {
        completion()
    }
}

然后您可以缩小相机,移动到某个位置,然后用delay method:

delay(seconds: 0.5) { () -> () in
    var zoomOut = GMSCameraUpdate.zoomTo(kGMSMinZoomLevel)
    mapView.animateWithCameraUpdate(zoomOut)

    delay(seconds: 0.5, { () -> () in
        var vancouver = CLLocationCoordinate2DMake(49.26,-123.11)
        var vancouverCam = GMSCameraUpdate.setTarget(vancouver)
        mapView.animateWithCameraUpdate(vancouverCam)

        delay(seconds: 0.5, { () -> () in
            var zoomIn = GMSCameraUpdate.zoomTo(kGMSMaxZoomLevel)
            mapView.animateWithCameraUpdate(zoomIn)

        })
    })
}

你用你自己的缩放值,我用kGMSMinZoomLevel and kGMSMaxZoomLevel here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GMSMapView animateToCameraPosition 放大-缩小动画 的相关文章

  • Swift - UICollectionView 重复(重复)单元格

    你好 我有一个数组 其中包含从 flickr 获取的 100 张图片 url 当我使用 UICollectionView 时 我显示 100 个单元格 屏幕上只有 8 个单元格 当我向下滚动查看下一个 8 个单元格时 它们与前一个单元格相同
  • Python for ios解释器[重复]

    这个问题在这里已经有答案了 可能的重复 iOS 上的 Python 或 Ruby 解释器 https stackoverflow com questions 4772591 python or ruby interpreter on ios
  • 快速重写函数错误

    我有一个结构 struct ErrorResultType ErrorType var description String var code Int 和一个协议 protocol XProtocol func dealError erro
  • UITextField 的自定义字体在编辑模式下发生变化

    我有一个UITextField这是从 xib 加载的 在它的视图控制器中viewDidLoad方法中 我将字体设置为自定义值 该值在 plist file和所有 它显示良好 除非处于编辑模式 此时字体从我的自定义字体切换为默认字体 我认为这
  • Swift 和 inout 参数中闭包的变量捕获

    我注意到 当 Swift 中的闭包捕获变量时 闭包实际上可以修改该值 这对我来说似乎很疯狂 也是一种获得可怕错误的绝佳方法 特别是当同一个 var 被多个闭包捕获时 var capture Hello captured func g thi
  • 如何在 IOS safari 上禁用缓存?

    有没有办法禁用 ipad iphone 上的缓存 我想针对非缓存体验运行一些自动化测试 我刚刚偶然发现了一种在 iOS 上禁用 Safari 缓存的方法 iOS Open Settings 导航Safari gt 高级 Enable 网页检
  • 如何将 WKUIDelegate 实现到 SwiftUI WKWebView 中?

    我正在 Xcode v11 上创建一个 Web 应用程序 但在实现 WKUIDelegate 来显示 Javascript 警报并在 Web 应用程序上正确确认时遇到问题 我在 ContentView swift 上得到了一个非常简单的 w
  • 在覆盖 UIView 的右下角创建四分之一透明孔

    您好 我想在覆盖 UIView 的右下角创建一个四分之一透明孔 我可以使用下面的代码解决它 但它看起来不正确 因为我在视图之外创建了一个矩形 我尝试过的 implementation PartialTransparentView id in
  • 如何改善 ARKit 3.0 中的人物遮挡

    我们正在开发一个使用 ARKit 中的人物遮挡的演示应用程序 因为我们想在最终场景中添加视频 所以我们使用SCNPlanes 使用 a 渲染视频SCNBillboardConstraint以确保他们面向正确的方向 这些视频也是部分透明的 使
  • 访问 UserDefault 数组 URL 以填充 CollectionView

    这是上一篇文章的后续内容here https stackoverflow com questions 48142238 save and append an array in userdefaults from imagepickercon
  • didReceiveRemoteNotification 将用户带到正确的视图

    我有一个聊天应用程序 当发送新消息时 我的服务器会发送推送通知 我遇到的问题是如何将用户带到正确的视图 我正在发送一个channelID在推送通知中 但我如何检索它并将用户带入实际对话 我使用此代码来检测何时单击推送通知 void appl
  • 在 iOS Swift 2 中实现“阅读更多”按钮以展开 UITextView 的最简单方法?

    我希望实现一个 阅读更多 按钮 该按钮将扩展 UITextView 以便有人可以根据需要阅读整个文本 我还没有找到一种简单的方法来实现这一目标 我尝试 玩弄 容器的高度 但它没有给我想要的结果 我真的很感激任何想法 我会推荐你 ilyapu
  • 我可以在 Swift 3 项目中使用 Swift 2.3 框架吗?

    在我的项目中 我将所有私有 swift 2 3 文件迁移到 swift 3 我想使用用 swift 2 3 编写的遗留框架 直到它们有 swift 3 版本 我尝试添加 使用旧版 Swift 版本 是 清除 构建我的项目 但我仍然遇到一些麻
  • 如何为整个 iOS 应用程序设置自定义字体而不指定大小

    我正在尝试在整个我的应用程序中应用自定义字体iOS app 我发现我可以使用 UILabel appearance setFont UIFont fontWithName Proxima Nova size 17 0 设置所有的默认字体和大
  • Swift :基于 nsdate() 解析、查询日期字段

    我正在尝试检索今天添加的记录进行解析 但查询不返回任何结果 我怎样才能让查询返回基于今天日期的结果 let now NSDate var query PFQuery className userBids query whereKey dat
  • 如何在UiView中添加UIImagePickerController

    如何在TabBarApplication中的UiView中添加UIImagePickerController 无论您是否在选项卡中 此代码都会进入您视图的 ViewController 类 当您需要时创建一个选择器 UIImagePicke
  • 将UIWebView显示的PDF保存到本地

    我有一个UIViewController与UIWebView显示一个 pdf 文件 具体取决于之前单击的行UITableView 现在我想添加一个按钮 供用户在本地保存此 pdf 文件以供离线使用 然后还有第二个UITableView它应该
  • Google Cardboard - Cardboard VR 套件有 iPhone / iOS 入门项目吗?

    我正在看Google Cardboard 套件 一种廉价的 VR 设置 https developers google com cardboard 使用 Android 设备玩 3d VR 游戏 我看到他们有一个 Android 演示项目
  • “不能在集合中使用 in/contains 运算符”

    单击搜索栏时出现此错误 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 无法在集合中使用 in contains 运算符 Assignment 4 SearchResult studentID
  • 有没有办法从 Instruments (Xcode) 的命令行实例中删除授权提示?

    我目前正在通过 bash 脚本使用 Instruments 来启动命令行界面以启动自动化插件的运行 在 4 2 中 这工作得很好 但是随着升级到 Xcode 4 3 我现在被提示需要授权用户 分析其他进程 即使授予了正确的凭据 也不会真正对

随机推荐

  • 模拟器中的 iOS 6 自动旋转与实际 iOS 6 设备不同

    我的应用程序不会在 iOS 6 GM 模拟器中自动旋转 但它会在设备上的相同版本的 iOS 中自动旋转 这可能是模拟器的错误吗 该应用程序正在使用已弃用的自动旋转方法 但它们在设备本身上运行良好 这让我想知道模拟器 API 是否不同 它应该
  • Qt SDK、Apwrapper:它是什么,它有什么作用。

    我已阻止 Visual Studio 的网络连接 使用 Visual Studio 添加安装 Qt SDK 后 我收到一条错误消息 无法连接到 AppWrapper 卸载了 SDK 并且不再尝试连接到 AppWrapper 随 Qt 安装的
  • 关于未引用变量的 JavaScript 闭包

    我知道有关闭包的精彩帖子here and here 但似乎都没有解决我想到的具体情况 这个问题最好用代码来证明 function foo var x var y whatever return function bar alert y va
  • Python 解释器如何在动态类型中工作?

    我读过这个问题 但它没有给我明确的答案 Python解释器如何寻找类型 python解释器如何知道变量的类型 我不是在寻找如何获得类型 我在这里看看幕后发生的事情 在下面的示例中 它如何将类 int 或 string 与我的变量关联起来 它
  • jQuery 图像加载回调

    加载后动态地将图像添加到页面 然后进行用户交互 并且在该图像完全加载后启动功能时遇到问题 我认为使用 jQuery load 方法会很好 但是根据我的控制台和一堆文档 log它从未执行过的业务 见下文 谢谢 body append img
  • 为什么“即使有不同的条件界限,也不能有多个一致性”?

    我希望 Swift 能够让我为具有指定条件的类型创建扩展where堵塞 我想象我可以根据具体的泛型类型值使用不同的扩展来扩展相同的泛型类型 T 但不是 以下示例演示了我的问题 protocol P associatedtype Prop v
  • 线裁剪为任意二维多边形

    如果我得到一条足够长的线段来穿过给定的多边形 该多边形可能是凹多边形或凸多边形 我如何找到多边形中包含的所有相交的光段 如果目标区域不是多边形 而是隐式曲线函数或样条曲线 怎么办 Thanks 对于您的问题确实没有简单的解决方案 尤其是曲线
  • 如何在 Windows XP 中写入 I/O 端口? (德尔福7)

    我试图写入端口 0x60 和 0x64 但没有成功 德尔福代码 procedure PortOut IOport WORD Value BYTE assembler register asm XCHG DX AX OUT DX AL end
  • 计数器每次都会初始化?

    我尝试制作一个简单的计数器 然而我的计数器没有上升 在我看来 好像它们每次都被函数 inc 重新初始化 或者可能 n 1 不起作用 我该如何最好地解决这个问题 inc Int gt IO Int inc n return n 1 main
  • 使用 python 保存换行符分隔的 json(又名 linejson、jsonlines、.jsonl 文件)的模式

    使用 Python 我将 json 文档保存到单独的行中 如下所示 from bson import json util pymongo with open test json ab as f for document in documen
  • Delphi IDE 有 git 插件吗?

    是否有一些不错的 git 集成可以让 Delphi IDE 2010 的工作变得更轻松 您可以使用乌龟Git在 Delphi IDE 2007 及更高版本中 通过文件浏览器功能 TortoiseGit 集成到 Windows 资源管理器中
  • 从活动目录获取用户的密码

    是否可以获取计算机所加入的活动目录上的帐户密码 我知道这听起来可能是一件危险的事情 但我想使用管理员用户的用户 ctx 启动一个进程 而不需要硬编码密码 我正在使用 NET 3 5 SLaks 我知道你是主持人 但在这里 这不是正确的答案
  • 将一张图像移动到另一张图像内

    背景 我允许用户上传蒙版图像内的图像 一旦用户上传图像 我就填充用户上传里面的图像mask image 1 遮罩图像 2 用户上传的图片 3 用户上传的面具图像 最终图像 代码笔 https codepen io kidsdial2 pen
  • 找出哪个进程对 USB 设备句柄具有独占锁

    我有一个使用 CreateFile API 读取 写入 USB 设备的库 该设备恰好实现了 HID 设备配置文件 因此它与 Microsoft 的 HID 类驱动程序兼容 系统上安装的其他一些应用程序正在以读 写模式打开设备 而没有共享模式
  • Firebase 功能无法部署

    我正在尝试创建 Firebase 函数 但遇到部署错误 即使在部署默认函数时也是如此helloworld功能 firebase debug log 文件提到了这一点 Could not find image for function pro
  • ASP.NET 添加一个 httphandler 来编辑下载的文件名

    我的项目中有一个页面DownloadDocument aspx它的代码隐藏是DownloadDocument aspx cs In my DownloadDocument aspx我有一个锚点 它采用如下动态链接 a style margi
  • jquery在CSS动画播放后删除类?

    我有CSS代码 body start webkit animation srcb ease in 4s 1 进入网站后只需播放一次 但问题是动画完成时 我网站上的按钮不起作用 动画完成后如何删除主体类 start 或者在动画播放后删除类延迟
  • 在 Typescript/Angular2 中显示引导箱警报? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想在我的 Angular2 项目中使用 Bootbox 我搜索了很多 但没有任何适合我的解决方案 我也尝试过angular2 modal但在使用过
  • 从 angularjs 中的另一个指令内部添加指令

    从另一个指令中添加指令会使浏览器挂起 我想做的是 1 更改自定义元素指令 例如
  • GMSMapView animateToCameraPosition 放大-缩小动画

    我在 iOS Swift 和 Android 中使用 Google 地图服务 在android中 地图视图有一个方法叫做animatreCamera它有一个动画 其中运动具有 缩小 放大 效果 如果两个摄像机具有相同的变焦 则地图视图将缩小