有没有办法使用内置的苹果 API 在 mkmapview 中获取方向?

2023-12-21

我知道谷歌地图被认为是最好的地图,但我不想下载一堆额外的库之类的。我更喜欢做一些快速简单的事情来获得从 A 点到 B 点的快速路线并完成它。有没有办法使用内置函数/库来做到这一点?有人能指出我正确的方向吗?

EDIT

我并不是想逐个轮流指示或任何我的情况,我只是想从开始到结束画一条线。也许可以提供有关采取哪些路线的选项。有没有办法做到?


在 iOS 7 中,您可以使用以下方式获取和显示路线MKDirectionsRequest.

以下是一些用于显示从当前位置到另一个地图项的路线的示例代码:

MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
[request setSource:[MKMapItem mapItemForCurrentLocation]];
[request setDestination:myMapItem];
[request setTransportType:MKDirectionsTransportTypeAny]; // This can be limited to automobile and walking directions.
[request setRequestsAlternateRoutes:YES]; // Gives you several route options.
MKDirections *directions = [[MKDirections alloc] initWithRequest:request];
[directions calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response, NSError *error) {
    if (!error) {
        for (MKRoute *route in [response routes]) {
            [myMapView addOverlay:[route polyline] level:MKOverlayLevelAboveRoads]; // Draws the route above roads, but below labels.
            // You can also get turn-by-turn steps, distance, advisory notices, ETA, etc by accessing various route properties.
        }
    }
}];

