Posts: 6 
	Threads: 1 
	Joined: Jan 2012
	
	 
 
	
	
		Hallo Christian und alle anderen die bei diesem großartigen Projekt mithelfen. 
Ich habe gerade durch Zufall dieses wunderbare Stück Software gefunden und bin total begeister die "Abbiege punkte einfügen" Funktion gefunden zu haben, die ich schon so lange Suche.
 
Als Motorradfahrer würde ich liebend gern eine Route erstellen, oder besser noch fertige nehmen und aus dieser Route ein Roadbook erstellen.
 
Roadbook bedeutet für mich eine Liste, mit Einträgen die Koodinaten, Richtung (rechts abbiegen, ... ), angestrebter Ort (Hamburg) enthällt.
 
Viele Funktionen sind ja schon vorhanden: - Ich ziehe eine Route 
 
 
- Nutze die Funktion: Abbiegepunkte hinzufügen
 
 
- Lösche alle unnötigen Punkte, die ich vorher zum Ziehen benötigt habe
 
 
- Führe wieder die Funktion: Abbiegepunkte hinzufügen aus, falls eine der gerade gelöschten Positionen eine Abbiegestelle war
 
 
- Gehe die Liste Schritt für Schritt durch und benenne sie nach dem Schema "links nach Hamburg" "rechts nach München" etc um
 
 
 
Der letzte Punkt ist nun der Grund meines Schreibens. Wenn ich es richtig einschätze werden durch die "abbiegepunkte-einfügen" Funktion jeweils zwei Punkte an Google übergeben und nach dem Routing gefragt.  
Müsste man dann nicht auch Richtung und angestrebter Ort von Google bekommen können ? 
Wäre doch auch viel schicker per default diese Informationen einzufügen, an Stelle der "12 Neue Position" Beschriftung.
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 7,536 
	Threads: 232 
	Joined: Aug 2007
	
	 
 
	
	
		 (09.01.2012, 22:23)KoljaW Wrote:  Ich habe gerade durch Zufall dieses wunderbare Stück Software gefunden und bin total begeister die "Abbiege punkte einfügen" Funktion gefunden zu haben, die ich schon so lange Suche. 
Das freut mich.
  (09.01.2012, 22:23)KoljaW Wrote:  - Gehe die Liste Schritt für Schritt durch und benenne sie nach dem Schema "links nach Hamburg" "rechts nach München" etc um
 
 
 
 
Der letzte Punkt ist nun der Grund meines Schreibens. Wenn ich es richtig einschätze werden durch die "abbiegepunkte-einfügen" Funktion jeweils zwei Punkte an Google übergeben und nach dem Routing gefragt.  
Müsste man dann nicht auch Richtung und angestrebter Ort von Google bekommen können ? 
Google übergibt derzeit die  hier dokumentierten Informationen.
  (09.01.2012, 22:23)KoljaW Wrote:  Wäre doch auch viel schicker per default diese Informationen einzufügen, an Stelle der "12 Neue Position" Beschriftung. 
Ich habe etwas damit herumgespielt und gerade eine neue Vorabversion hochgeladen, die die "instructions" aus der Google Maps API als Beschreibung der neuen Positionen setzt. Ich finde, das ist ein Fortschritt. Probier's mal aus und berichte!
	  
	
	
-- 
Christian
 
	
	
 
 
	
	
	
		
	Posts: 6 
	Threads: 1 
	Joined: Jan 2012
	
	 
 
	
	
		Hi Christian, 
ich bin schwer beeindruckt von deiner Reaktionszeit! Wirklich, Hut ab! 
Die Änderung ist fast perfekt, leider sind die Punkte nicht passend zu den Anweisungen, würde ich behaupten, 
der Start liegt beim 2. Punkt, abbiegen auf die Karlsstraße soll ich an dem Punkt an dem ich sie wieder verlasse und soweiter. 
Kann es sei das da ein Versatz drin steckt ? 
Vielen Dank aber schonmal für die Änderung, 
Gruß Kolja
	 
	
	
	
	
 
 
	
	
	
		
	Posts: 7,536 
	Threads: 232 
	Joined: Aug 2007
	
	 
 
	
	
		 (10.01.2012, 08:20)KoljaW Wrote:  ich bin schwer beeindruckt von deiner Reaktionszeit! Wirklich, Hut ab! 
Danke.
  (10.01.2012, 08:20)KoljaW Wrote:  Die Änderung ist fast perfekt, leider sind die Punkte nicht passend zu den Anweisungen, würde ich behaupten, 
der Start liegt beim 2. Punkt, abbiegen auf die Karlsstraße soll ich an dem Punkt an dem ich sie wieder verlasse und soweiter. 
Kann es sei das da ein Versatz drin steckt ? 
Jein. Wenn die Instruktionen für einen Abbiegepunkt einen Schrägstrich enthielten, so wurden sie als Teil der nächsen Position gedeutet. Ich hoffe, die gerade hochgeladene Vorabversion ist besser?
	  
	
	
