scale.js

来自「用来在地图上做操作GIS,在地图上做标记」· JavaScript 代码 · 共 74 行

JS
74
字号
/* Copyright (c) 2006-2007 MetaCarta, Inc., published under the BSD license. * See http://svn.openlayers.org/trunk/openlayers/release-license.txt  * for the full text of the license. *//** * @requires OpenLayers/Control.js * * Class: OpenLayers.Control.Scale * Display a small scale indicator on the map. * Inherits from: *  - <OpenLayers.Control> */OpenLayers.Control.Scale = OpenLayers.Class(OpenLayers.Control, {        /**     * Parameter: element     * {DOMElement}     */    element: null,        /**     * Constructor: OpenLayers.Control.Scale     *      * Parameters:     * element - {DOMElement}      * options - {Object}      */    initialize: function(element, options) {        OpenLayers.Control.prototype.initialize.apply(this, [options]);        this.element = OpenLayers.Util.getElement(element);            },    /**     * Method: draw     *      * Returns:     * {DOMElemen}     */        draw: function() {        OpenLayers.Control.prototype.draw.apply(this, arguments);        if (!this.element) {            this.element = document.createElement("div");            this.div.className = this.displayClass;            this.element.style.fontSize="smaller";            this.div.appendChild(this.element);        }        this.map.events.register( 'moveend', this, this.updateScale);        this.updateScale();        return this.div;    },       /**     * Method: updateScale     */    updateScale: function() {        var scale = this.map.getScale();        if (!scale) return;        if (scale >= 9500 && scale <= 950000) {            scale = Math.round(scale / 1000) + "K";        } else if (scale >= 950000) {            scale = Math.round(scale / 1000000) + "M";        } else {            scale = Math.round(scale);        }                    this.element.innerHTML = "Scale = 1 : " + scale;    },     CLASS_NAME: "OpenLayers.Control.Scale"});

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?