You are not logged in.
- Topics: Active | Unanswered
Announcement
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
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
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