问题标签 [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.
mapbox - Mapbox iOS - 使用 centerOffset 时,不可见的注释显示在左上角
我需要显示具有向下图钉的自定义注释,如下所示:
所以我继承并MGLAnnotationView
设置:centerOffset
layoutSubviews()
结果,我在左上角看到了当前可见地图区域中不存在的部分注释视图:
这是我实例化视图的方式:
reuseIdentifier
如果我在没有为每个注释提供或使其唯一的情况下创建注释视图,则不会出现此问题。但这样做对我来说没有意义。因为我认为这reuseIdentifier
应该识别注释外观类型。
完整代码
这是一个演示我遇到的问题的存储库。
mapbox - Mapbox iOS - 未调用自定义注释 didSelect
我在地图上显示自定义注释并且很难didSelect
接听我的代表的电话。这是 ViewController 的代码:
下面是注解类和对应视图的代码:
当我按下注释(绿色矩形)时,我希望didSelect
调用委托方法。但是,它们都没有被调用。并且控制台没有打印“annotation didSelect”或“annotation view didSelect”。
我也尝试设置isUserInteractionEnabled
,TestAnnotationView
但没有帮助。我错过了什么?
我通过 cocoapods 安装 Mapbox (5.9.0):
swift - 无法使用类型为“(ofClasses:[NSObject.Type],来自:Data)”的参数列表调用“unarchiveObject”
根据 Vadian 的回答,如何 NSKeyedUnarchiver.unarchiveObject将已弃用的 NSKeyedUnarchiver.unarchiveObject 转换为在 Swift 5/iOS 12+ 中工作
我设法将存档部分转换为工作,但我仍然无法修复未存档部分,这是我的代码:
这给了我一个错误:
无法使用类型为“(ofClasses:[NSObject.Type],来自:Data)”的参数列表调用“unarchiveObject”
这是原始的 iOS 12- 代码:
swift - 安装 Mapbox 时遇到问题
我正在尝试为我正在创建的 iOS 应用安装 Mapbox SDK。但是,我遇到了一系列错误。我尝试在没有任何第三方应用程序的情况下下载 SDK。但是,这给出了“命令 PhaseScriptExecution 失败,退出代码为非零”。接下来,我尝试了迦太基。但是,当我在终端中输入“更新迦太基”时,我收到错误“找不到 xcode 构建”。接下来,我去了 xcode 并将命令行工具设置为 xcode 10.1(安装在我的计算机上)。然后,当我更新 carthage 时,我收到“任务失败,退出代码 65”错误。
我只是想知道是否有人对这些问题有任何解决方案,或者是否有更简单的方法来安装 mapbox?
mapbox - 奇怪的问题,导航代码只在早上有效(加利福尼亚时间)
我遇到了一个奇怪的问题,这个代码只在加利福尼亚时间早上(12am ~ 6am)运行。
这两天一直在发生。我不认为这是我的结局,但我该怎么办?这适用于 iOS-Navigation-SDK。
我得到错误:
ios - Mapbox iOS SDK 使用多个文件
我想使用swift 5编写一个供个人使用的地图应用程序(iOS)。我已经能够通过使用单个文件使其工作,但是代码看起来很乱,所以我决定使用多个文件并调用来自 ViewController 的函数。对于一个简单的地图视图,我已经使用以下代码实现了它:
但我尝试使用 ViewController 文件更改地图样式
但我得到了
我也尝试使用
但现在我得到了
我也尝试添加
在 ViewController 的顶部,但现在它与消息一起崩溃
最后,我尝试从 ViewController.swift 初始化 mapView 并从 mapInit() 更改样式,但它什么也没改变。
有谁知道如何解决这个问题?
mapbox - 如何在 iOS 上动态更新 Mapbox 的 MGLShapeSource 的 MGLPointFeature 属性值?
我的应用程序将数据(包括坐标和其他信息)存储在本地数据库中。由于数据点的数量,该应用程序使用集群在 iOS 上使用 Mapbox 显示数据。一些标记样式基于数据,可以在运行中更改。地图设置为:
上面的代码被简化以帮助更清楚地说明这个概念。使用 MGLPoint 数组是因为数据存储在 DB 中,因此我们没有 GeoJSON 文件或 URL。使用 MGLShapeSource 是因为需要集群,这就是我在示例中找到的。使用将“特征”作为参数的 MGLShapeSource 构造函数,因为这是与我拥有的数据匹配的构造函数。常规标记层设置为根据 iconScale 中“标记”属性的值显示不同大小的图标。
在运行期间,“marked”属性的值会发生变化(例如,当一个标记被点击时),相应的图标的大小需要更新以反映“marker”值的变化。但是,我无法弄清楚如何更改标记属性值。MGPShapeSource 仅显示对形状和 URL 的访问,这两者都不是我初始化源的特征数组。我需要访问构建源的特征数组,更改标记值,并更新标记图标。
我考虑过在每次数据更改时重新制作源。但是由于涉及的标记数量,这将表现不佳。另外,我相信我还需要重新制作所有样式层,因为它们是用实际的源对象构建的,这会使性能变得更糟。
我需要帮助弄清楚如何在运行时更改 MGLShapeSource 中 MGLPointFeature 的属性值并更新地图。
mapbox - 使用 Mapbox 捕捉到道路
我目前正在寻找与Google map Snap to Roads API 相同的 Mapbox Snap to Roads API。是否有任何与 Google 地图 Snap to Roads 相同的 Mapbox API?
ios - MGLUserLocationAnnotationView 子类不采用相机的俯仰视角
我根据这些文档设置了用户位置图标的样式:
https://docs.mapbox.com/ios/maps/examples/user-location-annotation/
它可以工作,但是虽然我使用了相机和音高,但它是在二维中显示的。我怎样才能让它处于相机的正确视角并且俯仰效果有效?
我用这段代码添加了 MGLMapCamera:
安卓没有像gps这样的相机选项模式吗? https://docs.mapbox.com/android/maps/examples/location-component-camera-options/