使用开源 Mapbox macOS SDK 将交互式、可缩放的地图放入您的本地 Cocoa 应用程序中。
Mapbox macOS SDK 与 macOS 10.10.0 及以上版本兼容,适用于使用 Objective-C、Swift、Interface Builder 或 AppleScript 开发的 Cocoa 应用程序。对于混合应用程序,请考虑使用 Mapbox GL JS。
安装 Mapbox macOS SDK 有三种方式
从 GitHub 下载最新的 Mapbox macOS SDK 发布版 – 查找以“macos-”开头的版本。
打开项目编辑器,选择您的应用程序目标,然后转到“通用”选项卡。将 Mapbox.framework 拖动到“嵌入式二进制”部分。(不要将其拖动到“链接的框架和库”部分;Xcode 会自动将其添加那里。)在出现的表中,确保已选中“在需要时复制项目”,然后单击完成。
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。按照 这些说明 将其集成到您的项目中。
创建包含以下规范的 Podfile
platform :osx, '10.10'
target 'TargetNameForYourApp' do
pod 'Mapbox-iOS-SDK', '~> x.y'
end
其中 x.y 是当前版本。在终端中运行 pod install
。
Mapbox 矢量瓦片需要 Mapbox 账户和 API 访问令牌。在项目编辑器中,选择应用程序目标,然后转到“信息”选项卡。在“Custom macOS Application Target Properties”部分下,将 MGLMapboxAccessToken
设置为您访问令牌。您可以从 Mapbox 账户页面 获取访问令牌。
然后,在 storyboard 或 XIB 中
MGLMapView
。giveFeedback:
操作。如果您需要以编程方式操作地图视图
Mapbox
模块。// 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文档包含在此包中,在文档
文件夹内,以及在线。Mapbox iOS SDK的API文档和在线示例适用于Mapbox macOS SDK,略有不同,主要是不实现的特性,如用户位置跟踪。
Mapbox不支持macOS SDK的程度不如iOS SDK;但是,问题报告和合并请求当然是受欢迎的。