-- 
Christian
 
	
	
 
 
	
	
	
		
	Posts: 6 
	Threads: 1 
	Joined: Jan 2012
	
	 
 
	
		
		
		11.01.2012, 13:44 
(This post was last modified: 11.01.2012, 14:22 by KoljaW.)
		
	 
	
		Hi, ich habe gerade die Version 173 (Snapshot) getestet und leider finde ich dort das gleiche Verhalten ..  
Gruß Kolja 
 
Hi, ich nochmal.  
Ich habe gerade mal dein git respository gecloned und mir die Sourcen angesehen. Ist natürlich alles andere als einfach, bei dem Umfang    
Wenn ich das richtig sehe, wird in der BaseMapView.java in der  private List<String> parseCoordinates(String coordinates) {} die Antwort von Google verarbeitet, kann das sein ? 
 
Jetzt fehlt mir zwar ein Beispiel, wie so eine Antwort aussieht, aber offensichtlich sind sie ja per "/" getrennt. 
latitude/longitude/meters/seconds/instruction .... natürlich isses jetzt doof, wenn in der Instruction ein "/" drin vorkommt, weil er dann wieder trennen würde .. sehe ich ein, aber bist du dir sicher das es daran liegt ? 
 
Ich habe auch mal versucht mich etwas in die API einzulesen, natürlich nur sehr oberflächlich, aber ich habe gesehen, das in so einem "leg" start-koordinaten, end-koordinaten, .... , Anweisung übermittelt werden. 
Nicht das du jetzt die Informationen der Punkte nimmst, die END-Koordianten parst und die Anweisung, die zu den Endkoordinaten führt in "result" packst und damit alle Anweisungen eben ein Feld verschoben sind.
 
Kann durchaus quatsch sein, was ich hier erzähle, wollte nur versuchen zu helfen    
Gruß Kolja
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 6 
	Threads: 1 
	Joined: Jan 2012
	
	 
 
	
	
		§"&/!)"§*  
Da habe ich über eine Seite geschrieben ( viele viele Sätze ) und dann geht mein Laptop aus, weil ich kontinuierlich die Batterie Warnung missachtet habe. So ein Mist    
Naja jedenfalls hab ich den "Fehler" gefunden. Google gibt dir stehts an der Ziel Position die Anweisung wie du dort hin gekommen wärst. 
Total doof wenn du mich fragst. 
Ich würde vorschlagen, folgendes Bugfix einzusetzen:
 
        // result[n*5+4]=Instruction, 
        // result[4]=result[9] 
        // result[9]=result[14] ... 
        // if 3 Positions, count=15, i should be 4,9 but not 14, 
        // as there is no last instruction 
        for(int i=4;i+5<result.count();i+=5){ 
        	result[i]=result[i+5]; 
        } 
        result[result.count()-1]="Ziel erreicht!";
 
Bin mir syntaktisch nicht sicher, da Java nicht so meine Sprache ist, aber du wirst verstehen was ich vor habe. 
Das ganze müsste dann in der BaseMapView.java ab Zeile 1502, hinter der while() Schleife eingesetzt werden. 
Hoffe das findet deine Zustimmung    oder dient zumindest als Inspiration um das Problem zu lösen.
 
Gruß Kolja
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 7,536 
	Threads: 232 
	Joined: Aug 2007
	
	 
 
	
	
		 (11.01.2012, 13:44)KoljaW Wrote:  Hi, ich habe gerade die Version 173 (Snapshot) getestet und leider finde ich dort das gleiche Verhalten .. 
Kannst Du mir ein Beispiel zum Nachvollziehen schicken und erklären, wie ich den Effekt bei mir sehe?
  (11.01.2012, 13:44)KoljaW Wrote:  Ich habe gerade mal dein git respository gecloned und mir die Sourcen angesehen. Ist natürlich alles andere als einfach, bei dem Umfang   
Ich wünschte auch, es wäre weniger.
  (11.01.2012, 13:44)KoljaW Wrote:  Wenn ich das richtig sehe, wird in der BaseMapView.java in der  private List<String> parseCoordinates(String coordinates) {} die Antwort von Google verarbeitet, kann das sein ? 
Richtig.
  (11.01.2012, 13:44)KoljaW Wrote:  Jetzt fehlt mir zwar ein Beispiel, wie so eine Antwort aussieht, aber offensichtlich sind sie ja per "/" getrennt. 
latitude/longitude/meters/seconds/instruction .... 
Richtig.
  (11.01.2012, 13:44)KoljaW Wrote:  natürlich isses jetzt doof, wenn in der Instruction ein "/" drin vorkommt, weil er dann wieder trennen würde .. sehe ich ein, aber bist du dir sicher das es daran liegt ? 
In meinem Testfall ja, darum habe ich den Commit gestern gemacht:
 https://github.com/cpesch/RouteConverter...5d65d4c6d3
