Skip to content

Commit 8859b41

Browse files
Schuyler Erleieure
authored andcommitted
Revise REST server to output GeoJSON.
1 parent 8d52f77 commit 8859b41

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

lib/geocoder/us/rest.rb

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,25 @@
33
require 'json'
44

55
@@db = Geocoder::US::Database.new(ARGV[0] || ENV["GEOCODER_DB"])
6+
67
get '/geocode' do
78
if params[:q]
9+
results = @@db.geocode params[:q]
10+
features = []
11+
results.each do |result|
12+
coords = [result.delete(:lon), result.delete(:lat)]
13+
features << {
14+
:type => "Feature",
15+
:properties => result,
16+
:geometry => {
17+
:type => "Point",
18+
:coordinates => [result[:lon], result[:lat]]
19+
}
20+
}
21+
end
822
{
9-
:results => @@db.geocode(params[:q]),
10-
:address => params[:q]
23+
:type => "FeatureCollection"
24+
:features => features
1125
}.to_json
1226
else
1327
status 400

0 commit comments

Comments
 (0)