MKPolylineRenderer 上的两条彩色/自定义线

2024-01-12

我正在画 x 条线MKMapView。数据是从网络服务下载的,对于每条需要绘制的线,我正在创建一个MKPolyline,将其添加到overlayArray(某些叠加层有多个折线),最后通过以下方式将该叠加层添加到地图中:

[self.mapView addOverlays:overlayArray];`

因此,调用下一个函数,效果非常好:

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay
{
    if (![overlay isKindOfClass:[MKPolygon class]]) {
        MKPolyline *route = overlay;
        MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithPolyline:route];
        renderer.strokeColor = [lineColours objectForKey:route.title];
        renderer.lineWidth = 3.0;
        return renderer;
    } else {
        return nil;
    }
}

如您所见,strokeColor得到正确的UIColor从预定义的NSMutableDictionary。这一切都按预期进行。

然而,某些线条重叠并且并不总是需要使用单一颜色。我想知道是否有一种方法可以创建一条由两种甚至三种颜色组成的线,但不是像许多健身应用程序中那样沿线渐变,而是沿线设置颜色。例如,另一种用途是绘制一条由两条白线组成的高速公路路线,中间有一条透明条。

这对于我正在开发的应用程序非常重要,因此我将在这里发布我找到的任何发现,我希望其他人也可以分享他们的想法和知识。


None

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

MKPolylineRenderer 上的两条彩色/自定义线 的相关文章

随机推荐

  • 如何在 VSCode 的默认主题中自定义 Python 的文档字符串颜色?

    有人可以向我解释一下如何在 VSCode 的默认主题中自定义 Python 的文档字符串颜色吗 我想通过用户设置来完成此操作 因为希望能够保存我的配置文件 我尝试使用 editor tokenColorCustomizations 但它会影
  • 自定义损失函数 Keras Tensorflow

    我需要一个自定义加权 MSE 损失函数 我在 keras backend 中定义了它 from keras import backend as K def weighted loss y true y pred return K mean
  • mvn 命令未被识别为内部或外部命令

    我正在得到mvn命令未被识别为内部或外部命令 我已经设置了 M2 HOME JAVA HOME 并将 M2 HOME bin 添加到路径变量中 都是系统变量 仍然遇到同样的问题 回显变量向我显示正确的路径 Maven 路径 C apache
  • 如何下载整个CRAN存储库?

    对于没有互联网的离线 Linux 机器来说 安装具有大量依赖项的 R 包是一场噩梦 我在 SE 中发现了几篇帖子 讨论如何创建本地文件夹 复制所需的包 zip 文件以及使用 install packages 进行安装 然而 查找 下载大量包
  • AngularJS:如何将数据从指令传递到控制器函数

    我正在尝试将一些数据从指令传递到函数中addTrackFromPicker在我的控制器中 scope addTrackFromPicker function message console log addTrackFromPicker me
  • 如何将成员函数指针传递给 std::function

    如何将成员函数指针传递给std function通过一个函数 我将通过比较来解释它 现场测试 http ideone com Xjxt0B template
  • 以编程方式设置 derby.system.home

    需要将 JavaDB derby db 文件的数据库和日志文件移动到部署目录中 数据库在应用程序启动目录中工作 因为 JavaDB 创建了一个名为数据库名称的文件夹 在我的例子中为 mydb 但我想将该目录移动到名为 data create
  • 在 C++ 中重新定义 template

    我一直在寻找解决我的问题的方法 但似乎找不到 我正在使用 Code Blocks 并且收到模板类的重新定义错误 这是我的 vectorAux h 文件 ifndef vectoraux h define vectoraux h includ
  • 更改控件使用的默认系统字体

    我有一个大应用程序 需要更改字体 但我不想触摸每个标签 文本字段等 如何访问 IB 和中使用的 systemFont UIFont systemFontOfSize x 我已经尝试过这个 iOS 5 对 UIAppearance 感到好奇
  • 有理由使用 is 与 as 吗? [复制]

    这个问题在这里已经有答案了 当考虑is versus as在 C 中 您可以使用任一类型来确认一种类型是否可以转换为另一种类型 using is Employee e new Manager if e is Manager var m Ma
  • JBoss EAP 6 配置单个服务器以在域模式下进行远程调试

    我有域控制器 一个主机控制器和一台服务器在同一台计算机上运行 我正在使用 IDEA 连接到远程服务器进行调试 但即使它正在运行代码 它也不会在断点处停止 我已经通过系统输出进行了验证 我已启用HOST CONTROLLER JAVA OPT
  • Electron js Electron builder mac 构建在运行时打开空白屏幕,而在使用 npm start 运行时在开发中完美运行

    我已经在 Windows 和 ubuntu 中创建了内置应用程序 该应用程序运行正常 但是当在 mac 中构建时 构建已成功创建 但它只显示白色空白屏幕 没有渲染 html 页面 而当使用 npm start 运行时 它运行得很好 我只有
  • 检查变量是否为整数[重复]

    这个问题在这里已经有答案了 如何检查变量是否为整数 如果您需要这样做 请执行 isinstance
  • React Native导入包仅在Android上

    我正在尝试仅在 Android 上导入一个包 这里是任何人都知道这是否可能的包 import ProcessingManager from react native video processing 你有两种方法 第一种方式 您可以通过创建
  • SerialDevice.FromIdAsync() 产生一个空串行端口

    当尝试连接到串行端口时 我的代码发生了一些奇怪的情况 使用时系列样品 https developer microsoft com en us windows iot win10 samples serialsample 一切正常 第一次尝试
  • 电平与边缘触发网络事件机制

    对于边缘或电平触发的某些网络事件机制 即 epoll poll select 意味着什么 简而言之 边缘触发意味着只有在检测到事件时您才会收到通知 从概念上讲 事件发生在瞬间 而电平触发意味着每当事件存在时您就会收到通知 这将是真实的 一段
  • AbortController.abort(reason),但是reason在到达fetch catch子句之前就丢失了

    我正在实施可中止的获取调用 https developer mozilla org en US docs Web API AbortController abort 中止我的页面上的提取基本上有两个原因 用户决定不再等待 AJAX 数据并单
  • mysql 连接一列中的多个值

    我需要进行一个查询 创建来自 2 个表的 3 列 这些表具有以下关系 表 1 的列 ID 与表 2 的列 ID2 相关 在表 1 中有一个名为 user 的列 在表 2 中有一个名为名称的列 可以有 1 个唯一用户 但可以有多个与该用户关联
  • ngram 的 dict 函数

    我有这样的文字 library dplyr glimpse text chr 1 11 Welcome to Wikipedia bla Discover Ekopedia the practical encyclopedia about
  • MKPolylineRenderer 上的两条彩色/自定义线

    我正在画 x 条线MKMapView 数据是从网络服务下载的 对于每条需要绘制的线 我正在创建一个MKPolyline 将其添加到overlayArray 某些叠加层有多个折线 最后通过以下方式将该叠加层添加到地图中 self mapVie