在 Swift 中显示当前位置并更新 MKMapView 中的位置

2024-03-19

我正在学习如何使用新的 Swift 语言(只有 Swift,没有 Objective-C)。为此,我想用地图做一个简单的视图(MKMapView)。我想查找并更新用户的位置(就像在 Apple 地图应用程序中一样)。

我尝试了这个,但什么也没发生:

import MapKit
import CoreLocation

class MapView : UIViewController, CLLocationManagerDelegate {

    @IBOutlet weak var map: MKMapView!
    var locationManager: CLLocationManager!

    override func viewDidLoad() {
        super.viewDidLoad()

        if (CLLocationManager.locationServicesEnabled())
        {
            locationManager = CLLocationManager()
            locationManager.delegate = self
            locationManager.desiredAccuracy = kCLLocationAccuracyBest
            locationManager.requestAlwaysAuthorization()
            locationManager.startUpdatingLocation()
        }
    }
}

请你帮助我好吗?


你必须覆盖CLLocationManager.didUpdateLocations(CLLocationManagerDelegate 的一部分)在位置管理器检索当前位置时收到通知:

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    if let location = locations.last{
        let center = CLLocationCoordinate2D(latitude: location.coordinate.latitude, longitude: location.coordinate.longitude)
        let region = MKCoordinateRegion(center: center, span: MKCoordinateSpan(latitudeDelta: 0.01, longitudeDelta: 0.01))
        self.map.setRegion(region, animated: true)
    }
}

注意:如果您的目标是 iOS 8 或更高版本,则必须包含NSLocationAlwaysUsageDescription or NSLocationWhenInUseUsageDescription键入您的 Info.plist 以使定位服务正常工作。

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

