Maps framework for mobile apps

Cross-platform vector maps library to develop a high performance map-based apps with the full set of essentials features working in offline mode

GLMap

Smooth and fast mapsin vector format withcustomizable styles

GLSearch

Instant search by name,by address, by category

GLRoute

Turn-by-turn navigationwith voice-guideddriving directions

Components

GLMap
Online
Offline
  • Annotations and Overlays
  • Map Customization
  • Vector & Raster Data
All Features
GLSearch
Offline
  • Forward and Reverse Geocoding
  • Alternative and Short Names
  • Instant Results
All Features
GLRoute
Online
Offline
  • Multi-Modal and Time-Based
  • Auto, Bike, Pedestrian
  • Multilingual Narrative
All Features

Integration

iOS
Android

The easiest way to add frameworks on iOS is to use CocoaPods. Set of pods depends on features you need:

  • GLMap displays map and objects on it,
  • GLSearch used for geocoding,
  • GLRoute used for route requests and turn-by-turn navigation.

Swift extension is available as GLMapSwift pod.

iOS DemoGuides

Framework is published on our maven server. Set of libraries depends on features you need:

  • `com.getyourmap:glmap` displays map and objects on it,
  • `com.getyourmap:glsearch` used for geocoding,
  • `com.getyourmap:glroute` used for route requests and turn-by-turn navigation.

Five steps to add map into your application:

  1. add maven repository,
  2. add dependencies,
  3. set an API key,
  4. add GLMapView into layout file,
  5. load map style.
Android DemoGuides
AppDelegate.swift

import UIKit import GLMapSwift @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { GLMapManager.activate(apiKey: <#API_KEY#>) return true } }
ViewController.swift

class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() ​ let mapView = GLMapView(frame: self.view.bounds) self.view.addSubview(mapView) } }
AppDelegate.m

#import <GLMap/GLMap.h> @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [GLMapManager activateWithApiKey:<#API key#< resourcesBundle:nil andStoragePath:nil]; return YES; }
ViewController.m

#import <GLMap/GLMap.h> @implementation ViewController -(void)viewDidLoad { GLMapView *mapView = [[GLMapView alloc] initWithFrame:self.view.bounds]; [self.view addSubview:mapView]; }
Podfile

platform :ios, '12.0' use_frameworks! target 'TargetName' do pod 'GLMap' pod 'GLRoute' # if you need navigation pod 'GLSearch' # if you need search end
iOS Demo
build.gradle

repositories { // Any other repositories maven { url 'https://maven.getyourmap.com/artifactory/libs' } } dependencies { // Any other dependencies implementation'com.getyourmap:glmap:1.7.4' implementation'com.getyourmap:glroute:1.7.4' // if you need navigation implementation'com.getyourmap:glsearch:1.7.4' // if you need search }
map_layout.xml

<com.getyourmap.glmap.GLMapView android:id="@+id/map_view" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:keepScreenOn="true"/>
MapActivity.java

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ​ // set asset manager, and load style from bundle inside assets GLMapView mapView = (GLMapView) this.findViewById(R.id.map_view); mapView.loadStyle(this.getAssets(), "DefaultStyle.bundle"); }
App.java

public class YourApp extends Application { @Override public void onCreate() { super.onCreate(); GLMapManager.Initialize(this, <API_KEY>, null); // If you're going to use GLSearch you should also call // GLSearch.Initialize(this); // to let it load it's resources. } }
Android Demo

The application uses our framework so that people can communicate and find each other in places where there is no cellular connection.

gotenna.com
Guru Maps

The application uses our framework to show detailed and current vector maps of the whole world – completely offline.

gurumaps.app

The application uses our framework so that people can communicate and find each other in places where there is no cellular connection.

The application uses our framework to show detailed and current vector maps of the whole world – completely offline.

Pricing

Pay as you go. We keep our pricing simple, with no monthly fees for services you are not using.

Use your own data to estimate what you will pay:

Standard
5 000 map downloads / mo
50 000 vector tile downloads / mo
50 000 directions reqests / mo
FREE
Extra
+ 50 map downloads
+ 5 000 vector tile downloads
+ 5 000 directions requests
$1.00
$1.00
$1.00
Sign up free
Examples
Navigation application

It does not matter how many users installed your app. You'll only pay for the map downloads or directions requests, which exceed a standard limit.

The estimate of probable cost for navigation startup:

≈ 2 600 map downloads
≈ 3 000 vector tile downloads
≈ 225 000 directions reqests
Free
Free
$35.00
$35.00
/mo
Banking application

If your business not expressly dealing with maps (your app users don't download maps and don't plan routes), the framework probably won't cost you anything.

The estimate of probable cost for mobile banking app, where only ATMs and banks locations are shown on the map:

≈ 0 map downloads
≈ 5 000 vector tile downloads
≈ 0 directions reqests
Free
Free
Free
Free
Travel offline maps

If your app uses the framework partially, you'll pay only for data, which exceeds our free limit.

A possible estimate for tourist app, which works offline and where users have to download maps:

≈ 7 400 map downloads
≈ 1 500 vector tile downloads
≈ 20 000 directions requests
$48.00
Free
Free
$48.00
/mo

Contact us

We are ready to adapt the framework for a non-standard task and implement it into the application. Tell us about your business and your expectations, so we prepared a commercial offer.

Contact