Coder Social home page Coder Social logo

unityslippymap's Introduction

UnitySlippyMap

A slippy map implementation written in C# for Unity3D.

It aims at helping developpers create 2D/3D maps working with a variety of online tile providers (OpenStreetMap, VirtualEarth/Bing Maps, ...) and offline sources (DBMap, MBTiles, ...) like Route-me (iOS) or Leaflet (HTML5), on every platform supported by Unity3D. Google Maps won't be supported (see Google Maps tiles terms of service). Yahoo! Maps neither since it was closed on September 13, 2011. Nokia Maps (now called Here) provides a REST API designed for static maps. They could be used as tiles but would get a 'Nokia' watermark on each one of them. Also Nokia and Microsoft are now teaming up so supporting both might be redundant.

Hopefully, it will also be compliant with a number of popular OGC standards like WMS or GML.

Map objects (tiles, markers, ...) are placed in 3D space along X and Z axis. The idea is to be able to use 3D geometry as terrain or markers with a free camera.

Current status

UnitySlippyMap is in alpha stage and currently supports:

It is tested in Unity3D Editor 3.5.6f4 & 4.0.0, and on iOS (beware the Unity 4 GPS bug) and Android devices.

See the TODO list if you want to contribute and don't know where to start.

License

UnitySplippyMap is released under the LGPL 3.0.

TODO

Here is a short list of what could be fixed or added to UnitySlippyMap:

  • Fix the voodooish way I implemented the camera elevation and tile positioning (see the comments in Map.cs)

  • Handle device orientations properly when using the compass

  • Add new map objects (polygons, lines, ...)

  • Add support for orthographic cameras

  • Add a better zoom rounding (>80%, <20%?)

  • Add a map constraint to a given 'size', bounce on limits

  • Add movements inertia

  • Support other versions of WMS (used trang to convert dtd to xsd, then Xsd2Code to generate xml serializable classes)

  • Subdomain rotations for VirtualEarth & OSM

  • Display logo and copyright for VirtualEarth (url in metadata) & OSM (see OSM Wiki)

  • Optimise, use one material for the tiles to enable dynamic batching: tried and failed, merging textures on the fly is to costly (see TextureAtlasManager.cs)

unityslippymap's People

Contributors

astrubel avatar colivienter avatar jondewoo avatar tamleis avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.