[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&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 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