%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 122.154.253.140 / Your IP : 216.73.216.49 Web Server : Microsoft-IIS/7.5 System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.6.31 Disable Function : NONE MySQL : ON | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/BK/wwwroot/phpMyAdmin/js/openlayers/src/openlayers/lib/OpenLayers/Layer/ |
Upload File : |
/* Copyright (c) 2006-2013 by OpenLayers Contributors (see authors.txt for
* full list of contributors). Published under the 2-clause BSD license.
* See license.txt in the OpenLayers distribution or repository for the
* full text of the license. */
/**
* @requires OpenLayers/Layer/Grid.js
* @requires OpenLayers/Layer/KaMap.js
*/
/**
* Class: OpenLayers.Layer.KaMapCache
*
* This class is designed to talk directly to a web-accessible ka-Map
* cache generated by the precache2.php script.
*
* To create a a new KaMapCache layer, you must indicate also the "i" parameter
* (that will be used to calculate the file extension), and another special
* parameter, object names "metaTileSize", with "h" (height) and "w" (width)
* properties.
*
* // Create a new kaMapCache layer.
* var kamap_base = new OpenLayers.Layer.KaMapCache(
* "Satellite",
* "http://www.example.org/web/acessible/cache",
* {g: "satellite", map: "world", i: 'png24', metaTileSize: {w: 5, h: 5} }
* );
*
* // Create an kaMapCache overlay layer (using "isBaseLayer: false").
* // Forces the output to be a "gif", using the "i" parameter.
* var kamap_overlay = new OpenLayers.Layer.KaMapCache(
* "Streets",
* "http://www.example.org/web/acessible/cache",
* {g: "streets", map: "world", i: "gif", metaTileSize: {w: 5, h: 5} },
* {isBaseLayer: false}
* );
*
* The cache URLs must look like:
* var/cache/World/50000/Group_Name/def/t-440320/l20480
*
* This means that the cache generated via tile.php will *not* work with
* this class, and should instead use the KaMap layer.
*
* More information is available in Ticket #1518.
*
* Inherits from:
* - <OpenLayers.Layer.KaMap>
* - <OpenLayers.Layer.Grid>
*/
OpenLayers.Layer.KaMapCache = OpenLayers.Class(OpenLayers.Layer.KaMap, {
/**
* Constant: IMAGE_EXTENSIONS
* {Object} Simple hash map to convert format to extension.
*/
IMAGE_EXTENSIONS: {
'jpeg': 'jpg',
'gif' : 'gif',
'png' : 'png',
'png8' : 'png',
'png24' : 'png',
'dithered' : 'png'
},
/**
* Constant: DEFAULT_FORMAT
* {Object} Simple hash map to convert format to extension.
*/
DEFAULT_FORMAT: 'jpeg',
/**
* Constructor: OpenLayers.Layer.KaMapCache
*
* Parameters:
* name - {String}
* url - {String}
* params - {Object} Parameters to be sent to the HTTP server in the
* query string for the tile. The format can be set via the 'i'
* parameter (defaults to jpg) , and the map should be set via
* the 'map' parameter. It has been reported that ka-Map may behave
* inconsistently if your format parameter does not match the format
* parameter configured in your config.php. (See ticket #327 for more
* information.)
* options - {Object} Additional options for the layer. Any of the
* APIProperties listed on this layer, and any layer types it
* extends, can be overridden through the options parameter.
*/
initialize: function(name, url, params, options) {
OpenLayers.Layer.KaMap.prototype.initialize.apply(this, arguments);
this.extension = this.IMAGE_EXTENSIONS[this.params.i.toLowerCase() || this.DEFAULT_FORMAT];
},
/**
* Method: getURL
*
* Parameters:
* bounds - {<OpenLayers.Bounds>}
*
* Returns:
* {String} A string with the layer's url and parameters and also the
* passed-in bounds and appropriate tile size specified as
* parameters
*/
getURL: function (bounds) {
bounds = this.adjustBounds(bounds);
var mapRes = this.map.getResolution();
var scale = Math.round((this.map.getScale() * 10000)) / 10000;
var pX = Math.round(bounds.left / mapRes);
var pY = -Math.round(bounds.top / mapRes);
var metaX = Math.floor(pX / this.tileSize.w / this.params.metaTileSize.w) * this.tileSize.w * this.params.metaTileSize.w;
var metaY = Math.floor(pY / this.tileSize.h / this.params.metaTileSize.h) * this.tileSize.h * this.params.metaTileSize.h;
var components = [
"/",
this.params.map,
"/",
scale,
"/",
this.params.g.replace(/\s/g, '_'),
"/def/t",
metaY,
"/l",
metaX,
"/t",
pY,
"l",
pX,
".",
this.extension
];
var url = this.url;
if (OpenLayers.Util.isArray(url)) {
url = this.selectUrl(components.join(''), url);
}
return url + components.join("");
},
CLASS_NAME: "OpenLayers.Layer.KaMapCache"
});