问题标签 [mapbox-ios]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
177 浏览

mapbox - 关于 mglillelayer 和 MGLLineStyleLayer 的问题

在mapbox_ios中: 1、关于MGLFillStyleLayer和MGLLineStyleLayer,如何为各个特征设置不同的样式(颜色、宽度、虚线)。

  1. 一个场景:如果是一个单独的多面体,不同地方的两个曲面之间没有连接,但是它是一个特征,如果我想添加更多的多面体来修改图形(添加一个点并连接两个边),如何修改图表?

希望得到帮助,谢谢!

0 投票
0 回答
170 浏览

mapbox - Mapbox:如何使用 MGL_MATCH 表达式设置图层的填充颜色

我正在尝试使用 MGL_MATCH 表达式设置 Mapbox 地图图层中各个要素的填充颜色,但我不断得到:

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[__NSCFString mgl_color]:无法识别的选择器发送到实例...

预期结果:

4 位代码(jpt_kod_je:字符串属性)以“06”开头的特征用红色填充,其他所有用白色填充。

实际结果:

0 投票
1 回答
155 浏览

ios - iOS 上的 MapboxGL Native:点击获取 MGLPointFeature

我有自己的自定义子类MGLPointFeature。我为我的实例创建一个源,如下所示:

我还添加了一个MGLSymbolStyleLayer现在显示这些注释的内容。

一切都按预期工作。我的MGLMapView正确显示了我的注释。好的!查看!

所以现在我很想知道用户何时点击它们。(请注意,我将注释聚集在一起,因此将它们单独添加到 mapView 不起作用。)

好的......所以现在我像这样检测水龙头:

所以现在我得到了这些功能。也还好!但是....我希望该功能具有类型MySubclassType,因为我将其添加到地图中。但它是 type MGLPointFeature。所以我猜 Mapbox 会以某种方式将我的自定义 PointFeature 复制到常规的 PointFeature 上?

所以......我的问题是......如何获得我创建的点特征的实例(我在其中附加了我想知道的其他信息)。我知道我可以简单地将它们添加到attributes字段中,但是我需要再次查询我的数据......没有更简单的方法吗?

另外...如果我对我的观点进行更多样式设置,为其设置 2-3 层(背景和图标 fe),我会得到我的多个实例MGLPointFeature...这是打算这样吗?

0 投票
1 回答
176 浏览

mapbox - 如何使用 mapbox-ios 添加“大于符号”的线条样式(示例:>>>>)

我需要一条指示线来告诉某人一条线的顺序。

我使用mapbox-ios中的MGLLineStyleLayer添加了虚线样式(示例:- - - -)但我不知道它是否支持(>>>>)样式或箭头(--->---) , 请告诉我应该怎么做。

0 投票
1 回答
516 浏览

swift - MGLSymbolStyleLayer 文本未显示

我成功地将 MGLSymbolStyleLayer 图层添加到我的地图,并通过本地加载的 GeoJSON 数据配置了它的外观,但我无法设置 text 属性的值。

这就是我在方法内部尝试的mapView(_ mapView: MGLMapView, didFinishLoading style: MGLStyle)方式:

当我运行该应用程序时,在正确加载图像时永远不会显示文本。这就是我的 GeoJSON 的格式。

0 投票
2 回答
281 浏览

mapbox - 使用 Mapbox 中低 dpi 栅格图块的下一个缩放级别以获得高分辨率栅格图块

如果您向iOSMKMapView提供 256x256 像素的光栅源,iOS 将加载同一区域的四个 +1 缩放级别的图块。因此,瓷砖似乎处于高 dpi 模式。惊人的!

现在我有一个使用第三方光栅图块源的应用程序。问题是数据看起来非常低dpi。

有没有办法告诉 Mapbox 它应该加载给定源的每个图块的下一个缩放级别并使用它来代替?

