VisioMove Essential (iOS)  1.21.0
Getting started

Integrate VisioMove Essential into your iOS app to explore, search and navigate within your Visioglobe map.

Requirements

To use this framework you will need:

  • macOS
  • Xcode
  • iOS 9.0 or higher

Map requirements

To play well with VisioMove Essential, your Visioglobe map should:

  • be published at VisioMove SDK v2.1.3 or greater (ask your Visioglobe project manager if you're unsure)
  • be hosted on the map server (i.e retrieved via a hash code)
  • have at least one localisation language.

Linking

Your application will need to link with at least the following:

  • VisioMoveEssential.framework
vme_linking.png
Note
The way the framework search path is setup the VisioMoveEssential.framework should reside either in the same directory or one above the project directory. Alternatively, you can update the FRAMEWORK_SEARCH_PATHS within Project.xcconfig with the VisioMoveEssential.framework's actual path.

Resources

Your application will need to copy the following:

  • VisioMoveEssential.bundle
  • VisioMoveEssentialStrings.bundle (unless you decide to localize differently)
  • The embedded map bundle
vme_resources.png

Note: When adding the map bundle to the project, chose the "Create folder references" options.


Configure Xcode

  • update your project to reference the *.xcconfig files provided with the sample. The *.xcconfig files contain important linker flag information and build options. They are required in order for your project to build successfully with VisioMove Essential.
    vme_project_configuration.png

Location Services Support

Add the NSLocationWhenInUseUsageDescription key to the app's plist.

<plist version="1.0">
<dict>
...
<key>NSLocationWhenInUseUsageDescription</key>
<string></string>
...
</dict>

Add VMEMapView to project

Follow the below steps within Xcode to add the custom VMEMapView view to your application.

Step 1: Add the VMEMapView to your layout

  • Open the xib or storyboard where you want the map to appear
  • Add a simple UIView
  • Within the identify inspector, update the custom class to be VMEMapView
  • The view is now a VMEMapView.

    You should have something like below

    vme_layout.png

Step 2: Connect Map Bundle to the VMEMapView

If the VMEMapView is created from a xib or storyboard, then you can connect the Map Bundle from interface builder's attributes tab. A map bundle can be embedded in the application, retrieved remotely from a server or both:

  • Embedded
    • Map Path - The directory path relative to the application's main bundle that contains the embedded map bundle.
    • Map Secret Code - The secret code associated with the embedded map bundle
  • And/or connected remotely
    • Map Hash - The hash code to retrieve the latest remote map bundle published by VisioMapEditor. This value will be checked when the map view is first loaded.
    • Map Server URL - The url where the map is located. If left empty, will default to https://mapserver.visioglobe.com
      vme_view_attributes.png

Step 3: Load map

In the Objective-C code, you have to call the loadMap (VMEMapView) method to start loading the map.

@import VisioMoveEssential;
// ...
- (void)viewDidLoad
{
[super viewDidLoad];
// Load the map once it's containing view has been loaded.
// Note: self.mMapView is connected via IBOutlet to the VMEMapView within our nib.
[self.mMapView loadMap];
}
Visioglobe® 2015-2020