RECURSIVE ARTS
MapNav
Unity

A Developer-friendly Geolocation Engine for Unity

MapNav-iPad
MapNav is a Geolocation Engine for Unity and a powerful tool to develop location-based apps and games, including 2d/3d object geolocation, GPS navigation, and online maps. Get started in minutes with the included prefabs and demo scenes, and build to your platform of choice.
MapNav-Inspector
Geolocation-Tools
GeoData Overlay

Main Features

- GPS Navigation (iOS/Android)
- Dynamic Online Maps
- MapQuest Native Routes and Markers
- 2D (orthographic) and 3D (perspective) camera views
- Touch interactions: Pinch-to-Zoom, Drag-to-Pan and Tap-to-Locate
- Variable Map Scale (1:1 up to 1:100)
- Accurate Distance and Speed calculation tools
- Effective and easy-to-use 2d/3d content geolocation tool (static and dynamic objects)
- GPS Emulator for PC/Mac/Editor
- Configurable and customizable maps (zoom, style, size, format, etc.)
- Compatible and fully tested with Google Maps (+Directions API), Bing Maps, MapBox, HERE, CartoDB, Yandex, and MapQuest-OpenStreetMaps(default)
- Developer-friendly custom MapNav inspector
Additional features

- Instant speed calculator (InstantVelocity.cs)
- Horizontal accuracy display (circle) (Accuracy.cs)
- Tap to obtain map cordinates (GetTapPosition.cs)
- Compatible with all resolutions and device orientations
- Free Camera mode (camera does not necessarily follow the "player" object so you can implement your own camera solution)
- Disable Map option, for location-based games not requiring a map display or using their own imagery/scenery.
- Mercator scale distortion (scale factor). Corrects object dimensions and matches map projection at selected latitude
- Fully documented C# source code included
- Optimized performance
- Unity 5 support
pdf MapNav Operation Manual

Release Notes

Version 1.5.0 (July 2017)

New features

⦁ Included MapQuest native routes and markers. Both are fully customizable from the MapNav inspector.
⦁ Added a Map Format option. Available image formats are: jpg70(fastest), jpg80, jpg90 and png(best quality).
⦁ New Demo Scene: "MapQuest API Demo" to illustrate usage of MapQuest routes and markers.

Changes/Fixes

⦁ (2D View) Optimized camera ortographic size (zoom level) to increase map coverage and resolution.
⦁ Default maps provider updated to MapQuestAPI v5.
⦁ GPS_status.cs no longer using legacy OnGUI function but the newest Unity canvas via provided InfoCanvas prefab.
⦁ Map sizes updated to 640,960,1280 and 1920 pixels.
⦁ Additional map styles: light and dark.
⦁ (2D View) GetTapLocation can now be used from Unity Editor via mouse input (click on map to obtain location coordinates).

Version 1.4.1

New features

⦁ Mercator scale distortion (scale factor) can now be applied via the SetGeolocation.cs script inspector in order to correct object dimensions and match map projection at selected latitude.

Changes/Fixes

⦁ Transform scale is no longer being multiplied by 100 (previous default scale) when using SetGeolocation.cs
⦁ Demo scenes now using 1:1 as default map scale.
⦁ FixPlaneAspect.cs and FixQuadAspect have been updated to consider map scale and SetGeolocation.cs inspector values.

Version 1.4.0

New features

⦁ Variable map scale from 1:1 up to 1:100 via inspector.
⦁ GPS horizontal accuracy can now be graphically and numerically displayed (Accuracy.cs)
⦁ Instant speed calculator (InstantVelocity.cs)
⦁ New GetTapPosition.cs script retrieves touch position (latitude/longitude in decimal degrees) when user taps anywhere on the map.

Changes/Fixes

⦁ Internal location calculations now use double-precision floating-point format.
⦁ Pointer speed when using GPS Emulator and realistic behaviour is now accurate and displayed as m/s and Km/h.
⦁ GetDistance.cs no longer needs an exiting line renderer in the corresponding game object as it is now automatically added on start.
⦁ Increased camera near clipping plane distance to avoid flickering shadows from 3D objects in the scene.
⦁ Minor bug fixes.

Version 1.3.4

New features

⦁ Unity 5 compatible.
⦁ Map panning now enabled on Editor/Standalone using mouse.
⦁ Transform Scale added to SetGeolocation inspector.

Changes/Fixes

⦁ Fixed “degrees” symbol codification.
⦁ Improved “drag to pan” gesture behaviour.
⦁ Minor bug fixes.
⦁ Javascript (UnityScript) version no longer supported.

Version 1.3.3

New features

⦁ Distance calculator and path renderer: Automatic calculation of real-world distances between multiple waypoints (gameObjects) using a Haversine equation implementation. Includes a customizable path renderer.

Version 1.3.2

Changes/Fixes

⦁ Added C# version of all scripts. JavaScript source files are still available as a zip compressed file to avoid conflicts with new C# scripts.
⦁ Improved conversion from Decimal degrees to Degrees Minutes Seconds format.

Version 1.3.1

New features

⦁ Touch Interactions: "Pinch to Zoom" and "Drag to Pan".
⦁ Introduced tool to maintain 2D objects aspect (size) regardless of selected zoom level (FixQuadAspect.js/FixPlaneAspect.js).
⦁ New 2D-view map implementation using orthographic camera with automatic settings to fit all resolutions and device orientations.
⦁ Free Camera mode available in MapNav inspector (camera does not necessarily follow "player" object).
⦁ Disable Map option, for location-based games not requiring a map display or using their own imagery.
⦁ Map tile size (in pixel) can now be selected from the Inspector using drop-down list.

Changes/Fixes

⦁ Removed Fixed Pointer Aspect option from the MapNav inspector as it is no longer needed thanks to the new 2D tools.
⦁ InitScreen prefab is now using GUITexture and GUIText to render the GPS initialization screen and camera is not rotated.
⦁ Camera projection is now orthographic in 2D-view to avoid perspective distortion.
⦁ Updated Operation Manual documenting new features.