To keep applications lightweight we divided framework to 3 major components: GLMap, GLRoute, GLSearch. No need to include navigation or search into your project if you don't use it.
On iOS to make application fast each component published as dynamic framework and as static library. Names of static pods is GLMapStatic, GLRouteStatic, GLSearchStatic. When linked with static library, linker is able to remove all unused code and optimize application even further.
Swift modules and Android native libraries is always compiled as dynamic libraries.
Some sytax sugar for Swift is added as GLMapSwift extension. It is open source and available on github: https://github.com/GLMap/GLMapSwift
Run pod repo update
to make CocoaPods aware of the latest available GLMap versions.
Add GLMap
into your Podfile
Podfileplatform :ios, '8.0'use_frameworks!target 'TargetName' dopod 'GLMap'pod 'GLRoute' # if you need navgationpod 'GLSearch' # if you need searchend
Run pod install
in project directory
Use the .xcworkspace file generated by CocoaPods to work on your project.
All components is published in Carthage as binary-only frameworks.
To add it into your project just add binary dependency into your Cartfile
Cartfilebinary "https://user.getyourmap.com/downloads/free/GLMap.json"binary "https://user.getyourmap.com/downloads/free/GLRoute.json" # if you need navigationbinary "https://user.getyourmap.com/downloads/free/GLSearch.json" # if you need search
Unfortunately there is no way to add resource dependencies into Carhage, and you'll need to add them manually into your project.
GLMap requires world map and default style to work correctly. Download links to GLMapWorldMap and GLMapDefaultStyle you could find inside .json files and in user cabinet.
For convenience we published all releases info json files:
https://user.getyourmap.com/downloads/free/GLMap.jsonhttps://user.getyourmap.com/downloads/free/GLMapStatic.jsonhttps://user.getyourmap.com/downloads/free/GLRoute.jsonhttps://user.getyourmap.com/downloads/free/GLRouteStatic.jsonhttps://user.getyourmap.com/downloads/free/GLSearch.jsonhttps://user.getyourmap.com/downloads/free/GLSearchStatic.jsonhttps://user.getyourmap.com/downloads/free/GLMapDefaultStyle.jsonhttps://user.getyourmap.com/downloads/free/GLMapWorldMap.json
Initialize GLMapManager
inside AppDelegate
. And set your API key from user cabinet.
AppDelegate.m#import <GLMap/GLMap.h>@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {[GLMapManager sharedManager].apiKey = <#API key#>;return YES;}
Then add GLMapView
into view hierarchy from code or using Interface Builder.
ViewController.m#import <GLMap/GLMap.h>@implementation ViewController-(void)viewDidLoad {GLMapView *mapView = [[GLMapView alloc] initWithFrame:self.view.bounds];[self.view addSubview:mapView];}
Now you're ready to write your app with GLMap framework. Consider our Demo App as source of examples and code snippets.
Objective-C Demo App / iOS API Documentation
Initialize GLMapManager
inside AppDelegate
. And set your API key from user cabinet.
AppDelegate.swiftimport GLMapimport GLMapSwift@UIApplicationMainclass AppDelegate: UIResponder, UIApplicationDelegate {func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {GLMapManager.shared.apiKey = <#API key#>return true}}
Then add GLMapView
into view hierarchy from code or using Interface Builder.
ViewController.swiftclass ViewController: UIViewController {override func viewDidLoad() {super.viewDidLoad()let mapView = GLMapView(frame: self.view.bounds)self.view.addSubview(mapView)}}
Now you're ready to write your app with GLMap framework. Consider our Demo App as source of examples and code snippets.
Swift Demo App / iOS API Documentation / Swift Extenstion API Documentation
Add repository and dependency into module level build.gradle file.
build.gradlerepositories {// Any other repositoriesmaven { url 'https://maven.getyourmap.com/artifactory/libs' }}dependencies {// Any other dependenciesimplementation'com.getyourmap:glmap:1.1.0'implementation'com.getyourmap:glroute:1.1.0' // if you need navigationimplementation'com.getyourmap:glsearch:1.1.0' // if you need search}
Add GLMapView
into layout file
<com.getyourmap.glmap.GLMapViewandroid:id="@+id/map_view"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:keepScreenOn="true"/>
Initialize GLMapManager
inside Application
subclass. And set your API key from user cabinet.
YourApp.javapublic class YourApp extends Application{@Overridepublic 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.}}
Then configure GLMapView
.
YourActivity.java@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// set asset manager, and load style from bundle inside assetsGLMapView mapView = (GLMapView) this.findViewById(R.id.map_view);mapView.loadStyle(this.getAssets(), "DefaultStyle.bundle");}
Now you're ready to write your app with GLMap framework. Consider our Demo App as source of examples and code snippets.