Ipad: Fehler beim Öffnen von Popups bei Markern und Pinch & Zoom

Hallo,
ich mache gerade eine kleine “interaktive Karte” mit Openstreetmap und Openlayers.
Dazu habe ich mir Netzwolfs Beispiele unter http://www.netzwolf.info/kartografie/openlayers/ angesehen und mir danach die Karte mit Markern aus einer CSV-Datei entsprechend angelegt.
Zu sehen ist das Ergebnis hier: http://mittenimbild.de/test/
Leider gibt es ein Problem mit der OpenLayers.js und der Darstellung der Popups bei den Markern. Ich bin leider Laie bei Skripten.
Wenn ich das neuste OpenLayers.js einbinde gehen die Popups auf dem Ipad nicht auf, nehme ich das lokale Skript von Netzwolfs Seite, geht Pinch & Zoom nicht auf dem Ipad, dafür funktionieren Popup und Hover!
Da bewegt sich die ganze html Seite. Mit der Maus funktioniert alles bestens.
Das Problem besteht zum Beispiel auch auf der Seite http://openstreetbugs.schokokeks.org/.
Kann mir jemand mal einen Tipp geben, wie ich das Problem in den Griff bekomme?
Danke!

Eventuell ist das mit dem CSV/Marker veraltet und du solltest es mal mit dem Vectorlayer versuchen.

Danke für den Hinweis, an der csv-Technik sollte es eigentlich nicht liegen.
Ich gehe davon aus, dass hier http://openstreetbugs.schokokeks.org/ anders programmiert ist und es geht auch nicht.

Es liegt sicher nicht an der CSV Tabelle, sondern wahrscheinlich an der Einbindung der Marker. Die CSV Tabelle ist ja nur eine Möglichkeit die Daten für die Marker vorzuhalten. Bei OSB ist es wahrscheinlich das Ergebnis einer Datenbankabfrage.

Nahmd,

Die aktuelle Version von OpenLayers.js unterstützt die “pinch”-Events.

Offensichtlich ist bei der Implementierung aber irgendetwas verändert/beschädigt worden, so dass das ganz banale “onclick” nicht mehr durchgereicht wird. Das Problem betrifft dann auch die OSB-Karte und alle Controls mit einem “onclick”-Handler.

Diese ältere Version von OpenLayers.js hat noch keine Unterstützung für pinch: also ist klar, dass das nicht funktionieren kann.

Gruß Wolf

Nahmd,

ein Nachtrag zu:

Ich habe mit Unterstützung durch Michael das Problem eingegrenzt:

Der iPad-Browser kann alle UI-Ereignisse als Events weitergeben inklusive Zweifinger- und Gesture-Events. Solange man aber nicht nach diesen fragt, bleibt er kompatibel und wirft brav Mouse-Events (“click”, “mouseup”, …).

Die aktuelle Version von OpenLayer.js fragt nach “touch”-Events und gibt sich damit als “touch-enabled” zu erkennen: das deaktiviert offensichtlich die Kompatibliltätsfunktion, und es werden keine “click”, “mouseup” usw. mehr erzeugt.

Wenn man im Umfeld von OL mit Mouse-Events arbeitet und dann ein aktuelle OpenLayers.js einsetzt, so lösen die Events auf einem iPad nicht mehr aus. Das angesprochene Problem betrifft damit jeden, der Mouse-Events (“mouseup”, “mousedown”, “onclick”) nutzt.

Die Lösung: neben “mouseup/down” auch auf “touchstart/end” reagieren.

Gruß Wolf

Hallo Wolfgang,

hat sich daraus auch etwas neues für die popmarker.js ergeben?

Hatte ja auch Probleme mit den Popup bei der grenzstein karte & Co auf dem smarty !

Gruß Jan