Und dort den regulären Ausdruck in routeconverter.html gefixt.
  (11.01.2012, 13:44)KoljaW Wrote:  Ich habe auch mal versucht mich etwas in die API einzulesen, natürlich nur sehr oberflächlich, aber ich habe gesehen, das in so einem "leg" start-koordinaten, end-koordinaten, .... , Anweisung übermittelt werden. 
Schau Dir mal routeconverter.html an, dann siehst Du wie ich in insertOnlyTurnpoints() und insertAllWaypoints()) die Daten aus dem Google Maps API in POST-Requests mit / übersetze:
 https://github.com/cpesch/RouteConverter...erter.html
 (11.01.2012, 13:44)KoljaW Wrote:  Kann durchaus quatsch sein, was ich hier erzähle, wollte nur versuchen zu helfen   
Danke
	  
	
	
-- 
Christian
 
	
	
 
 
	
	
	
		
	Posts: 6 
	Threads: 1 
	Joined: Jan 2012
	
	 
 
	
	
		Hi, ja in meinem Supertext war auch ein ausführliches Beispiel, bei dessen Interpreation ich mich wunderbar durch deinen Quelltext hangeln konnte. 
Reproduktionsvorgehen: 
1. Applikationsstart 
2. Position -> orte finden -> "hannover, helmholtzstraße 6" -> Einfügen 
3. "hannover, im Moore 11a" -> Einfügen  
4. Position -> Zwischenposition einfügen -> "Alles markieren" -> "Abbiegepunkte einfügen"
 
z.B. die 3. Position: "Links abbiegen auf Halkettstraße" 
aber in der Realität verlässt man gerade die Halkettstraße und fährt rechts auf die Philipsbornstraße. 
Die passende Anweisung "2. rechts auf Philipsbornstraße nehmen" steht dafür aber in der 4. Position
 
Das wird daran liegen, das der Google Request folgendes Ergebnis liefert:
 
FEIN: processing callback:  
  POST /5/generic-post-url/ HTTP/1.1 
  Host: 127.0.0.1:54910 
  Origin: file:// 
  User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.26+ (KHTML, like Gecko) Version/5.0 Safari/534.26+ 
  Content-Type: application/xml 
  Accept: */* 
  Accept-Encoding: gzip 
  Connection: Keep-Alive 
  Content-Length: 831 
  Insert-Only-Turnpoints: 301623861/52.39354/9.726239999999962/77/6/Von  Helmholtzstraße  nach  Süden  Richtung  Halkettstraße  starten/52.39308/9.729389999999967/225/35/ Links  abbiegen auf  Halkettstraße /52.39132000000001/9.730670000000032/214/47/2.  rechts  auf  Philipsbornstraße  nehmen/52.38726/9.723420000000033/685/106/3.  rechts  auf  Kopernikusstraße  nehmen/52.38700000000001/9.721970000000056/104/71/Weiter auf  An der Lutherkirche /52.3851/9.722319999999968/213/29/ Links  abbiegen auf  Am Kleinen Felde /52.38531/9.720720000000028/112/22/1.  rechts  auf  Asternstraße Im Moore  nehmen/52.38329/9.72126000000003/232/22/1.  links  nehmen, um auf  Asternstraße Im Moore  zu bleiben Weiter auf Im Moore /52.38319000000001/9.720839999999953/30/8/Bei  Nelkenstraße   rechts  abbiegen Das Ziel befindet sich links
 
Die Daten werden ja nach dem Schema: 
result[0]=52.39132000000001 
result[1]=9.730670000000032 
result[2]=214 
result[3]=47 
result[4]=2.  rechts  auf  Philipsbornstraße  nehmen
 
zerlegt, aber an den Koordinaten result[0]/result[1] verlässt man gerade die Philipsb. wieder ..  
Ich hoffe du verstehst was ich meine   
Gruß Kolja
	  
	
	
	
	
 
 
	
	
	
		
	Posts: 7,536 
	Threads: 232 
	Joined: Aug 2007
	
	 
 
	
	
		 (11.01.2012, 15:50)KoljaW Wrote:  Naja jedenfalls hab ich den "Fehler" gefunden. Google gibt dir stehts an der Ziel Position die Anweisung wie du dort hin gekommen wärst. 
Ich habe eine Strecke genommen, die ich kenne und beobachtet, daß die Abbiegehinweise korrekt waren, wenn ich für eine Position die Hinweise für die nächste Position nehme. Und ich filtere nun Sonderzeichen, Klammern und füge Kommata ein. Das nähert sich immer mehr einem Roadbook.
 
Eine neue Vorabversion mit diesem Verhalten liegt zum Testen bereit. Klappt es nun bei Dir besser?
	  
	
	
-- 
Christian
 
	
	
 
 
	
	
	
		
	Posts: 6 
	Threads: 1 
	Joined: Jan 2012
	
	 
 
	
	
		Jupp, ist genau das was ich meinte ... zwar an ner anderen Stelle, aber im Endeffekt isses TOP   
Dankä
	  
	
	
	
	
 
 
	 
 |