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

Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Der Schmiermaxe pimpt die Geocaching-Website.

Moderator: UF aus LD

Benutzeravatar
t31
Geowizard
Beiträge: 2813
Registriert: Do 30. Okt 2008, 17:35

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von t31 » Di 20. Jan 2009, 22:59

Also bei mir klappt es mit dem GPX-File, sowohl GPSmapEdit als auch Mapsource laden die Datei anstandlos. Eventuell sind Sonderzeichen bei, dann scheitert es. (Am besten auch mal die GC-Nummern mit angeben, wenn es klemmt.)

Beliebt ist das & und das kommt auch bei Unicode vor (Ӓ), diese und andere störende Zeichen müssen raus, einiges wirft die letzte elseif-Anweisung raus, aber nicht alles.

Suche mal nach:

Code: Alles auswählen

	var str = new XMLSerializer().serializeToString(gpxDom);
	var length = str.length;
	// replace all char that greater than ascii! e.g. ä,ö,ž,ý
	var i = 0
	for(  ; i<length;i++){
		if( str.charAt(i) == "ä"){
			str = str.substr(0,i) + 'ae' + str.substr(i+1);
			length += 1;
		}else if( str.charAt(i) == "ö"){
			str = str.substr(0,i) + 'oe' + str.substr(i+1);
			length += 1;
		}else if( str.charAt(i) == "ü"){
			str = str.substr(0,i) + 'ue' + str.substr(i+1);
			length += 1;
		}else if( str.charAt(i) == "ß"){
			str = str.substr(0,i) + 'ss' + str.substr(i+1);
			length += 1;
		}else if( str.charAt(i) >= "}"){
			str = str.substr(0,i) + ' ' + str.substr(i+1);
		}
	}
	return (str);
und schreibe vor for ...

Code: Alles auswählen

str = str.replace(new RegExp("´","g"),"'");
str = str.replace(new RegExp("`","g"),"'");
str = str.replace(new RegExp("&#[0-9]{1,4};","g"),'?');
str = str.replace(new RegExp("&","g")," und ");
str = str.replace(new RegExp("  ","g")," ");
Cachen mit Handy und PDA - das benutze ich:
TrekBuddy, GoogleAK, GCMicroTool, CacheWolf, Jeo (Cachen mit Headset), TB Cutter, PNGGauntlet, gcexceltool

Werbung:
madd.in
Geocacher
Beiträge: 218
Registriert: Sa 16. Aug 2008, 20:32

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von madd.in » Di 20. Jan 2009, 23:08

Also wenn der Regex geht, dann werde ich in bald in die aktuelle Version einfügen und dann veröffentlichen .... :-)

Grüße, Maddin

Benutzeravatar
t31
Geowizard
Beiträge: 2813
Registriert: Do 30. Okt 2008, 17:35

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von t31 » Di 20. Jan 2009, 23:50

ich sehe gerade, das auch die großen ÄÖÜ ersetzt werden müssten.

Beispiel für Unicode-Sonderzeichen wären:
http://www.geocaching.com/seek/cache_de ... wp=GC1E78P
Eurozeichen &#8364;

http://www.geocaching.com/seek/cache_de ... wp=GC1JCAM
das Kreuz &#8224;

Weil das & selbst auch zum Fehler führt, muß man erst die Sonderzeichen irgendwie ersetzen - hier mit ? - und erst dann das & - hier mit und, + wäre auch möglich.
Die falschen Apostrophen werden oben durch das ' ersetzt
Die letzte Zeile wirft doppelte Leerzeichen raus. das könnte man eleganter mit:

Code: Alles auswählen

str = str.replace(new RegExp("[\s]{2,}","g")," ");
machen (muß mich auch erst an die regex gewöhnen).


//edit: ich sehe gerade das das & als & vorkommt:
für

Code: Alles auswählen

str = str.replace(new RegExp("&","g")," und ");
nun

Code: Alles auswählen

str = str.replace(new RegExp("(\&amp\;)|&","g")," und ");
oder

Code: Alles auswählen

str = str.replace(new RegExp("(\&amp\;)|&","g"),"+");
Cachen mit Handy und PDA - das benutze ich:
TrekBuddy, GoogleAK, GCMicroTool, CacheWolf, Jeo (Cachen mit Headset), TB Cutter, PNGGauntlet, gcexceltool

