91 lines
2.3 KiB
JavaScript
91 lines
2.3 KiB
JavaScript
/* Overviewer.js
|
|
*
|
|
* Must be the first file included from index.html
|
|
*/
|
|
|
|
|
|
var overviewer = {};
|
|
|
|
|
|
/**
|
|
* This holds the map, probably the most important var in this file
|
|
*/
|
|
overviewer.map = null;
|
|
overviewer.worldCtrl = null;
|
|
overviewer.layerCtrl = null;
|
|
overviewer.compass = null;
|
|
overviewer.coord_box = null;
|
|
overviewer.current_world = null;
|
|
|
|
/// Records the current layer by name (if any) of each world
|
|
overviewer.current_layer = {};
|
|
|
|
|
|
overviewer.collections = {
|
|
/**
|
|
* MapTypes that aren't overlays will end up in here.
|
|
*/
|
|
'mapTypes': {},
|
|
/**
|
|
* The mapType names are in here.
|
|
*/
|
|
'mapTypeIds': [],
|
|
/**
|
|
* This is the current infoWindow object, we keep track of it so that
|
|
* there is only one open at a time.
|
|
*/
|
|
'infoWindow': null,
|
|
|
|
/**
|
|
* When switching regionsets, where should we zoom to?
|
|
* Defaults to spawn. Stored as map of world names to [latlng, zoom]
|
|
*/
|
|
'centers': {},
|
|
|
|
'overlays': {},
|
|
|
|
'worldViews': [],
|
|
|
|
'haveSigns': false,
|
|
|
|
/**
|
|
* Hold the raw marker data for each tilest
|
|
*/
|
|
'markerInfo': {},
|
|
|
|
/**
|
|
* holds a reference to the spawn marker.
|
|
*/
|
|
'spawnMarker': null,
|
|
|
|
/**
|
|
* if a user visits a specific URL, this marker will point to the
|
|
* coordinates in the hash
|
|
*/
|
|
'locationMarker': null
|
|
};
|
|
|
|
overviewer.classes = {
|
|
/**
|
|
* Our custom projection maps Latitude to Y, and Longitude to X as
|
|
* normal, but it maps the range [0.0, 1.0] to [0, tileSize] in both
|
|
* directions so it is easier to position markers, etc. based on their
|
|
* position (find their position in the lowest-zoom image, and divide
|
|
* by tileSize)
|
|
*/
|
|
'MapProjection' : function() {
|
|
this.inverseTileSize = 1.0 / overviewerConfig.CONST.tileSize;
|
|
},
|
|
/**
|
|
* This is a mapType used only for debugging, to draw a grid on the screen
|
|
* showing the tile co-ordinates and tile path. Currently the tile path
|
|
* part does not work.
|
|
*
|
|
* @param google.maps.Size tileSize
|
|
*/
|
|
'CoordMapType': function(tileSize) {
|
|
this.tileSize = tileSize;
|
|
}
|
|
|
|
};
|