[OpenLayers-Users] Cannot upgrade to 2.6 because of vector
lines disappearing in IE (Frustrated)
Linda Rawson
linda.rawson at gmail.com
Wed Jun 18 10:52:09 EDT 2008
I forgot a line in the example. I forgot to set the pointlist to a
new array. Please add this line:
pointList = [];
Right before this line:
newPoint = new OpenLayers.Geometry.Point(-12250153.3626406,4852001.6114048);
Thanks so much for looking at this!
Linda
On Wed, Jun 18, 2008 at 8:48 AM, Linda Rawson <linda.rawson at gmail.com> wrote:
> Absolutely. Anything to help me here! I so want to go the new
> version. In this example, if I remove the first line I add then all
> of the zoom buttons work perfectly. The line appears at all zoom
> levels. The minute I add more than one line the problem occurs. I
> had all the style sheet stuff in the first example because I noticed
> you changed from relative positioning to absolute so I thought maybe
> that was causing the problem but that is not the case. It looks
> complex but all I am doing is adding 2 lines and a marker to a
> spherical mercator projection map. This works in 2.5 just not in 2.6.
>
> <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>
> #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&v=2&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 vectorLayer;
> 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());
>
> vectorLayer = new OpenLayers.Layer.Vector("Trails");
> markerLayer = new OpenLayers.Layer.Markers("WayPoints");
>
> map.addLayers([vectorLayer,markerLayer]);
>
> var style_trail = OpenLayers.Util.extend({},
> OpenLayers.Feature.Vector.style['default']);
> style_trail.strokeColor = "green";
> style_trail.strokeWidth = 5;
>
> var pointList = [];
>
> 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;
> vectorLayer.addFeatures(lineFeature);
>
> 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;
> vectorLayer.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);
> }
>
> </script>
> </head>
> <body onLoad="init()">
> <h1 id="title">Linda's Example. Push Zoom 5. You see lines. Push
> Zoom 6. No lines.</h1>
> <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>
> </body>
> </html>
>
>
>
> On Wed, Jun 18, 2008 at 1:47 AM, Andreas Hocevar
> <andreas.hocevar at gmail.com> wrote:
>>
>> Linda,
>>
>> it would be easier to help you if you provide a more stripped down
>> example that reproduces your problem.
>>
>> Regards,
>> Andreas.
>>
>> On Mon, Jun 16, 2008 at 6:13 AM, Linda Rawson <linda.rawson at gmail.com> wrote:
>> > Any 2.6 vector author's out there? I still have this issue.
>> >
>> > Thanks,
>> > Linda
>> >
>> > On Sun, Jun 8, 2008 at 3:07 PM, Linda Rawson <linda.rawson at gmail.com> wrote:
>> >>
>> >> No. With 2.5 you see the lines at all zoom levels in both IE and
>> >> Firefox. This must be a problem in Firefox as well. Maybe that will
>> >> help you guys trouble shoot.
>> >>
>> >> Linda
>> >>
>> >> On Sun, Jun 8, 2008 at 2:11 PM, Eric Lemoine <eric.c2c at gmail.com> wrote:
>> >> > On Wed, Jun 4, 2008 at 7:24 PM, Linda Rawson <linda.rawson at gmail.com>
>> >> > wrote:
>> >> >> 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.
>> >> >
>> >> > With FF2 I see the line after Zoom 6, but its coords seem to have
>> >> > changed. I don't see line after Zoom 7 and 8. Is this expected?
>> >> >
>> >> > --
>> >> > Eric
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Linda Rawson
>> >
>> >
>> >
>> > --
>> > Linda Rawson
>> > _______________________________________________
>> > Users mailing list
>> > Users at openlayers.org
>> > http://openlayers.org/mailman/listinfo/users
>> >
>> >
>
>
>
> --
> Linda Rawson
>
--
Linda Rawson
More information about the Users
mailing list