Just follow steps below to integrate GLMap framework into your application.
Functions and structure
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.
Run pod repo update to make CocoaPods aware of the latest available GLMap versions.
Add GLMap into your Podfile
Podfile
platform :ios,'8.0'use_frameworks!target 'TargetName'do pod 'GLMap' pod 'GLRoute'# if you need navgation pod 'GLSearch'# if you need search end
Run pod install in project directory
Use the .xcworkspace file generated by CocoaPods to work on your project.
Carthage
All components is published in Carthage as binary-only frameworks.
To add it into your project just add binary dependency into your Cartfile
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:
Use framework from Objective-C
Initialize GLMapManager inside AppDelegate. And set your API key from user cabinet.
Then add GLMapView into view hierarchy from code or using Interface Builder.
Now you're ready to write your app with GLMap framework. Consider our Demo App as source of examples and code snippets.
binary "https://user.getyourmap.com/downloads/free/GLMap.json"
binary "https://user.getyourmap.com/downloads/free/GLRoute.json" # if you need navigation
binary "https://user.getyourmap.com/downloads/free/GLSearch.json" # if you need search
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let mapView = GLMapView(frame: self.view.bounds)
self.view.addSubview(mapView)
}
}
build.gradle
repositories {
// Any other repositories
maven { url 'https://maven.getyourmap.com/artifactory/libs' }
}
dependencies {
// Any other dependencies
implementation'com.getyourmap:glmap:1.1.0'
implementation'com.getyourmap:glroute:1.1.0' // if you need navigation
implementation'com.getyourmap:glsearch:1.1.0' // if you need search
}
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.
}
}
YourActivity.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");
}