various bits

This commit is contained in:
Steve Coast 2006-11-17 20:56:01 +00:00
parent 59cc0015f5
commit 8c9544e60a
2 changed files with 20 additions and 2 deletions

View file

@ -1,7 +1,26 @@
class ApiController < ApplicationController class ApiController < ApplicationController
def map def map
bbox = params['bbox']
unless bbox and bbox.count(',') == 3
render :nothing => true, :status => 400
return
end
bbox = bbox.split(',')
min_lat = bbox[0].to_f
min_lon = bbox[1].to_f
max_lat = bbox[2].to_f
max_lon = bbox[3].to_f
nodes = Node.find(:all, :conditions => ['latitude > ? AND longitude > ? AND latitude < ? AND longitude < ? AND visible = 1', min_lat, min_lon, max_lat, max_lon])
node_ids = "(#{nodes.collect {|node| node.id }})"
segments = Segment.find(:all, :condtions => ['node_a in ? or node_b in ?', node_ids, node_ids])
render :text => node_ids.join(',')
return
doc = XML::Document.new doc = XML::Document.new
doc.encoding = 'UTF-8' doc.encoding = 'UTF-8'
@ -22,6 +41,4 @@ class ApiController < ApplicationController
#root << el1 #root << el1
end end
end end

View file

@ -15,6 +15,7 @@ class NodeController < ApplicationController
if node if node
node.user_id = @user.id node.user_id = @user.id
node.visible = 1
if node.save_with_history if node.save_with_history
render :text => node.id render :text => node.id
else else