[Mapbender-commits] r5617 - trunk/mapbender/http/javascripts

svn_mapbender at osgeo.org svn_mapbender at osgeo.org
Wed Feb 24 04:32:16 EST 2010


Author: christoph
Date: 2010-02-24 04:32:00 -0500 (Wed, 24 Feb 2010)
New Revision: 5617

Modified:
   trunk/mapbender/http/javascripts/geometry.js
Log:
optional icon width and height

Modified: trunk/mapbender/http/javascripts/geometry.js
===================================================================
--- trunk/mapbender/http/javascripts/geometry.js	2010-02-24 09:29:01 UTC (rev 5616)
+++ trunk/mapbender/http/javascripts/geometry.js	2010-02-24 09:32:00 UTC (rev 5617)
@@ -1637,7 +1637,6 @@
 	 * @param {MultiGeometry} g a MultiGeometry object
 	 * @param {String} col a color
 	 * @private
-	 */
  	this.drawGeometry = function(t,g,col){
  		var mapframeWidth = map.width;
 		var mapframeHeight = map.height;
@@ -1645,9 +1644,11 @@
 		if(t == geomType.point) {
 			var poiIcon = g.e.getElementValueByName("Mapbender:icon");
 			var poiOffsetX = parseInt(g.e.getElementValueByName("Mapbender:iconOffsetX"), 10);
-
 			var poiOffsetY = parseInt(g.e.getElementValueByName("Mapbender:iconOffsetY"), 10);
 
+			var poiWidth = parseInt(g.e.getElementValueByName("Mapbender:iconWidth"), 10);
+			var poiHeight = parseInt(g.e.getElementValueByName("Mapbender:iconHeight"), 10);
+
 			for(var i=0, ilen = g.count(); i < ilen; i++){
 				var currentGeom = g.get(i);
 				var p = realToMap(mapframe, currentGeom.get(0));
@@ -1664,7 +1665,12 @@
 				) {
 					// if the point contains a link to an icon, display the icon
 					if (poiIcon) {
-						displayIcon(poiIcon, px, py, poiOffsetX, poiOffsetY);
+						if (isNan(poiWidth) || isNan(poiHeight)) {
+							displayIcon(poiIcon, px, py, poiOffsetX, poiOffsetY);
+						}
+						else {
+							displayIcon(poiIcon, px, py, poiOffsetX, poiOffsetY, poiWidth, poiHeight);
+						}
 					}
 					else {
 						drawCircle(px-1, py-1, diameter,col);
@@ -1783,7 +1789,7 @@
 	 * @param {Float} x x coordinate within the map frame
 	 * @param {Float} y y coordinate within the map frame
 	 */
-	var displayIcon = function (url, x, y, offsetX, offsetY) {
+	var displayIcon = function (url, x, y, offsetX, offsetY, width, height) {
 
 		if (typeof offsetX !== "number") {
 			offsetX = -40;
@@ -1796,7 +1802,11 @@
 			var newImg = document.createElement("img");
 			var newImgTop = y + offsetY;
 			var newImgLeft = x + offsetX;
-			that.canvasDivTag.getTag().innerHTML = "<img name='mapSymbol' id='mapSymbol' src='" + url + "' style='position:absolute;top:"+newImgTop+";left:"+newImgLeft+";z-index:100'/>";
+			that.canvasDivTag.getTag().innerHTML = "<img name='mapSymbol' id='mapSymbol' src='" + 
+				url + "' style='position:absolute;top:" + newImgTop + ";left:" + newImgLeft + 
+				";" + (width !== undefined ? "width:" + width + "px;" : "") +
+				(height !== undefined ? "height:" + height + "px;" : "") +
+				";z-index:100'/>";
 		}
 		else{
 			var newImg = document.createElement("img");
@@ -1805,14 +1815,15 @@
 			newImg.name = "mapSymbol";
 			newImg.id = "mapSymbol";
 			that.canvasDivTag.getTag().appendChild(newImg);	
-			//newImg.style.cursor = "help";
 			newImg.style.position = "absolute";
 			
 			// center the image at x, y
 			newImg.style.top = y + offsetY;
 			newImg.style.left = x + offsetX;
-	//		newImg.style.top = y - Math.round(80);
-	//		newImg.style.left = x;
+			if (width !== undefined && height !== undefined) {
+				newImg.style.width = width;
+				newImg.style.height = height;
+			}
 			newImg.style.zIndex = 100;
 		}
 	};



More information about the Mapbender_commits mailing list