MapSDK Getting Started

The WemapMapSDK is a library for embedding customized interactive maps within mobile applications.

Requirements

Check common requirement.

Installation

Check common installation.

Add a map

Once you have the MapData, create a MapView instance, assign mapDelegate and MapData to the Map and present the view as follows:

func showMapView(mapData: MapData) {
    mapView = MapView(frame: view.bounds)
    mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    mapView.mapDelegate = self
    mapView.mapData = mapData
    view.addSubview(mapView)
}

Handling MapViewDelegate

You must handle at least mapViewLoaded method in MapViewDelegate, because only when this method is called, it’s safe to access MapView properties.

extension ViewController: MapViewDelegate {

    func mapViewLoaded(_ mapView: MapView, style _: MLNStyle, data _: MapData) {
        // now it's safe to access MapView properties
    }
}

User Location

Wemap provides various location sources to track the user’s location on the map. For more info check positioning docs

By default, WemapMapSDK uses Apple’s LocationProvider to obtain raw location updates. But you can easily take any WemapPositioningSDK create LocationSource and connect it to the MapView as shown below:

func setupLocationSource(mapData: MapData) {
    let locationSource = VPSARKitLocationSource(mapData: mapData) // it can be any LocationSource from WemapPositioningSDK
    map.userLocationManager.locationSource = locationSource
}

The full example is available in our GitHub repository.

Examples

For additional examples and sample implementations of WemapSDKs, visit the official GitHub repository.

Clone the repository and follow the README instructions to run the sample application.