[Talk-de] Openstreetbugs

Mitja Kleider mitja at kleider.name
Fr Aug 7 23:33:25 UTC 2009


Am Fr, 7.08.2009, 14:41, schrieb Florian Lohoff:
> On Sun, Aug 02, 2009 at 01:02:05PM +0200, Mitja Kleider wrote:
>> > Dadurch springt die Karte hin und her.  Ich habe jetzt schon mehrfach
>> den
>> > fall gehabt das mit einem mal irgendwo bugs waren wo noch nie welche
>> waren
>> > oder sind. Und das waren bugs aus anderen bereichen der Karte ...
>> Ich kann den Fehler mittlerweile reproduzieren, habe aber gerade keine
>> Zeit
>> mich darum zu kümmern.
>
> Kannst du vielleicht einen hint geben wo es liegen koennte.
Mehr Hints als ich bereits gegeben hatte, konnte ich ohne genauer zu
gucken nicht geben.

>> Die Probleme treten nur auf, wenn man den Zoomlevel ändert.

Heute hatte ich wieder Zeit. Das Problem wird für mich reproduzierbar
durch die Funktion osb_current_feature.destroy() (openstreetbugs.js,
Zeilen 579 und 589) ausgelöst, wahrscheinlich auch bei
osb_bugs[i].feature.destroyMarker() (openstreetbugs.js, Zeile 641).

Das Problem beschreibt die Dokumentation von OpenLayers.Marker.destroy():
> Destroy the marker.  You must first remove the marker from any layer
> which it has been added to, or you will get buggy behavior.

Vor osb_current_feature.destroy(); müssen also folgende Zeilen eingefügt
werden:

osb_layer.removeMarker(osb_current_feature.marker);
osb_map.removePopup(osb_current_feature.popup);

Vor osb_bugs[i].feature.destroyMarker(); müssen wahrscheinlich
entsprechende Zeilen mit osb_bugs[i].feature statt osb_current_feature
eingefügt werden.

Danach konnte ich den Fehler hier nicht mehr reproduzieren.
Leider habe ich momentan von unterwegs keinen Zugriff auf den Server und
kann die Zeilen frühestens am Dienstag einfügen. Vielleicht macht Bernd es
schon vor mir.

Achja, "die paar zeilen code durchzugehen" hat übrigens etwas länger
gedauert.

Gruß,
Mitja





Mehr Informationen über die Mailingliste Talk-de