-
Notifications
You must be signed in to change notification settings - Fork 0
Server
Verantwortlich: Marcel
Der Server soll zu viele Ortsangaben die entsprechenden Koordinaten finden. Dazu wird die Geocoder API (http://code.google.com/intl/de-DE/apis/maps/documentation/geocoding/) von Google Maps benutzt. Da diese nur eine begrenzte Anzahl an Anfragen zulässt, speichern wir die relevanten Daten in unserer eigenen Datenbank zwischen. Dadurch und durch eine Memcach Datenbank, in unserm Fall Redis (To Go), stellen wir zudem sicher, dass Anfragen schnell bearbeitet werden. Es ist notwendig, dass der Server auftretende Fehler nach Möglichkeit toleriert und behandelt. Sollte ein Fehler auftreten, der das Ergebnis der Anfrage betrifft, muss im auszugebenden JSon eine entsprechende Mitteilung an den Client gegeben werden. In der Anfrage wird zudem eine ID übergeben, die Clientseitig gebraucht wird und die Ergebnisse effizient zuordnen zu können. In der Ausgabe werden die Koordinaten mit der ID zurückgegeben. Die Umsetzung des Webservices erfolgt mittels Ruby und Sinatra.
Die Anfrage wird mit GET gesendet.
http://mappus.heroku.com/geocode?
TODO Format festlegen
Die Ausgabe erfolgt mittel JSon. Die Ergebnisse von Google für einen Anfrageort werden in einem Array gemapt. Das gilt für kein Ergebnis, ein Ergebnis und mehrere Ergebnissen von Google.
[
{
_id: 15,
result: [
{
name: ["Berlin", "Deutschland"],
latlng: [50, 48]
},
...
]
},
...
]