GeoNames Home | Postal Codes | Download / Webservice | About 

GeoNames Forum
  [Search] Search   [Recent Topics] Recent Topics   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Autocpmplete nach städtename  XML
Forum Index -> Forum in Deutsch
Author Message
schmi85



Joined: 13/11/2010 14:50:45
Messages: 3
Offline

Hallo!

Zuersteinmal großen respekt zu dem großartigem Projekt! Macht wirklich spaß damit zu arbeiten!!

Ich spiele mit dem Gedanken einen Autocomleter zu schreiben der mit dem Namen einer Stadt, eines Landes funktioniern soll. Ich habe mir die Doku der Services angeschaut und fand den SEARCH service am passentsden...

Ich wollte den Completer so programmieren das nach dem Tippen des zweiten buchstabens alle Städte und daten geladen werden um dann die vervollständigung zu starten.

Nachdem ich nun ein wenig mit den Parametern probiert habe lieferte mir die folgende Anfrage genau was ich brauchte:


ws.geonames.org/search?q=<leer>&lang=DE&style=FULL&country=DE&continentCode=EU&featureClass=P&maxRows=1000&name_startsWith=ab&startRow=0


Da man in einigen Fällen mehr als tausend ergebnisse erziehlt habe ich versucht über weitere requests die restlichen Städte zu bekommen. Dazu habe ich den Parameter startRow bemüht und diesen dann hochgezählt. Die Anzahl der Requests ergab sich dabei für mich aus dem totalResultsCount element welches in jeder Anfrage mitgeliefert wird.

Jedoch erhalte ich bei der ersten Abfrage die korrekten 1000 ergebnisse, bei der zweiten jedoch nur 200, auch wenn mit über 1900 treffer berichtet wird.

ws.geoname.org/serach?q=<leer>&lang=DE&style=FULL&country=DE&continentCode=EU&featureClass=P&maxRows=1000&name_startsWith=b&startRow=1001

Zu testzwecken habe ich per hand nach ergebnissen für nur einen Buchstaben gesucht, jedoch trat bei der zweiten abfrage das gleiche problem auf.

Ist meine Anfrage falsch?? Sollte ich besser einen andern servis benutzten?? Stehen startRow und maxRows in einem anderen zusammenhang als es zu erwarten ist??

Viele Grüße
Philipp
marc



Joined: 08/12/2005 07:39:47
Messages: 4412
Offline

Hallo Philipp

Du hast recht da war ein Fehler drin. Das Paging ist aber auf jeden Fall limitiert auf max 5000 Zeilen. Es scheint mir auch nicht so sinnvoll 1000 Zeilen im Autocomplete anzuzeigen. Wer schaut schon mehr als eine handvoll zeilen an.

Gruss

Marc

[WWW]
schmi85



Joined: 13/11/2010 14:50:45
Messages: 3
Offline

Hallo!

Vielen Dank für die Antwort, ich dachte schon darüber nach zu verzweifeln... Ich habe mein Skript gerade nochmal probiert und der Bug ist weg!! Das ist echt sehr cool!! Großen Respekt, ich bin wirklich begeistert!!

Mein Problem mit dem Autocomplete liegt eigentlich darin das ich nicht mit jedem "keypress" eine anfrage an den Server stellen wollte und es mir sinnvoll erschien nach zwei Buchstaben alle Städte zu laden, dann geht es danach auf dem Client schneller und der Server wird nicht so stark frequentiert. Da ich den Completer gerade für Deutschland entwickeln möchte gibt es für 2 Buchstaben in der Regel auch nicht mehr als zwei tausend ergebnisse, was mit zwei Anfragen fertig ist.

Ich habe mich nun ein klein wenig weiter in der Doku der Services durchgearbeitet und fand dabei heraus das bei der Suche nach Postleitzahlen in etwa die gleichen Informationen heraus kommen die ich benötige, wenn ich nach dem Namen einer Stadt suche. Jedoch gibt es bei diesem Service keine Pagination, was bedeuten würde das jeder "Keypress" eine Anfrage nach maximal 10 neuen ergebnissen zu Folge hätte.

Was mich nun wirklich interessier ist was die bessere Lösung ist, viele kleine, oder weniger dafür größere Anfragen, bzw. sind die beiden Services die die dafür gewissermaßen geeignet sind oder gibt es da einen besseren??

Ich hoffe meine Frageflut ist nicht zu belastend, aber ich möchte ja auch nicht sinnloas ressourcen verbrauchen für Dinge die anderes effektiver gestalten lassen...

Viele Grüße
philipp
marc



Joined: 08/12/2005 07:39:47
Messages: 4412
Offline

Der postalCodeSearch liefert bis zu 500 Rekords (bzw 1000 bei Premium) und unterstützt pagination. Eine alphabetische Sortierung des Resultats bei startsWith ist noch nicht implementiert (diese hatte den Fehler beim search verursacht).

Gruss

Marc

[WWW]
 
Forum Index -> Forum in Deutsch
Go to:   
Powered by JForum 2.1.5 © JForum Team