如果您是 iOS 7 的新手,您需要实现mapView:rendererForOverlay:任何覆盖出现的方法。就像是:

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
{
    if ([overlay isKindOfClass:[MKPolyline class]]) {
        MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithOverlay:overlay];
        [renderer setStrokeColor:[UIColor blueColor]];
        [renderer setLineWidth:5.0];
        return renderer;
    }
    return nil;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法使用内置的苹果 API 在 mkmapview 中获取方向? 的相关文章

  • 如何确定iPhone铃声的当前级别?

    我正在使用 AVSystemController 将 iPhone 铃声静音 但我不知道如何确定铃声的当前级别 有任何想法吗 PS 是的 我知道使用 AVSystemController 可能会导致应用程序被 App Store 禁止 这不
  • UISplitViewController - 推送模态视图

    使用 UISplitViewController 时推送模态视图的最佳实践是什么 您会从 RootViewController DetailViewController 还是直接从应用程序委托推送 理想情况下 我想要实现的功能是在基于某些条
  • 无法将 admob 与 firebase iOS/Android 项目链接

    我有两个帐户 A 和 B A 是在 Firebase 上托管 iOS Android unity 手机游戏的主帐户 B 用于将 admob 集成到 iOS Android 手机游戏中 我在尝试将 admob 分析链接到 Firebase 项
  • 由于语言错误,Itunes Connect 无法提交

    Thats all it shows https i stack imgur com 0aZm8 png 我不确定它没有告诉我出了什么问题 it shows its linked to the language https i stack
  • iOS中的performSelector有什么用

    的作用是什么执行选择器 比较 self btnClicked and self performSelector selector btnClicked void btnClicked NSLog Method Called 两者都对我来说工
  • iOS 8 中的 UISplitViewController 状态恢复

    在 iOS 8 上 UISplitViewController 似乎可以保存和恢复其子视图的状态 例如 主视图是否隐藏 这是不可取的 因为我的应用程序应该始终以横向方式显示主视图 并始终以纵向方式隐藏它 如果用户以横向模式关闭应用程序 保存
  • 确定 NSView 是否绘制的正确方法

    有没有正确的方法来确定是否NSView实际上是否在当前视图层次结构中绘制 考虑以下情况 视图完全在屏幕外 不是强制性的 该视图不在视图层次结构的顶部 The isHidden and isHiddenOrHasHiddenAncestor不
  • 线程 1:信号 SIGABRT - AppDelegate.h

    main m Journey Created by Julian Buscema on 2014 07 13 Copyright c 2014 Julian Buscema All rights reserved import
  • 混合静态和动态 UITableViewController 内容会导致 NSRangeException

    我一直在寻找这个错误 并找到了一些具有类似行为的帖子 但没有解决问题的解决方案 我有一个 UITableViewController 在 SB 中声明为静态 它具有以下部分 第 0 部分 配方 是静态的 有 4 个单元格 第 1 部分 口味
  • Objective C UIImagePNGRepresentation内存问题(使用ARC)

    我有一个基于 ARC 的应用程序 它从 Web 服务加载大约 2 000 个相当大 1 4MB 的 Base64 编码图像 它将 Base64 解码后的字符串转换为 png图像文件并将其保存到磁盘 这一切都是在一个循环中完成的 我不应该有任
  • 如何将音乐从我的应用程序切换到 iPod

    我在用MusicPlayerController我的应用程序中的对象来播放音乐 我知道当 iPhone ipod 应用程序终止时 可以继续播放我的应用程序音乐 我该怎么做 这涉及到一些事情 您必须在两种音乐播放器之间进行选择 应用程序音乐播
  • 对使用phonegap和钛的质疑[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近我听说了 PhoneGap 和 Titanium 移动网络应用程序的开发 我分析了这两个 Web 应用程序 并了解了如何使用它们以
  • 自定义 MKAnnotationView - 如何捕获触摸而不忽略标注?

    我有一个自定义 MKAnnotationView 子类 它完全按照我想要的方式显示视图 在那个视图中 我有一个按钮 我想捕获按钮上的事件来执行操作 这很好用 但是 我不希望标注被忽略或消失 基本上 触摸标注中的按钮将开始播放声音 但我想保留
  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • 应用程序未通过协同设计验证?

    我在提交 iPhone 申请时遇到问题 我看到了一些类似的问题 但没有找到答案 当我存档项目并单击 验证 时 收到错误消息 应用程序未通过协同设计验证 签名无效 或者未使用 Apple 提交证书进行签名 我假设我在协同设计部分做错了什么 我
  • Swift 中通过不同类调用委托方法

    我正在获取 JSON 菜单 一旦 JSON 返回 我想运行 menuReady 来更新表的内容在 SomeTableViewController 类中 但下面的代码似乎不起作用 AIM Run 菜单就绪 JSON 返回后更新内容 PROBL
  • NSPredicate 的 onFormat 字符串

    我想用 id 键对数据进行排序 我如何理解格式字符串的用途NSPredicate格式 我有一个100号的帖子 我的代码 let objectIDs posts map 0 id let predicate NSPredicate forma
  • 在 UIMenuItem 上设置accessibilityLabel

    我正在尝试设置accessibilityLabel of a UIMenuItem而且似乎没有效果 无论如何 VoiceOver 只是读取项目的标题 let foo UIMenuItem title foo action selector
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we

随机推荐

  • OOP和函数式编程之间的区别(方案)[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在观看斯坦福大学的视频课程 讲座
  • AirTable API 通过电子邮件查找记录

    我试图通过在用户表中查找用户的电子邮件来查看用户是否存在 如果不存在 那么我将插入用户 var Airtable require airtable var base new Airtable apiKey process env AIRTA
  • 部署使用 Microsoft ReportViewer 的 WinForms 应用程序时出现问题

    我已经从 Visual Studio 2010 发布了一个 WinForms 应用程序 它使用 NET 4 0 在 发布 窗格的先决条件对话框中 我选择了 NET 4 0 Client Profile 和 Windows Installer
  • 无法在 Swift 中重写 NSDictionary 的初始值设定项

    我正在尝试扩展 Swift 中的 NSDictionary 类以包含在 init 上设置的 NSDate 当我添加自定义 init 时 出现编译器错误 required 初始化程序 init dictionaryLiteral 必须由 NS
  • 如何使用 DjangoRestFramework 序列化为多个模型

    我已经定义了一个用户配置文件模型 但希望有一个 api 端点将所有用户数据保存到两个模型中 我的意思是 我正在使用用户模型 并且我有一个定义如下的用户配置文件模型 class UserProfile models Model user mo
  • 在 Dockerfile 中安装 pandas

    我正在尝试创建一个 Docker 镜像 Dockerfile 如下 Use the official Python 3 6 5 image FROM python 3 6 5 alpine3 7 Set the working direct
  • ICommand 不会使用 CanExecute 更新按钮上的 IsEnabled

    我有一个非常简单的按钮绑定到命令
  • 子属性的选择性验证 - MVC 中的 Fluent Validation

    我将 Fluent Validation 与 Ninject Web Mvc FluentValidation 库结合使用来自动连接所有验证器 并使用依赖项注入来创建验证器 我创建了以下模型 public class Parent publ
  • Oracle空条件检查''条件

    我如何比较VARCHAR2变量 哪个是空值 Oracle 不区分空字符串和 NULL 要检查变量是否为空字符串 请使用IS NULL syntax
  • 使用 Docker-Compose 时,使用 JPDA 进行远程调试不会通过 eclipse 连接到 Tomcat

    我对 Docker 很陌生 所以这可能是我做错的一些简单的事情 有了所有的解决方案 当使用 Docker run 启动 Tomcat 容器时 我已经能够使用 eclipse 进行远程调试 docker run it rm e JPDA AD
  • Grails 项目 - Eclipse 中的常见 Java 项目依赖项

    All 我们有标准的 java 项目 其中包含通用数据模型 通用 util 类等 我似乎不明白如何使我的 Grails 项目 在 Eclipse 中 依赖于工作区中的其他标准 非 Grails java 项目 当我在 Java 构建路径 中
  • 如果您不解决或拒绝承诺会怎样?

    我有一个场景 我要返回一个承诺 Promise 基本上是由 ajax 请求触发的 拒绝承诺时 它会显示一个错误对话框 表明服务器存在错误 我想要做的是 当响应代码为 401 时 我既不想解析承诺 也不想拒绝它 因为它已经显示错误对话框 我只
  • 如何使用javascript创建上传进度条

    我使用 php 将文件上传到服务器 在客户端使用 HTML 和 javascript 我想创建一个确定的进度条 显示文件上传的进度 使用javascript 看待 新鲜的 许多图书馆之一 http github com drogus jqu
  • 按代号完全引用工作表

    当我使用 CodeName 属性引用 Excel 工作表时 如何完全限定它们 包括工作簿引用 我想防止出现打开两个不同工作簿且两张工作表具有相同 CodeName 的情况 我用ThisWorkbook因为我想引用运行代码的工作簿 我想象这样
  • Goroutine 是否与其通道一起被垃圾收集?

    想象一下下面的代码 func waitForOneOfTwoProcesses c make chan bool go func time Sleep 1 time Second c lt true go func time Sleep 2
  • 始终在 ASP.NET MVC 控制器中使用异步

    我最近继承了一个ASP NET MVC项目 在该项目中 开发人员正在使用async 到处 我正在尝试评估这是否是一个好主意 具体来说 我现在正在审查控制器代码 在控制器中 开发人员编写了如下内容 public async Task
  • 如何使用 C# 解码 JSON 字符串?

    我正在寻找示例代码 lib 来使用 C 解码 JSON 字符串 要编码我可以这样做 var data new Dictionary
  • 解析 PHP 中的类、函数和参数

    我想创建一个函数 它接收一个参数 该参数保存 PHP 文件的路径 然后解析给定的文件并返回如下所示的内容 class NameOfTheClass function Method1 arg1 arg2 arg2 private functi
  • sin 和 cos 是如何在硬件上实现的?

    我一直在研究如何计算正弦和余弦 我发现了一些 标准 方法 包括查找表 CORDIC 算法和泰勒级数 我还发现大多数现代处理器都有计算三角函数的汇编指令 我想知道的是这些命令是如何工作的 所以 我的问题是 当前一代处理器使用什么特定算法来计算
  • 有没有办法使用内置的苹果 API 在 mkmapview 中获取方向?

    我知道谷歌地图被认为是最好的地图 但我不想下载一堆额外的库之类的 我更喜欢做一些快速简单的事情来获得从 A 点到 B 点的快速路线并完成它 有没有办法使用内置函数 库来做到这一点 有人能指出我正确的方向吗 EDIT 我并不是想逐个轮流指示或