Mapbox-macOS-SDK-symbols 0.16.0-symbols

Mapbox-macOS-SDK-symbols 0.16.0-symbols

许可证 BSD
发布最后发布2020年5月

Minh Nguyễn 维护。




Mapbox macOS SDK

使用开源的 Mapbox macOS SDK 将交互式、可缩放的地图放入您的原生 Cocoa 应用程序。

  • Mapbox 精选 地图样式 和基于 OpenStreetMap向量瓦片,让您轻松开始。
  • 可以使用代码或Mapbox Studio进行可视化来定制地图外观的各个方面。
  • 高性能 OpenGL 渲染和多点触控手势让您的用户保持满意度。
  • 精心设计、全面文档化的 API 帮助您保持高效。
  • 使用同一组样式和相似的 API 在 多个平台 上进行开发,包括 iOS

Mapbox macOS SDK 与 macOS 10.10.0 及以上版本的 Cocoa 应用兼容,适用于在 Objective-C、Swift、Interface Builder 或 AppleScript 中开发的应用程序。对于混合应用程序,请考虑 Mapbox GL JS

安装

安装 Mapbox macOS SDK 有三种方式

手动

  1. 从 GitHub 下载最新的 Mapbox macOS SDK 发布版本 – 查找以“macos-”开头的版本。

  2. 打开项目编辑器,选择您的应用程序目标,然后转到“通用”选项卡。将 Mapbox.framework 拖动到“嵌入的二进制文件”部分。 (不要将其拖动到“链接的框架和库”部分;Xcode 会自动将它添加进去。) 在出现的表中,确保“如有需要则复制”已选中,然后单击完成。

通过 Carthage

Mapbox macOS SDK 是一个仅二进制依赖项,因此您需要 Carthage 0.19 或更高版本。在您的 Cartfile 中,指定此依赖项(以及可选的版本要求)

binary "https://mapbox.github.io/mapbox-gl-native/macos/Mapbox-macOS-SDK.json"

运行 carthage update 后,您将在 Carthage/Build/ 文件夹中找到 Mapbox.framework。按照 这些说明 将其集成到您的项目中。

通过 CocoaPods

创建一个具有以下规范的 Podfile

platform :osx, '10.10'

target 'TargetNameForYourApp' do
  pod 'Mapbox-iOS-SDK', '~> x.y'
end

其中 x.y 是当前版本。在终端中运行 pod install

使用

Mapbox 向量瓦片需要 Mapbox 帐户和 API 访问令牌。在项目编辑器中,选择应用程序目标,然后转到“信息”选项卡。在“自定义 macOS 应用目标属性”部分下,将 MGLMapboxAccessToken 设置为您的访问令牌。您可以从 Mapbox 帐户页面 获取访问令牌。

然后,在 Storyboard 或 XIB 中

  1. 将视图添加到视图控制器或窗口中。 (从对象库中将自定义视图拖到 Interface Builder 画布上的视图控制器场景中。在 XIB 中,将其拖到画布上的窗口中。)
  2. 在身份检查器中,将视图的定制类设置为 MGLMapView
  3. MGLMapView 需要图层支持
  • 您可以通过在属性检查器中选择窗口并检查“全尺寸内容视图”来使窗口图层化。这允许地图视图重叠标题栏和工具栏。
  • 或者,如果您不希望整个窗口都进行图层化,您可以通过选择地图视图并在视图效果检查器的核心动画图层部分下检查其条目来仅使其层化。
  1. 将地图反馈项添加到您的帮助菜单中。 (将从对象库拖动的菜单项拖放到主菜单“帮助”中。将其命名为“改进地图”等,并将其连接到First Responder的giveFeedback:动作。

如果您需要以编程方式操作地图视图

  1. 切换到辅助编辑器。
  2. 导入Mapbox模块。
  3. 将地图视图连接到您视图控制器中新的出口。 (从界面建设者中的地图视图控制拖动到视图控制器实现的有效位置。) resulting outlet declaration 看起来可能像这样
// ViewController.m
@import Mapbox;

@interface ViewController : NSViewController

@property (strong) IBOutlet MGLMapView *mapView;

@end
// ViewController.swift
import Mapbox

class ViewController: NSViewController {
    @IBOutlet var mapView: MGLMapView!
}
-- AppDelegate.applescript
script AppDelegate
    property parent : class "NSObject"
    property theMapView : missing value
end script

本包包含完整的API文档,位于documentation文件夹中,以及在线。Mapbox iOS SDK的API文档在线示例适用于Mapbox macOS SDK,略有不同,主要围绕未实现的功能,如用户位置跟踪。

Mapbox官方对macOS SDK的支持不如iOS SDK全面;然而,错误报告和拉取请求绝对是受欢迎的。