问题标签 [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 投票
0 回答
126 浏览

mapbox - Mapbox iOS - 使用 centerOffset 时,不可见的注释显示在左上角

我需要显示具有向下图钉的自定义注释,如下所示:

标记

所以我继承并MGLAnnotationView设置:centerOffsetlayoutSubviews()

结果,我在左上角看到了当前可见地图区域中不存在的部分注释视图:

左上角的标记

这是我实例化视图的方式:

reuseIdentifier如果我在没有为每个注释提供或使其唯一的情况下创建注释视图,则不会出现此问题。但这样做对我来说没有意义。因为我认为这reuseIdentifier应该识别注释外观类型。

完整代码

这是一个演示我遇到的问题的存储库。

0 投票
1 回答
425 浏览

mapbox - Mapbox iOS - 未调用自定义注释 didSelect

我在地图上显示自定义注释并且很难didSelect接听我的代表的电话。这是 ViewController 的代码:

下面是注解类和对应视图的代码:

当我按下注释(绿色矩形)时,我希望didSelect调用委托方法。但是,它们都没有被调用。并且控制台没有打印“annotation didSelect”或“annotation view didSelect”。

我也尝试设置isUserInteractionEnabledTestAnnotationView但没有帮助。我错过了什么?

我通过 cocoapods 安装 Mapbox (5.9.0):

0 投票
1 回答
88 浏览

swift - 无法使用类型为“(ofClasses:[NSObject.Type],来自:Data)”的参数列表调用“unarchiveObject”

根据 Vadian 的回答,如何 NSKeyedUnarchiver.unarchiveObject将已弃用的 NSKeyedUnarchiver.unarchiveObject 转换为在 Swift 5/iOS 12+ 中工作

我设法将存档部分转换为工作,但我仍然无法修复未存档部分,这是我的代码:

这给了我一个错误:

无法使用类型为“(ofClasses:[NSObject.Type],来自:Data)”的参数列表调用“unarchiveObject”

这是原始的 iOS 12- 代码:

0 投票
1 回答
1142 浏览

swift - 安装 Mapbox 时遇到问题

我正在尝试为我正在创建的 iOS 应用安装 Mapbox SDK。但是,我遇到了一系列错误。我尝试在没有任何第三方应用程序的情况下下载 SDK。但是,这给出了“命令 PhaseScriptExecution 失败,退出代码为非零”。接下来,我尝试了迦太基。但是,当我在终端中输入“更新迦太基”时,我收到错误“找不到 xcode 构建”。接下来,我去了 xcode 并将命令行工具设置为 xcode 10.1(安装在我的计算机上)。然后,当我更新 carthage 时,我收到“任务失败,退出代码 65”错误。

我只是想知道是否有人对这些问题有任何解决方案,或者是否有更简单的方法来安装 mapbox?

0 投票
1 回答
81 浏览

mapbox - 奇怪的问题,导航代码只在早上有效(加利福尼亚时间)

我遇到了一个奇怪的问题,这个代码只在加利福尼亚时间早上(12am ~ 6am)运行。

这两天一直在发生。我不认为这是我的结局,但我该怎么办?这适用于 iOS-Navigation-SDK。

我得到错误:

0 投票
1 回答
115 浏览

ios - 没有蜂窝数据的 iOS Mapbox 准确性问题?

当蜂窝数据不可用时,用户位置的准确性似乎有点?我可以调整用户位置的更新频率吗?是否有用户对街道/道路/车道进行位置调整的示例?正如你所看到的,下面的线离路很远。

在此处输入图像描述.

0 投票
1 回答
36 浏览

ios - Mapbox iOS SDK 使用多个文件

我想使用swift 5编写一个供个人使用的地图应用程序(iOS)。我已经能够通过使用单个文件使其工作,但是代码看起来很乱,所以我决定使用多个文件并调用来自 ViewController 的函数。对于一个简单的地图视图,我已经使用以下代码实现了它:

但我尝试使用 ViewController 文件更改地图样式

但我得到了

我也尝试使用

但现在我得到了

我也尝试添加

在 ViewController 的顶部,但现在它与消息一起崩溃

最后,我尝试从 ViewController.swift 初始化 mapView 并从 mapInit() 更改样式,但它什么也没改变。

有谁知道如何解决这个问题?

0 投票
1 回答
519 浏览

mapbox - 如何在 iOS 上动态更新 Mapbox 的 MGLShapeSource 的 MGLPointFeature 属性值?

我的应用程序将数据(包括坐标和其他信息)存储在本地数据库中。由于数据点的数量,该应用程序使用集群在 iOS 上使用 Mapbox 显示数据。一些标记样式基于数据,可以在运行中更改。地图设置为:

上面的代码被简化以帮助更清楚地说明这个概念。使用 MGLPoint 数组是因为数据存储在 DB 中,因此我们没有 GeoJSON 文件或 URL。使用 MGLShapeSource 是因为需要集群,这就是我在示例中找到的。使用将“特征”作为参数的 MGLShapeSource 构造函数,因为这是与我拥有的数据匹配的构造函数。常规标记层设置为根据 iconScale 中“标记”属性的值显示不同大小的图标。

在运行期间,“marked”属性的值会发生变化(例如,当一个标记被点击时),相应的图标的大小需要更新以反映“marker”值的变化。但是,我无法弄清楚如何更改标记属性值。MGPShapeSource 仅显示对形状和 URL 的访问,这两者都不是我初始化源的特征数组。我需要访问构建源的特征数组,更改标记值,并更新标记图标。

我考虑过在每次数据更改时重新制作源。但是由于涉及的标记数量,这将表现不佳。另外,我相信我还需要重新制作所有样式层,因为它们是用实际的源对象构建的,这会使性能变得更糟。

我需要帮助弄清楚如何在运行时更改 MGLShapeSource 中 MGLPointFeature 的属性值并更新地图。

0 投票
1 回答
438 浏览

mapbox - 使用 Mapbox 捕捉到道路

我目前正在寻找与Google map Snap to Roads API 相同的 Mapbox Snap to Roads API。是否有任何与 Google 地图 Snap to Roads 相同的 Mapbox API?

0 投票
2 回答
165 浏览

ios - MGLUserLocationAnnotationView 子类不采用相机的俯仰视角

我根据这些文档设置了用户位置图标的样式:

https://docs.mapbox.com/ios/maps/examples/user-location-annotation/

它可以工作,但是虽然我使用了相机和音高,但它是在二维中显示的。我怎样才能让它处于相机的正确视角并且俯仰效果有效?

IMG_5069

我用这段代码添加了 MGLMapCamera:

安卓没有像gps这样的相机选项模式吗? https://docs.mapbox.com/android/maps/examples/location-component-camera-options/