You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2015-09-18 08:34:02

PC-Opa
Member
Registered: 2013-10-04
Posts: 12

JS-Dummy findet keine Lösung für Popup-Verhalten

Für eine Funktion in einer OSM-Karte mit Openlayers und util.js finde ich keine Lösung und brauche Rat.

In der Karte werden Marker (unterschiedliche Icons) mit Popup genutzt. Wie kann ich die util.js veranlassen, dass beim Klick auf einen Marker ein schon vorher geöffnetes Popup wieder geschlossen wird?

map.addPopup(feature.createPopup(feature.closeBox), null);

-- funktioniert nicht

Vielen Dank vorab.

PC-Opa


PC-Opa

Offline

#2 2015-09-18 09:18:06

gormo
Member
Registered: 2013-08-01
Posts: 2,119
Website

Re: JS-Dummy findet keine Lösung für Popup-Verhalten

Vorweg: ich kann kein OpenLayers. Aber ich hab trotzdem Senf:

Speichere das zuletzt geöffnete Popup in einer globalen Variable, und rufe dann beim Öffnen .hide() auf dem alten Popup auf.

Googeln liefert alternativ auch noch folgendes Codefragment:

while (map.popups.length > 0) {
    map.removePopup(map.popups[0]);
} 

zum entfernen aller bisherigen Popups.

Alles ungetestet.

Last edited by gormo (2015-09-18 10:00:15)


OSM hat nicht das Ziel bis Ende des Monats einen vollständigen Datensatz der Welt zu enthalten.
(nach S.W.) - Aber weil die Welt vielfältig ist, weil sie auch im Detail interessant ist, mag ich genaue Karten (nach C.)

Offline

#3 2015-09-18 09:39:36

Harald Hartmann
Member
From: 98667 Schönbrunn
Registered: 2014-04-02
Posts: 3,123
Website

Re: JS-Dummy findet keine Lösung für Popup-Verhalten

Hmm, ich habe mich leider auch noch nicht mit OpenLayers beschäftigt ... und werde dies vermutlich auch nicht tun, wenn so eine Standardfunktionalität nicht out-of-the-box dabei ist, man dafür aber Popup.closeOnMove aktivieren kann ?!


Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD

Offline

#4 2015-09-18 10:27:57

PC-Opa
Member
Registered: 2013-10-04
Posts: 12

Re: JS-Dummy findet keine Lösung für Popup-Verhalten

gormo wrote:

Vorweg: ich kann kein OpenLayers. Aber ich hab trotzdem Senf:

Speichere das zuletzt geöffnete Popup in einer globalen Variable, und rufe dann beim Öffnen .hide() auf dem alten Popup auf.

Googeln liefert alternativ auch noch folgendes Codefragment:

while (map.popups.length > 0) {
    map.removePopup(map.popups[0]);
} 

zum entfernen aller bisherigen Popups.

Alles ungetestet.


Vielen Dank für den Senf!

Beide Varianten bekomme ich nicht hin. Ich JS-Dummy weiß nicht,wie das zuletzt geöffnete Popup in einer globalen Variable zu speichern ist.

Wenn ich

while (map.popups.length > 0) {
    map.removePopup(map.popups[0]);
} 

einbaue, funktioniert das Popup nur beim zuletzt eingefügten Marker.


PC-Opa

Offline

#5 2015-09-18 10:38:13

Nop
Moderator
Registered: 2009-01-26
Posts: 2,856

Re: JS-Dummy findet keine Lösung für Popup-Verhalten

Als js-Dummy würde ich Dir dringend empfehlen, Leaflet anstatt OpenLayers zu nutzen wenn das irgendwie geht.

OpenLayers ist wesentlich schwerer zu verstehen und umständlicher zu nutzen.

bye, Nop


Nothing is too difficult for the man who does not have to do it himself...
Projekte: Reit- und Wanderkarte mit Navigation - Kartengenerator Map Composer - GPS Track Editor Track Guru

Offline

#6 2015-09-18 12:16:41

tquadrat
Member
Registered: 2015-03-03
Posts: 113

Re: JS-Dummy findet keine Lösung für Popup-Verhalten

Hi,
Ich geh mal davon aus das du OL 2.x benutzt.
Probier mal das :

map.addPopup(feature.createPopup(feature.closeBox), true);

Laut Doku http://dev.openlayers.org/releases/Open … p.addPopup schließt das true alle vorherigen popups automatisch.

LG Thomas

Offline

#7 2015-09-18 13:02:28

PC-Opa
Member
Registered: 2013-10-04
Posts: 12

Re: JS-Dummy findet keine Lösung für Popup-Verhalten

tquadrat wrote:

Hi,
Ich geh mal davon aus das du OL 2.x benutzt.
Probier mal das :

map.addPopup(feature.createPopup(feature.closeBox), true);

Laut Doku http://dev.openlayers.org/releases/Open … p.addPopup schließt das true alle vorherigen popups automatisch.

LG Thomas

Hallo Thomas,

super!!!! Das war's. Vielen Dank:


PC-Opa

Offline

Board footer

Powered by FluxBB