qualidat
Threadersteller
Dabei seit: 14.09.2006
Ort: Eichwalde bei Berlin
Alter: 63
Geschlecht:
|
Verfasst Mi 16.10.2013 10:28
Titel OSM/JS: Marker mit Popup - Closebox funzt nicht |
|
|
Hallo, ich habe hier ein Schülerprojekt mit Denkmalen in einem Berliner Stadbezirk. Bestandteil ist auch eine OSM-Übersichtskarte mit eigenen Marken und sich öffnenden Popups bei Klick auf die Marker. Das funktioniert auch nahezu perfekt - bis auf eine kleine Häßlichkeit beim Schließen der Popups.
Was geht: Sie schließen bzw. wechseln beim Klick auf einen anderen Marker und sie schließen sich beim Klick auf eine Kartenstelle ohne Marker.
Was nicht geht: Die Closebox im Popup funktioniert nicht. Der Mauszeiger reagiert zwar wie bei einem Link, bei Klick passiert aber Nichts.
Das übersteigt derzeit meine JS-Kenntnisse etwas. Könnte bitte mal jemand nachsehen? Da der gesamte Code sicher fürs erste zu groß ist, hier die m.M. nach entscheidenden Funktionen:
Code: |
function createPopup(feature)
{
feature.popup = new OpenLayers.Popup.FramedCloud("pop",
feature.geometry.getBounds().getCenterLonLat(),null,
'<div class="markerContent">'+feature.attributes.description+'</div>',null,true,
function() { controls['selector'].unselectAll(); });
map.addPopup(feature.popup);
}
function destroyPopup(feature)
{
while( map.popups.length ) {map.removePopup(map.popups[0]);}
feature.popup.destroy();feature.popup = null;
}
function setMarker(lat, lon, text, icon, width, offset)
{
var feature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point( lat ,lon ).transform(epsg4326, projectTo),
{description: text} ,
{externalGraphic: icon , graphicWidth: width, graphicXOffset:offset, graphicYOffset:offset});
vectorLayer.addFeatures(feature);
}
|
|
|