+ map.connect "api/#{API_VERSION}/changes", :controller => 'api', :action => 'changes'
+
+ map.connect "api/#{API_VERSION}/search", :controller => 'search', :action => 'search_all'
+ map.connect "api/#{API_VERSION}/ways/search", :controller => 'search', :action => 'search_ways'
+ map.connect "api/#{API_VERSION}/relations/search", :controller => 'search', :action => 'search_relations'
+ map.connect "api/#{API_VERSION}/nodes/search", :controller => 'search', :action => 'search_nodes'
+
+ map.connect "api/#{API_VERSION}/user/details", :controller => 'user', :action => 'api_details'
+ map.connect "api/#{API_VERSION}/user/preferences", :controller => 'user_preference', :action => 'read', :conditions => { :method => :get }
+ map.connect "api/#{API_VERSION}/user/preferences/:preference_key", :controller => 'user_preference', :action => 'read_one', :conditions => { :method => :get }
+ map.connect "api/#{API_VERSION}/user/preferences", :controller => 'user_preference', :action => 'update', :conditions => { :method => :put }
+ map.connect "api/#{API_VERSION}/user/preferences/:preference_key", :controller => 'user_preference', :action => 'update_one', :conditions => { :method => :put }
+ map.connect "api/#{API_VERSION}/user/preferences/:preference_key", :controller => 'user_preference', :action => 'delete_one', :conditions => { :method => :delete }
+ map.connect "api/#{API_VERSION}/user/gpx_files", :controller => 'user', :action => 'api_gpx_files'
+
+ map.connect "api/#{API_VERSION}/gpx/create", :controller => 'trace', :action => 'api_create'
+ map.connect "api/#{API_VERSION}/gpx/:id/details", :controller => 'trace', :action => 'api_details'
+ map.connect "api/#{API_VERSION}/gpx/:id/data", :controller => 'trace', :action => 'api_data'
+
+ # AMF (ActionScript) API
+
+ map.connect "api/#{API_VERSION}/amf/read", :controller =>'amf', :action =>'amf_read'
+ map.connect "api/#{API_VERSION}/amf/write", :controller =>'amf', :action =>'amf_write'
+ map.connect "api/#{API_VERSION}/swf/trackpoints", :controller =>'swf', :action =>'trackpoints'
+
+ # Data browsing
+ map.connect '/browse', :controller => 'changeset', :action => 'list'
+ map.connect '/browse/start', :controller => 'browse', :action => 'start'
+ map.connect '/browse/way/:id', :controller => 'browse', :action => 'way', :id => /\d+/
+ map.connect '/browse/way/:id/history', :controller => 'browse', :action => 'way_history', :id => /\d+/
+ map.connect '/browse/node/:id', :controller => 'browse', :action => 'node', :id => /\d+/
+ map.connect '/browse/node/:id/history', :controller => 'browse', :action => 'node_history', :id => /\d+/
+ map.connect '/browse/relation/:id', :controller => 'browse', :action => 'relation', :id => /\d+/
+ map.connect '/browse/relation/:id/history', :controller => 'browse', :action => 'relation_history', :id => /\d+/
+ map.changeset '/browse/changeset/:id', :controller => 'browse', :action => 'changeset', :id => /\d+/
+ map.connect '/browse/changesets', :controller => 'changeset', :action => 'list'
+ map.connect '/browse/changesets/feed', :controller => 'changeset', :action => 'list', :format => :atom
+
+ # web site
+ map.root :controller => 'site', :action => 'index'