Benutzeravatar
friederix
Geoguru
Beiträge: 4031
Registriert: So 9. Okt 2005, 20:28
Wohnort: zuhause in der Hohen Mark
Kontaktdaten:

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von friederix » Mi 21. Jan 2009, 19:59

t31 hat geschrieben:Also bei mir klappt es mit dem GPX-File, sowohl GPSmapEdit als auch Mapsource laden die Datei anstandlos. Eventuell sind Sonderzeichen bei, dann scheitert es. (Am besten auch mal die GC-Nummern mit angeben, wenn es klemmt.)

Beliebt ist das & und das kommt auch bei Unicode vor (&#1234;), diese und andere störende Zeichen müssen raus, einiges wirft die letzte elseif-Anweisung raus, aber nicht alles.

Suche mal nach: ....
Tut mir leid, da bin ich leider hoffnungslos überfordert. Meine Programmier-Kenntnisse tendieren eher gegen Null.
Hatte nur meine Probleme bei der Anwendung geschildert, allerdings das GPX unter Mapsource noch nicht probiert.
Das Addon ist ja auch vorzugsweise für Nicht-PMs gedacht. Deswegen sehe ich Moment für mich noch keinen dringenden Handlungsbedarf. Mit PQ und GSAK war bisher alles gut zu realisieren.
Dachte nur, dass es evtl. von Interesse sein könnte, dass das GPX nicht immer und bei jedem auf Anhieb funktioniert.

Trotzdem große Anerkennung an den Entwickler, der da bestimmt ne Menge Arbeit herein gesteckt hat, und diese dann auch selbstlos der Allgemeinheit zur Verfügung stellt. :respekt:

Für meine Dummheit kann ja keiner was. ;)

Aber danke für das Hilfe-Angebot!

Gruß,
friederix
immer selbst und ständig bei der Arbeit; - 51 Wochen im Jahr und sechs Tage die Woche.
Und am siebten Tage sollst Du ruhen cachen!

Benutzeravatar
Einnorder
Geocacher
Beiträge: 112
Registriert: Do 15. Jan 2009, 14:35
Wohnort: Mannheim

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von Einnorder » Mi 21. Jan 2009, 20:59

Ich habe noch eine Anmerkung/Anfrage zu GCTour:
Ich cache mit dem GPSTuner. Der GPX Import klappt auch problemlos. Jetzt wäre es schön, dass der GPSTuner auch die passenden Icons zu den Caches nimmt. Die Icons müssen den gleichen Namen haben wie die Waypointtypen. Nun enthalten die GCTour-Waypointtypen leider alle das "|". Dies lässt Windows in den Iconnamen nicht zu. Könnte man da nicht stattdessen ein "-" nehmen?
Oregon 300, S3 Mini -- Cachebox!

holy grail
Geocacher
Beiträge: 23
Registriert: Do 23. Feb 2006, 13:00

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von holy grail » Do 22. Jan 2009, 09:30

Geniale Sache, darauf habe ich schon immer gewartet.

Gibt es vielleicht eine Möglichkeit, dass gpx File direkt über das Internet aufs Iphone downzuloaden? Ich habe auf dem Iphone das Igeocacher Tool installiert und dort kann man nur über eine Inet-Adresse das GPX runterladen. Ich könnte natürlich den Umweg gehen "GPX downloaden -> auf eigenen Webserver uploaden -> mit Iphone das GPX wieder downloaden" aber das ist zu umständlich.

Gruß
Robert

madd.in
Geocacher
Beiträge: 218
Registriert: Sa 16. Aug 2008, 20:32

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von madd.in » Do 22. Jan 2009, 10:36

Hallo Robert,

also mir fällt spontan nichts ein, wie man das geschickt lösen kann, ohne die GPX immer auf meinem Server zu speichern (immoment wird nur einen Anfrage gestellt, die die GPX zum Download zur verfügen stellt) - das könnte man aber machen, in so fern, dass die Datei dann einen Tag per URL zu erreichbar ist.
Alternativ setz die einfach nen lighttpd auf deinem Rechner auf und speicher die GPX einfach dort - dann kannste mit deinem IPhone auf http://rechnerIp/CacheTour.gpx die GPX laden.
Außerdem: Kann man sein IPhone nicht auch mit Kabel beladen??