在 Swift 中显示当前位置并更新 MKMapView 中的位置 的相关文章

  • SwiftUI 检测用户何时截取屏幕截图或屏幕录制

    On UIViewController我们可以轻松地将观察者添加到控制器 喜欢 class ViewController UIViewController override func viewDidLoad super viewDidLoa
  • Swift 结构类型集

    说我有一个struct 可以是任何东西 struct Cube var x Int var y Int var z Int var width Int 然后我该如何创建一个Set这些点中 是否存在两个具有相同属性的对象 let points
  • 从软件查找服务返回无效结果

    我尝试通过 XCode 组织者提交 iOS 应用程序 但在身份验证后失败 组织者说 从软件查找服务返回的结果无效 我怎么解决这个问题 检查 iTunes Connect 中您的应用程序状态是否为 等待上传 您可以更改状态以按 准备上传二进制
  • 带有自定义 init 的 SwiftUI 视图

    假设我正在制作一个如下所示的自定义输入元素 struct CustomInput View Binding var text String var name String var body some View TextField name
  • Draggable Boxview 不更新 Xamarin

    我的第一个问题是框视图生成在左上角 而不是我指定的设计网格第 10 行和网格第 3 列 第二个问题在于可拖动视图 在代码本地可拖动视图的第一部分中 它正确地调用了触摸事件 但也许它没有在GUI中更新
  • iPad Safari Web Inspector 在页面加载时崩溃

    我有一个用 WordPress 制作的以视频为中心的网站 当我们在 iPad 上测试网站时 我们将其连接到 Mac 笔记本电脑并打开 safari 开发人员工具来检查是否有任何错误等 我们的主页上一切正常 但当我们转到我们添加的任何视频帖子
  • UIAlertAction 处理程序在延迟后运行

    我正在尝试将 UIAlertViews 更改为 UIAlertControllers 我为此设置了这个操作 UIAlertAction undoStopAction UIAlertAction actionWithTitle Undo St
  • Objective C 宏附加到字符串

    我认为这是一件非常简单的事情 但由于我是 iOS 开发和 Objective C 的新手 所以我无法弄清楚 define RESTFUL PATH PREFIX https gogch com gch restful define LOGI
  • 如何设置 UINavigationbar 的渐变颜色?

    我想设置UINavigationbar backgroundColor渐变颜色 我想通过颜色数组设置它以创建渐变 理想情况下 作为内部的可访问方法UINavigationBar将其颜色更改为此渐变 有什么建议么 除了手动设置图像作为导航栏的
  • 为什么我无法更改 UIBarButtonItem 的标题?

    我想改变UIBarButtonItem s title 但这段代码不起作用 void viewDidLoad self smay void smay AppDelegate apd AppDelegate UIApplication sha
  • 如何使用呼叫目录扩展来识别应用程序中的来电?

    我正在研究callKit框架 我发现通过使用呼叫目录扩展 我们可以识别来电电话号码 我的问题是如何在 iOS 应用程序中实现呼叫目录扩展来识别来电详细信息 我在 Objective C 工作 让一个数 919876xxxxx 使用此方法添加
  • UINavigationBar 滑开而不是留在原处

    我创建了演示项目来展示问题 我们在 UINavigationController 中有两个视图控制器 MainViewController这是根 class MainViewController UIViewController lazy
  • UIImageWriteToSavedPhotosAlbum 选择器语法问题

    努力让 UIImageWriteToSavedPhotosAlbum 快速工作https developer apple com library ios documentation UIKit Reference UIKitFunction
  • admob ios7错误音频框架

    我正在将 admob SDK 当前的 集成到我的上一个应用程序 IOS7 Xcode5 中 并且出现了一个新错误 在新项目上也是如此 我想我错过了一些东西 但我多次重新启动该过程 但错误仍然存 在 Undefined symbols for
  • 旋转 GPUImageTiltShiftFilter - GPUImage

    我想要一个非水平 GPUImageTiltShiftFilter 旋转 我想将其旋转到任意旋转角度 我还希望过滤器速度快 可以通过带有 UIRotationGestureRecongizer 的 UI 进行旋转 我该怎么做呢 啊 想通了 不
  • iOS Twitter NSURLErrorDomain 代码=-1012

    我正在尝试通过在我的应用程序中注册 Twitter 来获取用户的联系方式 我发现this https github com malcommac DMTwitterOAuthgithub上的项目看起来非常好 我只遇到一个问题 如果我使用来自
  • 如何将NSTextView的格式化内容转换为字符串

    我需要将 NSTextView 的内容从 Mac 应用程序传输到 iOS 应用程序 我使用 XML 作为传输文件格式 所以我需要将 NSTextView 的内容 文本 字体 颜色等 保存为字符串 有什么办法可以做到这一点吗 一种方法是存档
  • 如何在没有 MFMessageComposeViewController 的情况下发送和接收短信?

    我想发送和接收短信而不显示MFMessageViewController从我的申请中 有人能告诉我这怎么可能吗 不可能 除非您使用第 3 方 api 发送 接收短信
  • 共享扩展程序未出现在能够在 iPhone 上共享照片的应用程序列表中

    我正在尝试创建一个共享应用程序扩展 并按照以下来源的教程进行操作 http www technetexperts com mobile share extension in ios application overview with exa
  • GCD 与自定义队列

    我想知道这两者的性能有什么区别 dispatch async dispatch get global queue DISPATCH QUEUE PRIORITY HIGH 0 perform complex operation dispat

