x

Marker werden nicht richtig angezeigt


  1. Marker werden nicht richtig angezeigt · Ghostrider82 (Gast) · 24.08.2010 21:05 · [flux]

    Hallöchen,

    ich stehe mal wieder vor einem kleinen Problem.

    Ich möchte gerne Wegpunkte, die ich aus einer Datenbank entnehme, auf eine Karte projezieren (Marker).

    <script>
    map = new OpenLayers.Map('mapdiv');
    map.addLayer(new OpenLayers.Layer.OSM());
    var zoom=16;

    var markers = new OpenLayers.Layer.Markers( 'Markers' );
    map.addLayer(markers);

    var size2 = new OpenLayers.Size(35,35);
    var offset2 = new OpenLayers.Pixel(-(size2.w/2), -size2.h);
    var icon4 = new OpenLayers.Icon('centerPoi.gif',size2,offset2);
    <?php
    for($i=1;$i<$rows;$i++)
    {
    echo "var lonLat = new OpenLayers.LonLat( $koord_e[$i],$koord_n[$i]) .transform(
    new OpenLayers.Projection('EPSG:4326'), // transform from WGS 1984
    map.getProjectionObject() // to Spherical Mercator Projection
    );\n
    markers.addMarker(new OpenLayers.Marker(lonLat));";
    }

    >

    map.setCenter (lonLat, zoom);
    </script>

    Funktioniert. Jeder Punkt zeigt einen Marker auf der Karte.

    Tausche ich nun die Zeile
    markers.addMarker(new OpenLayers.Marker(lonLat));";

    gegen

    markers.addMarker(new OpenLayers.Marker(lonLat,icon4));";

    Zeigt er das Icon 4 nur ein einziges Mal an, quasi ein Wegpunkt.

    Hat jemand einen Tip, was ich hier falsch mache?
    Für den Spaghetticode entschuldige ich mich jetzt schon, ich tu' mich mit JavaScript und Openlayers immernoch ein wenig schwer.

    Vielen Dank im Voraus,

    Boris


    • Re: Marker werden nicht richtig angezeigt · Heckflosse (Gast) · 26.03.2011 20:06 · [flux]

      Ich denke, die Frage ist nicht mehr aktuell. Aber da ich vorbeikam und denke zu wissen, was das problem sein könnte, schreib ich einfach mal was.

      In der Openlayers-Api-Doku (http://dev.openlayers.org/apidocs/files … er-js.html) steht:
      "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."
      Also keine Ikone zweifach verwenden. Es wird im Text der Doku dann wohl vorgeschlagen, die Ikone zu klonen.