Gruß
maddin

holy grail
Geocacher
Beiträge: 23
Registriert: Do 23. Feb 2006, 13:00

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von holy grail » Do 22. Jan 2009, 12:02

Hi Maddin,

genau dass ist das Problem. Ich brauche eine Wifi Verbindung, ansonsten bekommt man auf die Kiste nix drauf. Man könnte es natürlich hacken, um auf das Filesystem zugreifen zu können, aber da dieses Igeocacher Tool das nicht unterstützt, besteht diese Möglichkeit leider nicht. Ich kann nur über Inet das GPX laden bzw. wird das gpx gelesen und in eine Datenbank geschrieben. Das ist ein riesiger Nachteil von dem Iphone. Man hätte einfach einen Bereich für eigene Files freigeben sollen, damit wären einige Probleme sofort gelöst.

Gruß
Robert

Surrogard
Geonewbie
Beiträge: 3
Registriert: Di 20. Jan 2009, 12:07

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von Surrogard » Fr 23. Jan 2009, 13:15

t31 hat geschrieben: Weil das & selbst auch zum Fehler führt, muß man erst die Sonderzeichen irgendwie ersetzen - hier mit ? - und erst dann das & - hier mit und, + wäre auch möglich.

//edit: ich sehe gerade das das & als & vorkommt:
für

Code: Alles auswählen

str = str.replace(new RegExp("&","g")," und ");
nun

Code: Alles auswählen

str = str.replace(new RegExp("(\&amp\;)|&","g")," und ");
oder

Code: Alles auswählen

str = str.replace(new RegExp("(\&amp\;)|&","g"),"+");
Vorsicht mit dem "&", das zu ersetzen zerstört auch alle bisherigen HTML-Entities die bereits in der richtigen Form ("&***;") sind.
Das einzige was ich mir hier vorstellen könnte wäre ein Regex der alle "&" ersetzt die nicht bereits Entity sind.
Aber auch nach längerem rumprobieren hab ich den nicht hinbekommen...

EDIT: "&" und Konsorten sind übrigens erlaubt und werden auch von den meisten Programmen (die sich an die XML-Konventionen halten) vernünftig eingelesen und dargestellt. Schwierig sind nur die "&" die nicht zu einer Entity gehören. Unter PHP gibts ne Methode die das Umschreiben bewerkstelligt, unter JavaScript hab ich noch nichts dergleichen gefunden...

EDIT2: Vorsicht ist auch bei der "Leerzeichenrauswurfzeile" geboten, denn das "\s" findet nicht nur Leerzeichen sondern alle sogenannten "White space character" welche da wären: das Leerzeichen, den Seitenvorschub, den Zeilenvorschub, Wagenrücklauf, und vertikalen und Horizontalen Tab.

Benutzeravatar
t31
Geowizard
Beiträge: 2813
Registriert: Do 30. Okt 2008, 17:35

Re: Vorstellung: Greasemonkey Skripte - GCTour und GcBBCode

Beitrag von t31 » Fr 23. Jan 2009, 21:32

Nee, alle & egal wie führen zum Fehler wenn das gpx-File in Mapsource geladen werden soll und nicht nur MS hat damit Probleme, also auch & oder &#2234;
deshalb müssen diese raus. Man könnte jetzt eine Liste machen oder eben so wie oben einfach alles mit einem Zeichen ersetzen.
Derweil hat sich gezeigt, wenn UTF8 verwendet wird, können Sonderzeichen wie äöü€ drin bleiben. Aber die & müssen noch immer raus, dies betrifft dann auch die <> im Text die reserviert sind (xml-Struktur) und daher als < oder < und > oder > codiert würden, auch hier wäre wieder das störende & drin. Darum mein Vorschlag alle & und & (2 bis 7 Buchstaben) ; sowie alle &# ( 1 bis 4 Zahlen) ; wie auch schlußendlich das einzelne & ersetzen.
Cachen mit Handy und PDA - das benutze ich:
TrekBuddy, GoogleAK, GCMicroTool, CacheWolf, Jeo (Cachen mit Headset), TB Cutter, PNGGauntlet, gcexceltool

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder