/* Copyright (c) 2006-2007 MetaCarta, Inc., published under a modified BSD license. * See http://svn.openlayers.org/trunk/openlayers/repository-license.txt * for the full text of the license. */ /** * @requires OpenLayers/Layer/EventPane.js * @requires OpenLayers/Layer/FixedZoomLevels.js * * Class: OpenLayers.Layer.VirtualEarth * * Inherits: * - * - */ OpenLayers.Layer.VirtualEarth = OpenLayers.Class( OpenLayers.Layer.EventPane, OpenLayers.Layer.FixedZoomLevels, { /** * Constant: MIN_ZOOM_LEVEL * {Integer} 1 */ MIN_ZOOM_LEVEL: 1, /** * Constant: MAX_ZOOM_LEVEL * {Integer} 17 */ MAX_ZOOM_LEVEL: 17, /** * Constant: RESOLUTIONS * {Array(Float)} Hardcode these resolutions so that they are more closely * tied with the standard wms projection */ RESOLUTIONS: [1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.001373291015625,0.0006866455078125,0.00034332275390625,0.000171661376953125,0.0000858306884765625,0.00004291534423828125], /** * APIProperty: type * {VEMapType} */ type: null, /** * Constructor: OpenLayers.Layer.VirtualEarth * * Parameters: * name - {String} * options - {Object} */ initialize: function(name, options) { OpenLayers.Layer.EventPane.prototype.initialize.apply(this, arguments); OpenLayers.Layer.FixedZoomLevels.prototype.initialize.apply(this, arguments); }, /** * Method: loadMapObject */ loadMapObject:function() { // create div and set to same size as map var veDiv = OpenLayers.Util.createDiv(this.name); var sz = this.map.getSize(); veDiv.style.width = sz.w; veDiv.style.height = sz.h; this.div.appendChild(veDiv); try { // crash prevention this.mapObject = new VEMap(this.name); } catch (e) { } if (this.mapObject != null) { try { // this is to catch a Mozilla bug without falling apart this.mapObject.LoadMap(null, null, this.type); } catch (e) { } this.mapObject.HideDashboard(); } }, /** * APIMethod: getWarningHTML * * Return: * {String} String with information on why layer is broken, how to get * it working. */ getWarningHTML:function() { var html = ""; html += "The VE Layer was unable to load correctly.
"; html += "
"; html += "To get rid of this message, select a new BaseLayer " html += "in the layer switcher in the upper-right corner.
"; html += "
"; html += "Most likely, this is because the VE library"; html += " script was either not correctly included.
"; html += "
"; html += "Developers: For help getting this working correctly, "; html += "