Skip to main content

Installation

Version

Always use the latest version from the Releases page. The version below is an example.

Every package and release asset is listed in Packages; what each variant contains, and how to pick one, in Variants.

Android​

Add JitPack and the dependency to your app's build.gradle:

repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}

dependencies {
implementation 'com.github.massif-maps:MassifMaps-android-aar:6.0.2'
}

That is the full build. A smaller one, or the one that still carries the object API, is a classifier of the same artifact: ...:6.0.2:core@aar, :lite@aar, :objectapi@aar (variants).

Add the INTERNET permission to AndroidManifest.xml (needed for online tiles/services):

<uses-permission android:name="android.permission.INTERNET"/>

iOS​

Use Swift Package Manager:

  1. In Xcode: File → Add Packages…

  2. Paste the package URL:

    https://github.com/massif-maps/MassifMaps-ios-swift
  3. Pick a version and add one product to your target: MassifMaps (full), MassifMapsCore or MassifMapsLite (variants).

You can also download a prebuilt framework from the Releases page.

macOS (Mac Catalyst)​

The iOS package ships the Mac Catalyst slices (arm64 and x86_64, macOS 10.15+). Tick Mac Catalyst under Supported Destinations of your app target and add the same Swift package as on iOS. The API is the iOS one.

Web​

npm install @massif-maps/web

The SDK compiled to WebAssembly, with the same typed API as the NativeScript plugin. The page has to be cross-origin isolated and serve the module from its own origin - both covered in the web guide, with the release zip for a page with no npm.

JavaScript, through an integration​

You do not have to write native code. A framework integration wraps the same Android and iOS artifacts, so every renderer feature is reachable from JavaScript.

npm install @nativescript-community/ui-massifmaps
import { api } from '@nativescript-community/ui-massifmaps';

NativeScript is the one that ships today — Vue, Svelte, Angular and plain TypeScript, on Android and iOS. Flutter and React Native bindings are planned, same shape: a binding over the published native builds, no second renderer. The full list, versions and status: Integrations.

Every example carries its NativeScript source beside the Java, Objective-C and web ones, so the same map reads the same in all four.

No license key​

The original CARTO SDK required MapView.registerLicense(...) at startup. Massif Maps does not: there is no license server, and the CARTO online services that needed credentials (Maps API, SQL API, the hosted basemaps and offline package server) are not part of this fork. Bring your own tile source and style.

Building from source​

The SDK is a large C++ project built per platform. See BUILDING.md in the repo for the full toolchain (a SWIG fork and a boost symlink are required). A typical full build takes an hour or more; for most apps the prebuilt artifacts above are what you want.

Standalone routing library​

If you only need routing (Valhalla) without the map view, the repo also ships a lightweight routing-lib. See the Routing guide and the repository README.

Next step​

→ Show your first map