At eeGeo, we believe that well executed use of location can be a hugely powerful tool in delivering excellent user experiences. We’ve found empirically that user engagement is increased by delivering a beautiful and responsive map. Through our SDK for streaming 3D map data, visually customisable for the applications needs, eeGeo are enabling our customers to make a real statement with their maps. Our 3D mapping data is generated from real-life data sources using procedural methods to texture the environment, freeing our maps from the artefacts of satellite imagery, and allowing for dynamic environment manipulation.
We’ve had great feedback from our customers about many aspects of our technology. However, a persistent request from both our customers and from independent developers writing to us after discovering our open source example applications is for platform specific interfaces. We want to make our technology as accessible as possible. We’re listening to our customers feedback, and are developing dedicated platform specific APIs for the SDK. We’re delighted to announce that we now have an iOS API available for use.
Our new Objective-C API makes it easy for iOS developers to display beautiful 3D maps
The iOS API draws inspiration from existing iOS mapping libraries; if you’re familiar with Apple’s MapKit, our API should be simple to understand. In some cases, the eeGeo API can be dropped in to replace MapKit one for one! The iOS API enables developers to easily create a map as a standard UIView, and add it to the iOS view hierarchy. The API exposes the ability to animate the camera location and orientation, to add annotations and callouts to the map, to highlight colored polygon regions (e.g., for creating geofences), and to customise the look and feel of the map. We’re distributing the API via CocoaPods, a dependency manager which automates and simplifies the process of using 3rd-party libraries (like the eeGeo 3D maps API) in your projects.
The iOS API is open source, available under the eeGeo SDK evaluation license. The source code is available on GitHub, and class-level documentation is available on CocoaDocs. Pull requests are accepted and encouraged, please see the read-me for more information.
In addition to the iOS API, we are also offering a new open source example project that demonstrates the use of the eeGeo 3D maps. This project shows a preconfigured environment, with a CocoaPods Podfile, which can be used to quickly get up and running with a map. As well as showing the API in practice, the example also demonstrates that while the eeGeo 3D maps have striking visual differences from more traditional mapping providers offerings, one of our goals for the API is that it conforms to established standards and conventions. We’ve been inspired by Apple’s MapKit; the eeGeo iOS API closely resembles the MapKit APIs. This means that developers don’t have to learn a new and unfamiliar API to use eeGeo 3D maps.
Using Apple maps? MapKit-style API allows drop-in replacement without significant code change
The iOS API will complement our existing SDK, which remains viable for use to build cross-platform applications using eeGeo 3D maps. Our SDK is cross-platform, written in C++; this allows us to reduce the amount of code we have to write and maintain, ultimately making it easier for us to deliver better tech. It’s entire possible for developers to benefit from these advantages and write fully cross-platform applications using our maps, meaning less code to support more devices. Indeed, our cross platform example application (our open source codebase for Recce) demonstrates an example application architecture; this illustrates a practical implementation for a cross-platform application.
While writing an application in C++ using the techniques described previously allows maximal code reuse, and full ability to manipulate the eeGeo SDK, sometimes the specific application use case doesn’t require these benefits. Many applications have straightforward use cases such as being able to move the camera, show annotations and callouts, and highlight locations, and as such would benefit from a simple API. Other use cases involve integrating eeGeo 3D maps with an existing and mature application; adding a new language may not be desirable in such a codebase. The new eeGeo iOS API should enable simpler integration with existing iOS products, or make it easy to get up and running with a new application.
We hope that the eeGeo iOS API enables more developers to make use of our technology to build great apps on top of beautiful 3D maps. We plan to add more platform specific API wrappers in future, including Android, WebGL and more. We’d love to hear feedback on the API, or for requests for new features that you’d like to see us expose.