使用开源的 Mapbox macOS SDK 将交互式、可缩放的地图放入您的原生 Cocoa 应用程序。
Mapbox macOS SDK 与 macOS 10.10.0 及以上版本的 Cocoa 应用兼容,适用于在 Objective-C、Swift、Interface Builder 或 AppleScript 中开发的应用程序。对于混合应用程序,请考虑 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 访问令牌。在项目编辑器中,选择应用程序目标,然后转到“信息”选项卡。在“自定义 macOS 应用目标属性”部分下,将 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文档,位于documentation
文件夹中,以及在线。Mapbox iOS SDK的API文档和在线示例适用于Mapbox macOS SDK,略有不同,主要围绕未实现的功能,如用户位置跟踪。
Mapbox官方对macOS SDK的支持不如iOS SDK全面;然而,错误报告和拉取请求绝对是受欢迎的。