Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 13

Erfahrungsbericht zu Ruby on Rails beim Rapid-Prototyping: In zehn Tagen von Null auf Startup

Seite 5 / 6

User Model erzeugen

ruby script/generate model location name:string street:string zip:string city:string lng:float lat:float

Listing 1

Danach die Migration ausführen, damit die Datenbanktabelle angelegt wird:

Migration ausführen

rake db:migrate

Listing 2

Um Geokit zu installieren, muss man folgendes Skript im Projektordner ausführen. Danach muss man zum Beispiel einen Google-Map-Key in der Datei environment.rb eintragen:

Installation von Geokit

ruby script/plugin install svn://rubyforge.org/var/svn/geokit/trunk

Listing 3

Als letztes verändert man das User-Model:

User.rb

class Location < ActiveRecord::Base
	before_save :geocode_address # Callback, welches die Methode geocode_address vor dem Speichern aufruft
	acts_as_mappable # Einbindung des Plugins
	def geocode_address
		geo=GeoKit::Geocoders::MultiGeocoder.geocode(self.street.to_s << ", " << self.zip.to_s << " " << self.city.to_s << " Germany") # Aufruf, um Koordinaten abzufragen
		self.lat, self.lng = geo.lat,geo.lng if geo.success # Die Werte für lat und lng werden dem User-Objekt hinzugefügt
	end
end

Listing 4

Nach diesen wenigen Schritten werden beim Anlegen einer Location die Koordinaten der Adresse in der Datenbank mitgespeichert. Aus Vereinfachungsgründen wurde der Umfang des Beispiels auf das Wesentliche reduziert und deckt sich somit nicht mit der Implementierung von indawo. Was aber deutlich wird: Die Umsetzung einer solchen Aufgabe geht sehr schnell von der Hand.

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden