[OpenLayers-Users] Cannot upgrade to 2.6 because of vector lines disappearing in IE (Frustrated)

Linda Rawson linda.rawson at gmail.com
Wed Jun 4 13:24:17 EDT 2008


I have a problem with upgrading to 2.6.  I need some of the other
features and I cannot get this to work.  I have tried to find out
where in the code it has changed but I cannot find it.

ONLY in IE does this not work.

Extract this example.  You will see a green line and an aqua marker on
the screen.

Push the button that says Zoom 5.

You still have a green line and an aqua marker on the screen.

Push the button that says Zoom 6.

No lines.  Not for Zoom 7 or Zoom 8 either.

I have attached the example but in case it gets stripped.  Here is the example:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Linda Rawson Test Case</title><link
href="http://www.openlayers.org/api/theme/default/style.css"
rel="stylesheet" type="text/css">
	<style type="text/css">body {
			color: Black;
			font-family: Verdana, Arial, Helvetica, sans-serif;
			margin: 0 auto;
			padding: 0px;
			border: 0px;
			font-size: 10px;
			background-color: #584E3D;
		}
		.{
			font-family:Verdana;
			font-size:10px
		}	
		#headerDiv {
			font-size: 11px;
			color: #DBCEB8;
			font-family: Georgia, "Times New Roman", Times, serif;
			width: 100%;
			height: 12px;
		}
		.leftPanelheader {
			height: 28px;
			color: white;
			font-weight: normal;
			background: #4B3624;
			border-bottom: thin solid #BDB76B;
			font: 14px;
		}
		.leftTreeTable {
			font-size: 9px;
		}
		.boxTitleText {
			float: left;
			display: block;
			font-size: 15px;
			font-family:Georgia,serif;
			padding-left: 2px;
			padding-top: 2px;
		}
		.upperLeftBox {
			height: 300px;
			background-color: #d0caba;
		}
		.panelFooter {
			color: white;
			background: #4B3624;
		}	
	#map {
		   width: 720px;
		   height: 720px;
		   border: 1px solid #4B3624;
			background: White;
		}
        .olControlAttribution { bottom: 0px!important }</style>
<script src="http://www.openlayers.org/api/OpenLayers.js"
type="text/javascript"></script>
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>
<script type="text/javascript">var map;

       // avoid pink tiles
       OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
       OpenLayers.Util.onImageLoadErrorColor = "transparent";
	
	var vectorRouteLayer, vectorTrailLayer;
	var markerLayer, boxes, newPoint;

	function init(){
		var options = {
		    projection: new OpenLayers.Projection("EPSG:900913"),
		    //displayProjection: new OpenLayers.Projection("EPSG:4326"),
		    units: "m",
			numZoomLevels: 19,
		    maxResolution: 156543.0339,
		    maxExtent: new OpenLayers.Bounds(-20037508, -20037508,
		                                     20037508, 20037508.34)
		};
		map = new OpenLayers.Map('map', options);
		
		// create Google Mercator layers
		var gmap = new OpenLayers.Layer.Google(
		    "Google Streets",
		    {'sphericalMercator': true}
		);
		map.addLayer(gmap);
		
		map.addControl(new OpenLayers.Control.PanZoomBar());
		map.addControl(new OpenLayers.Control.MousePosition());
		
		vectorRouteLayer = new OpenLayers.Layer.Vector("Routes");
		vectorTrailLayer = new OpenLayers.Layer.Vector("Trails");
		markerLayer = new OpenLayers.Layer.Markers("WayPoints");
		
		map.addLayers([vectorRouteLayer,vectorTrailLayer,markerLayer]);
		
		var style_trail = OpenLayers.Util.extend({},
OpenLayers.Feature.Vector.style['default']);
		var myVectorTrailLayer;
		myVectorTrailLayer = vectorTrailLayer;
		style_trail.strokeColor = "green";
		style_trail.strokeWidth = 5;
		var pointList = [];
		var newPoint;
		newPoint = new OpenLayers.Geometry.Point(-13653735.8487833,5726045.3578081);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-13653731.3960036,5726056.5070679);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-13653730.8394062,5726044.7207079);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-13653743.1958697,5726043.9243328);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-13653754.1051798,5726046.9505586);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-13653760.4503907,5726056.5070679);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-13653767.4635187,5726065.5857612);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-13653830.136392,5726052.2066375);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-13653846.5003571,5726042.3315828);
		pointList.push(newPoint);
		
		var lineFeature = new OpenLayers.Feature.Vector(
			new OpenLayers.Geometry.LineString(pointList));
		lineFeature.fid = 52730;
		myVectorTrailLayer.addFeatures(lineFeature);
		
		pointList = [];
		newPoint = new OpenLayers.Geometry.Point(-12250153.3626406,4852001.6114048);
		pointList.push(newPoint);
		
		newPoint = new OpenLayers.Geometry.Point(-12194315.5060664,4800503.5113048);
		pointList.push(newPoint);
		newPoint = new OpenLayers.Geometry.Point(-12180445.0975155,4873109.008858);
		pointList.push(newPoint);
		lineFeature = new OpenLayers.Feature.Vector(
		             new OpenLayers.Geometry.LineString(pointList),null,style_trail);
		lineFeature.fid = 52751;
		myVectorTrailLayer.addFeatures([lineFeature]);
		
		var size = new OpenLayers.Size(15, 15);
		var offset = new OpenLayers.Pixel(-(size.w/2), -size.h);
		var icon = new
