Sasha Maps is a GWT-based library for displaying and interacting with maps in the browser (similar to the client side of Google Maps API).
Resources
- Sasha Maps library (released April 16th, 2010).
- A simple demo application with OpenStreetMap.org tiles.
- A simple demo application for the iPhone (open this on an iPhone or iPod Touch).
- A developer's tutorial (PDF).
- The changelog.
The Latest Release
Sasha Maps has been updated to fully utilize GWT 2.0. It now uses the new event handling mechanism, ClientBundles, conditional deferred-binding properties and other cool features. Additionally, support for (iPhone) touch events and regular mouse events has been overhauled for consistency and ease. Both types of events are now handled and delivered via the same mechanism. Read the full changelog and the updated tutorial.
Important: A large portion of the API has been changed, and your existing code will likely not compile. Read the changelog and the javadoc for more details.
Important: Sasha Maps now requires GWT 2.0.
Why Sasha Maps
Sasha Maps offers the following advantages over other map-displaying libraries:- Written in Java/GWT, allowing millions of Java developers to use their existing skills in developing web applications with maps. Several other map-displaying libraries offer GWT wrappers for their JavaScript, but this often results in clumsy APIs that feel awkward and inelegant to a Java developer.
- Compiles to standard HTML/Javascript. Many other map-displaying libraries require the user to install plugins, such as Flash or Silverlight. Sasha Maps results in standard HTML and Javascript code which runs on all modern browsers under any operating system (and now on the iPhone too!).
- You get the source code. As a commercial licensee, you receive the full source code of Sasha Maps and are free to modify it as you like. This is extremely helpful for debugging and implementing certain features that require access to the innards of a library. It also means that you don't have to depend on anyone else for maintanance or trust them with your sensitive application/data (as you can inspect the source code yourself).
- A self-contained library with no external dependencies. Many other map-displaying libraries are hosted on their owner's servers and require you to "include" their script in your web page. This means that your users must have access to the internet and the library can't be used in a closed local network.
- A self-contained library with no external dependencies. When you use Sasha Maps, you have full control over it. Your application is hosted on your server and you are not dependent on another company to keep its servers up and running. You decide when to upgrade to a newer version of Sasha Maps and you don't have to rely on someone else to keep older versions available and/or bug-free.
- Designed to display your maps. Many other map-displaying libraries allow you to display your maps, but are generally geared towards displaying their own maps. Sasha Maps offers a convenient and straightforward API to implement support for your maps. On the other hand, it has ready-to-use implementations of many popular tile protocols (Web Map Service, OpenStreetMap, Google Maps).
- Complete and fast. With all the features you would expect for a map-displaying library, Sasha Maps is still as fast as any other similar library, and in many cases, faster. Animations are smooth and the UI is responsive.
- iPhone support. Sasha Maps works just as smoothly on the iPhone/iPod Touch as it does on the desktop. It supports all the iPhone's native touch gestures (dragging, pinching, tapping), just as you would expect.
Licensing
Sasha Maps is released under the Attribution-Noncommercial-Share Alike 3.0 Unported license. The source code released under this license is obfuscated. If you wish to obtain a license for commercial purposes, contact me at msasha@gmail.com. A commercial license costs $500 per application in which Sasha Maps is used. If you wish to receive the complete, unobfuscated source code with the license, this costs an additional $1500. You will also receive free updates for a year.
Map Data
Sasha Maps does not include any map data or tiles - it is merely a library allowing you to build an application which will show maps. To actually display maps on your website, you need to either use your own maps or obtain permission from the party which owns the map data and/or tiles. I am in no way encouraging, or responsible for, unauthorized use of anyone's map data and/or tiles.