%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : www.kowitt.ac.th / Your IP : 216.73.216.118 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:/inetpub/wwwroot/phpMyAdmin/js/openlayers/src/openlayers/lib/OpenLayers/ |
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/BaseTypes/Class.js * @requires OpenLayers/Events.js * @requires OpenLayers/Icon.js */ /** * Class: OpenLayers.Marker * Instances of OpenLayers.Marker are a combination of a * <OpenLayers.LonLat> and an <OpenLayers.Icon>. * * Markers are generally added to a special layer called * <OpenLayers.Layer.Markers>. * * Example: * (code) * var markers = new OpenLayers.Layer.Markers( "Markers" ); * map.addLayer(markers); * * var size = new OpenLayers.Size(21,25); * var offset = new OpenLayers.Pixel(-(size.w/2), -size.h); * var icon = new OpenLayers.Icon('http://www.openlayers.org/dev/img/marker.png', size, offset); * markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon)); * markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(0,0),icon.clone())); * * (end) * * Note that if you pass an icon into the Marker constructor, it will take * that icon and use it. This means that you should not share icons between * markers -- you use them once, but you should clone() for any additional * markers using that same icon. */ OpenLayers.Marker = OpenLayers.Class({ /** * Property: icon * {<OpenLayers.Icon>} The icon used by this marker. */ icon: null, /** * Property: lonlat * {<OpenLayers.LonLat>} location of object */ lonlat: null, /** * Property: events * {<OpenLayers.Events>} the event handler. */ events: null, /** * Property: map * {<OpenLayers.Map>} the map this marker is attached to */ map: null, /** * Constructor: OpenLayers.Marker * * Parameters: * lonlat - {<OpenLayers.LonLat>} the position of this marker * icon - {<OpenLayers.Icon>} the icon for this marker */ initialize: function(lonlat, icon) { this.lonlat = lonlat; var newIcon = (icon) ? icon : OpenLayers.Marker.defaultIcon(); if (this.icon == null) { this.icon = newIcon; } else { this.icon.url = newIcon.url; this.icon.size = newIcon.size; this.icon.offset = newIcon.offset; this.icon.calculateOffset = newIcon.calculateOffset; } this.events = new OpenLayers.Events(this, this.icon.imageDiv); }, /** * APIMethod: destroy * Destroy the marker. You must first remove the marker from any * layer which it has been added to, or you will get buggy behavior. * (This can not be done within the marker since the marker does not * know which layer it is attached to.) */ destroy: function() { // erase any drawn features this.erase(); this.map = null; this.events.destroy(); this.events = null; if (this.icon != null) { this.icon.destroy(); this.icon = null; } }, /** * Method: draw * Calls draw on the icon, and returns that output. * * Parameters: * px - {<OpenLayers.Pixel>} * * Returns: * {DOMElement} A new DOM Image with this marker's icon set at the * location passed-in */ draw: function(px) { return this.icon.draw(px); }, /** * Method: erase * Erases any drawn elements for this marker. */ erase: function() { if (this.icon != null) { this.icon.erase(); } }, /** * Method: moveTo * Move the marker to the new location. * * Parameters: * px - {<OpenLayers.Pixel>|Object} the pixel position to move to. * An OpenLayers.Pixel or an object with a 'x' and 'y' properties. */ moveTo: function (px) { if ((px != null) && (this.icon != null)) { this.icon.moveTo(px); } this.lonlat = this.map.getLonLatFromLayerPx(px); }, /** * APIMethod: isDrawn * * Returns: * {Boolean} Whether or not the marker is drawn. */ isDrawn: function() { var isDrawn = (this.icon && this.icon.isDrawn()); return isDrawn; }, /** * Method: onScreen * * Returns: * {Boolean} Whether or not the marker is currently visible on screen. */ onScreen:function() { var onScreen = false; if (this.map) { var screenBounds = this.map.getExtent(); onScreen = screenBounds.containsLonLat(this.lonlat); } return onScreen; }, /** * Method: inflate * Englarges the markers icon by the specified ratio. * * Parameters: * inflate - {float} the ratio to enlarge the marker by (passing 2 * will double the size). */ inflate: function(inflate) { if (this.icon) { this.icon.setSize({ w: this.icon.size.w * inflate, h: this.icon.size.h * inflate }); } }, /** * Method: setOpacity * Change the opacity of the marker by changin the opacity of * its icon * * Parameters: * opacity - {float} Specified as fraction (0.4, etc) */ setOpacity: function(opacity) { this.icon.setOpacity(opacity); }, /** * Method: setUrl * Change URL of the Icon Image. * * url - {String} */ setUrl: function(url) { this.icon.setUrl(url); }, /** * Method: display * Hide or show the icon * * display - {Boolean} */ display: function(display) { this.icon.display(display); }, CLASS_NAME: "OpenLayers.Marker" }); /** * Function: defaultIcon * Creates a default <OpenLayers.Icon>. * * Returns: * {<OpenLayers.Icon>} A default OpenLayers.Icon to use for a marker */ OpenLayers.Marker.defaultIcon = function() { return new OpenLayers.Icon(OpenLayers.Util.getImageLocation("marker.png"), {w: 21, h: 25}, {x: -10.5, y: -25}); };