OpenLayers.Icon('http://boston.openguides.org/markers/AQUA.png', size,
offset);
		markerLayer.addMarker(new OpenLayers.Marker(new
OpenLayers.LonLat((newPoint.x + 400), (newPoint.y - 400)), icon));
		
		map.setCenter(new OpenLayers.LonLat(newPoint.x, newPoint.y), 13)
	}
	
	function zoomToScale(zoom) {
           if (zoom == 8) map.zoomToScale(3385.5001275);
           else if(zoom == 7) map.zoomToScale(6771.000255);
           else if (zoom == 6) map.zoomToScale(13542);
           else if (zoom == 5) map.zoomToScale(27084.001020);
           else if (zoom == 4) map.zoomToScale(54168.001020);
           else if (zoom == 3) map.zoomToScale(108337);
           else if (zoom == 2) map.zoomToScale(3466752.1306573446);
           else if (zoom == 1) map.zoomToScale(13867008.522629378);
           else if (zoom == 0) map.zoomToScale(55468034.09051751);
	}
	
	function setTableSize() {
		var percentage = 100;
		var screenWidth = screen.width;
		var leftPixels = "0px";
		if (screenWidth > 1024) {
			percentage = Math.round((1024 / screenWidth) * 100) / 100;
			percentage = percentage * 100;
			percentage = percentage + 3;
			leftPixels = Math.round((screenWidth - 1024) / 2) + "px";
		}
		var percentageString = percentage + "%";
		document.getElementById("mainPageDiv").style.width = percentageString;
		document.getElementById("mainPageDiv").style.left = leftPixels;
		if(navigator.appName.indexOf("Microsoft")!=-1) {
			document.getElementById("mainPageDiv").style.position="absolute";
		}
	}
</script>
</head>
<body onLoad="setTableSize();init()">
<h1 id="title">Linda's Example.  Push Zoom 5.  You see lines.  Push
Zoom 6.  No lines.</h1>
	<div id="mainPageDiv" style="width: 100%; margin: 2em auto 0
auto;top: 0px;">	<!-- header -->
		<div id="headerDiv">
		</div>
		<div id="restOfPage">
			<table border="0" cellspacing="0" cellpadding="0" align="center"
width="100%">
				<tr>
					<td valign="top">
						<table border="0" cellspacing="0" cellpadding="0" align="center"
width="100%">
						</table>
						<div>
							<table class="leftTreeTable">
								<tr>
									<td valign="top">
										<div id="maps">
											<div id="mapsHeader" class="leftPanelheader">
												<div class="boxTitleText">	My Maps
												</div>
												<div class="boxIcons">	Delete Selected
												</div>
											</div>
											<div id="treebox_tree" class="upperLeftBox">
											</div>
											<div id="leftPanelFooter" class="panelFooter">
											</div>
										</div>
									</td>
								</tr>
							</table>
						</div>
					</td>
					<td>
						<div id="map">
						</div>
						<button onClick="zoomToScale(5);">Zoom 5</button>
						<button onClick="zoomToScale(6);">Zoom 6</button>
						<button onClick="zoomToScale(7);">Zoom 7</button>
						<button onClick="zoomToScale(8);">Zoom 8</button>
					</td>
				</tr>
			</table>
		</div>
	</div>
</body>
</html>

--
Linda Rawson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20080604/3efd8ec9/testvector-features.html


More information about the Users mailing list