随机推荐

  • 获取AngularJS中的对象长度未定义

    如何获得物体的长度 在控制台中我的对象如下所示 Object 2 true 3 true 4 true length会给我不明确的 我只想得到results 3对于这个案例 var keys Object keys objInstance
  • 如何找到一条边上距离另一个点最近的点

    我正在寻找一种方法来有效地找到边缘上距离其他点最近的点 假设我知道两个点 它们是边的顶点 我可以计算穿过这些点的线的方程 计算边缘上距离平面上其他点最近的点的最佳方法是什么 我想发布一张图片 但我没有足够的声誉点 假设这条线由 x1 y1
  • 聚合列 - 如何处理不均匀的数据帧

    我想聚合每个Chr每第三行 三行的总和 然而 自从我的df不能被 3 整除 我不知道如何处理最后剩下的行 它可能只是 1 或 2 行 如果还剩下两行 我想将剩下的两行相加 Input data frame Chr c chr1 chr1 c
  • 在 Verilog 中判断总线是否包含单个 x 的最佳方法是什么?

    我有一个监控总线的测试台 总线内的一些信号 位 可以是 1 bx 由于多种原因 我需要知道总线内是否有任何信号是 1 bx 如果总线包含任何 x 测试 不用于综合 仅用于模拟目的 的最佳方法是什么 我曾希望我可以使用减少或然后使用 但这似乎
  • NoMethodError 未定义方法“link_to_function”

    我将 ActiveAdmin 添加到我的应用程序中 更新了一些 gem 现在我得到了undefined method link to function 查看用户显示页面时 我有will paginategem 和我添加了一个初始化程序 所以
  • 当我尝试变换此播放器控制器时,它只是重置到原始位置

    这是我现在使用的播放器控制器的简化版本 它仍然会产生如下错误 using UnityEngine using UnityStandardAssets CrossPlatformInput using UnityStandardAssets
  • GIT 后接收挂钩未检出子模块

    我一直在开发 Kohana 3 项目 该项目是我不久前使用下载的 zip 文件安装的 我的远程服务器 project git 上有一个 git 存储库 它检查对我测试应用程序的工作目录 public html 的最新提交 我的接收后挂钩文件
  • 同步块——锁定多个对象

    我正在建模一个游戏 其中多个玩家 线程 同时移动 玩家当前所在位置的信息被存储两次 玩家有一个变量 hostField 它引用棋盘上的一个字段 每个字段都有一个 ArrayList 存储当前位于该字段的玩家 我对拥有冗余信息这一事实不太满意
  • min-height:100% 不起作用,因为我也想要它

    我有一个容器 div 包含 3 个 div 一个侧边栏 一个内容和一个标题 而内部的所有元素均按应有的方式呈现 如果这可能会影响我的问题 则它们被定位为 相对 侧边栏和内容使成为min height 100 根据我的需要 包含它们的 div
  • 如何在 Bash 中添加到流之前?

    假设我在 bash 中有以下命令 one two one运行很长时间产生输出流并且two对该流的每一行执行快速操作 但是two除非它读取的第一个值告诉它每行要读取多少个值 否则根本不起作用 one不输出该值 但我提前知道它是什么 假设它是1
  • 检查上传文件的类型

    如何检查使用上传的文件的文件类型FileUploaderASP NET C 网页中的控件 我尝试检查文件扩展名 但当 JPEG 图像 例如Leonardo jpg 被重命名为具有 PDF 的扩展名 例如Leonardo pdf I trie
  • 为什么在函数内部使用 let 声明的某些变量在另一个函数中可用,而其他变量则导致引用错误?

    我不明白为什么变量在函数内声明时表现得如此奇怪 In the first我声明的函数let变量b and c与价值10 b c 10 In the second我显示的功能 b c 这表明 10 10 Also in first我声明的函数
  • 在 C++ 中“stable_sort()ing”STL

    我认为问题标题足够清楚 is is possible to stable sort a std list in C 或者我必须将其转换为 std vector 吗 我问这个问题是因为我尝试了一个简单的示例 它似乎需要 RandomAcces
  • 我怎样才能在android中重复周一、周二和周五的闹钟

    如何在 Android 中仅在周一 周二和周五重复闹钟 Intent myIntent new Intent getApplicationContext x class PendingIntent pendingIntent Pending
  • 如何在类模板之外定义嵌套成员模板?

    考虑以下类模板 template
  • 如何从字典中随机选择一个项目?

    我是一个 python 初学者 试图制作二十一点游戏 并且一直不断收到有关此代码的多个关键错误 def rank rank rank 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 Jack 10 King 10
  • 使用新的 Spring UriComponentsBuilder 进行 URL 编码

    我正在尝试使用 spring 的 UriComponentsBuilder 来生成一些用于 oauth 交互的 url 查询参数包括回调url 带空格的参数值等实体 尝试使用 UriComponentBuilder 因为 UriUtils
  • 如何创建关联矩阵

    我正在尝试创建 1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 S 1
  • 如何将RequiredFieldValidator添加到DropDownList控件?

    我有一个DropDownList与一个绑定SqlDataSource显示数据库中的值 我无法使用RequiredFieldValidator 大多数情况下 您将其视为正在验证任何其他类型的控件 但使用所需字段验证器的 InitialValu
  • 在 Swift 中显示当前位置并更新 MKMapView 中的位置

    我正在学习如何使用新的 Swift 语言 只有 Swift 没有 Objective C 为此 我想用地图做一个简单的视图 MKMapView 我想查找并更新用户的位置 就像在 Apple 地图应用程序中一样 我尝试了这个 但什么也没发生