Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Vorstellung: GC little helper

Der Schmiermaxe pimpt die Geocaching-Website.

Moderator: UF aus LD

Benutzeravatar
fockel007
Geocacher
Beiträge: 242
Registriert: Di 28. Sep 2010, 21:39
Wohnort: 56812

Re: Vorstellung: GC little helper

Beitrag von fockel007 »

Ja kann ich bestätigen, in Chrome klappt es nicht, in Firefox klappt es.
W7 (64Bit)+ Chrome (25.0.1364.97 m)
skywalker90
Geomaster
Beiträge: 573
Registriert: Do 14. Mai 2009, 17:06

Re: Vorstellung: GC little helper

Beitrag von skywalker90 »

Ich habe mal nach dem Chrome Kartenbug geschaut, aber noch keine Lösung gefunden.

Warum betrifft es nur Chrome?
Es gibt in Script einen Hack um die Kartenoptionen überhaupt unter Chrome zum Laufen zu bringen.
Es werden alle Layer entfernt das Control rechts oben ausgeblendet und dann alle Layer neu erstellt und mit einem neuen Control der Karte hinzugefügt.

Warum geht es jetzt nicht mehr?
Gute Frage...
Die layerId wird normalerweise in dem input-Element gespeichert.
Nur jetzt fehlt diese layerId aus komischen Gründen.

Was genau?
Die layerId wird von leaflet in der function _addItem() gesetzt.
Das komische ist jetzt: wenn ich die Erstellung der Originalen Layer beobachte, funktioniert alles und am ende der Funktion ist die layerId auch gesetzt :

Code: Alles auswählen

label.children[0].layerId
Nur wenn jetzt unsere eigenen Layer an die Reihe kommen versagt die selbe Funktion:

Code: Alles auswählen

label.children[0].layerId
ist nicht mehr definiert.

[Edit:] Es sieht so aus als ob die LayerId gesetzt wird nur nicht mit in das DOM-Element übernommen wird ("Custom-Attribute"). Aber warum funktioniert es dann bei den offiziellen Layern??

Ich habe bisher keine Ahnung warum das so ist. Für Input bin ich gerne offen...

Grüße
Luke
skywalker90
Geomaster
Beiträge: 573
Registriert: Do 14. Mai 2009, 17:06

Re: Vorstellung: GC little helper

Beitrag von skywalker90 »

Es scheint wohl so als ob das die die hinzugefügte Eigenschaft layerId nur als dem Kontext/Thread? gelesen werden kann wie dem wo sie erstellt wurde.
(Also so wie bei FireFox)
Das Problem: normalerweise nimmt man einfach set/getAttribute() -> wir haben aber keinen Einfluss auf code von GS/leaflet.
Unter FireFox gibt es dafür einen (bösen) Hack, um dennoch zugreifen zu können: wrappedJSObject -> gibt es aber unter chrome nicht

Das Problem ist: ich kann nicht mal die layerIds manuell setzen, da diese ja denn wieder im falschen Kontext sind...
Bin gerade ganz ehrlich etwas ratlos...
Astrofreak85
Geocacher
Beiträge: 67
Registriert: Sa 13. Jun 2009, 14:06

Re: Vorstellung: GC little helper

Beitrag von Astrofreak85 »

Interessant ist jetzt die Frage, warum es mit dem Script "GCMapEnhancements" (ohne Tampermonkey) super funktioniert...
skywalker90
Geomaster
Beiträge: 573
Registriert: Do 14. Mai 2009, 17:06

Re: Vorstellung: GC little helper

Beitrag von skywalker90 »

Astrofreak85 hat geschrieben:Interessant ist jetzt die Frage, warum es mit dem Script "GCMapEnhancements" (ohne Tampermonkey) super funktioniert...
Die sind früher dran...
Bzw. sie fügen die Karten schon ein bevor die leaflet-Map geladen ist.
Wir warten mit dem Script-Start darauf, dass alle Elemente geladen sind (davon brauchen wir ja einige).
skywalker90
Geomaster
Beiträge: 573
Registriert: Do 14. Mai 2009, 17:06

Re: Vorstellung: GC little helper

Beitrag von skywalker90 »

Ich hab Ihn :D

ich hab es mit einem Trick geschafft den Code der die layerIds repariert in den anderen Kontext zu bekommen ;)

Ich habe Torsten eine Email geschrieben, dass er ein Release macht...

Grüße
Luke
skywalker90
Geomaster
Beiträge: 573
Registriert: Do 14. Mai 2009, 17:06

Re: Vorstellung: GC little helper

Beitrag von skywalker90 »

Wenn wir schon am Bug fixen sind:
Falls jemand in den Optionen keine LinkList zusammenstellen kann, das liegt daran dass sie sich zerschießt wenn man eine leere Liste speichert.
Ist auch in der nächsten Version behoben.
Benutzeravatar
Eastpak1984
Geoguru
Beiträge: 6180
Registriert: Mo 12. Mär 2007, 07:58
Wohnort: Braunschweig
Kontaktdaten:

Re: Vorstellung: GC little helper

Beitrag von Eastpak1984 »

Da aktuell wieder eine Downtime bei GC.com ansteht:

Ich hatte es schonmal eingebracht, aber könnte man die dargestellte Zeit für die Abschaltung wg. eines Updates gleich in unsere Zeitzone umrechnen lassen?
Geocaching.com and all related mobile applications will be offline temporarily for a site update on Tuesday, March 5th, 2013 at approximately 8pm PST (convert to your local time here).
Garmin Oregon 650 + FW v5.00 + 32GB µSDHC SanDisc Class 4,
TOPO Deutschland V7 und CN Europa NT 2018.10
Backup: Oregon 550, Dakota 20
8812
Geoguru
Beiträge: 4392
Registriert: Di 6. Jul 2010, 12:21
Wohnort: Karlsborg

Re: Vorstellung: GC little helper

Beitrag von 8812 »

Eastpak1984 hat geschrieben:Da aktuell wieder eine Downtime bei GC.com ansteht:

Ich hatte es schonmal eingebracht, aber könnte man die dargestellte Zeit für die Abschaltung wg. eines Updates gleich in unsere Zeitzone umrechnen lassen?
Geocaching.com and all related mobile applications will be offline temporarily for a site update on Tuesday, March 5th, 2013 at approximately 8pm PST (convert to your local time here).
Die neun Stunden wirst Du doch wohl im Kopf rechnen können, oder?
Benutzeravatar
Eastpak1984
Geoguru
Beiträge: 6180
Registriert: Mo 12. Mär 2007, 07:58
Wohnort: Braunschweig
Kontaktdaten:

Re: Vorstellung: GC little helper

Beitrag von Eastpak1984 »

Die meisten Sachen, die der GCLH tut, kann man auch anders lösen.
Garmin Oregon 650 + FW v5.00 + 32GB µSDHC SanDisc Class 4,
TOPO Deutschland V7 und CN Europa NT 2018.10
Backup: Oregon 550, Dakota 20
Antworten