0/0/0.jpg因此,与其为整个世界加载图块,不如为缩放级别 0 加载1/0/0.jpg、和使用这些图块。因此,基本上,它不会有一个 256x256 的图像,而是有四个,给它一个 512x512 的图像,看起来更清晰。1/1/0.jpg1/0/1.jpg1/1/1.jpg

问题是......有没有办法不仅适用于iOS,而且在源描述中?那么它也适用于 Web 和 Android 吗?

0 投票
1 回答
926 浏览

ios - iOS Mapbox SDK - 如何将 MGLPointAnnotation 标记添加到地图图层中

例如,我需要找到一种将标记从 转换MGLPointAnnotationMGLShapeSource或类似的方法,以便将标记添加到地图图层并完全控制如何在地图上显示和聚类它们。

我正在使用MapBox SDK v5.2. 该应用程序在内部生成标记(标题、副标题、坐标和图标图像名称),并且在点击时标记会显示在地图上并带有标注。标记是使用 创建的,MGLPointAnnotation()并使用 添加到地图中mapView.addAnnotation()

但是为了完全控制标记的显示方式,例如根据缩放级别对它们进行聚类或打开/关闭它们,我需要将标记添加到地图图层,例如使用,MGLShapeSource然后style.addSource()style.addLayer()

问题是我找不到从MGLPointAnnotationtoMGLShapeSource或类似的转换器的方法。我对此进行了调查,但我能想到的唯一解决方案是将标记信息包含在GeoJSON文件中。但我想避免这种情况,因为标记是在应用程序运行时生成的,而不是来自外部只读 GeoJSON 文件。

如何创建单个 poi 的示例:

0 投票
1 回答
501 浏览

cocoapods - 新 Mapbox iOS SDK 生成问题,当我安装任何 pod 时,它们显示问题

我正在使用 Mapbox SDK,安装新 pod 时,pod 会显示错误。我更换了豆荚,它一次又一次地显示错误。我正在使用这些吊舱,吊舱'Mapbox-iOS-SDK','〜> 5.1'吊舱'MapboxNavigation','〜> 0.35.0'吊舱'MapboxGeocoder.swift','〜> 0.11'

我也更新了 pod pod 'Mapbox-iOS-SDK', '~> 5.3' pod 'MapboxNavigation', '~> 0.37.0' pod 'MapboxGeocoder.swift', '~> 0.11' 它一次又一次地显示帖子。 在此处输入图像描述在此处输入图像描述

0 投票
0 回答
142 浏览

ios - 未找到 Mapbox Geocoder 框架

我的项目是在 Objective c 中构建的。我的 podfile 如下:

我将 $(inherited) 设置为框架搜索路径,但是每当我尝试构建应用程序时,它都会向我显示错误 ld: framework not found MapboxGeocoder

0 投票
0 回答
111 浏览

ios - 如何修复 Mapbox iOS 中未更新的自定义路线步骤

我正在开发一个在地图上绘制路线的路线导航应用程序。现在我发现每当我使用 Mapbox 模拟器时,路线步骤都不会更新。例如:刚开始导航后,您会看到“100 米后右转”。模拟器右转后,即使模拟器继续执行,您也永远看不到下一步。

我尝试将航点硬编码到代码中。这导致工作路线。我在数据库上设置了路线。我想通过验证两个版本的 JSON 来验证这些路由。我发现 JSON 非常相似,所以我不认为问题会隐藏在那里。

我尝试在代码中设置几个断点来隔离代码失败的地方。我得出的结论是路由步骤没有被更新,因为代码作为保护语句的结果返回。我们的函数:从 NavigationViewController 调用 updateStep()。它调用在保护语句返回的单独文件中定义的函数。

我尝试将 Mapbox 更新为 0.38.0(原为 0.37.0)。

我希望代码不会返回并继续执行该函数。虽然由于较新的 routeStep 不大于 currentStepIndex,所以 guard 语句返回。