Extract OSM.apiUrl

This commit is contained in:
John Firebaugh 2012-10-04 19:15:24 -07:00 committed by Tom Hughes
parent c3d1123965
commit e4ef507c5c
4 changed files with 22 additions and 19 deletions

View file

@ -42,19 +42,16 @@ $(document).ready(function () {
updatelinks(centre.lon, centre.lat, 16, null, params.minlon, params.minlat, params.maxlon, params.maxlat); updatelinks(centre.lon, centre.lat, 16, null, params.minlon, params.minlat, params.maxlon, params.maxlat);
} else { } else {
var url = "/api/" + OSM.API_VERSION + "/" + params.type + "/" + params.id;
if (params.type != "node") {
url += "/full";
} else if (!params.visible) {
var previous_version = params.version - 1;
url += "/" + previous_version;
}
$("#object_larger_map").hide(); $("#object_larger_map").hide();
$("#object_edit").hide(); $("#object_edit").hide();
addObjectToMap(url, true, function(extent) { var object = {type: params.type, id: params.id};
if (!params.visible) {
object.version = params.version - 1;
}
addObjectToMap(object, true, function(extent) {
$("#loading").hide(); $("#loading").hide();
$("#browse_map .geolink").show(); $("#browse_map .geolink").show();

View file

@ -33,13 +33,7 @@ $(document).ready(function () {
} }
if (params.object) { if (params.object) {
var url = "/api/" + OSM.API_VERSION + "/" + params.object_type + "/" + params.object_id; addObjectToMap({type: params.object_type, id: params.object_id}, params.object_zoom);
if (params.object_type != "node") {
url += "/full";
}
addObjectToMap(url, params.object_zoom);
} }
handleResize(); handleResize();

View file

@ -106,13 +106,13 @@ function addMarkerToMap(position, icon, description) {
return marker; return marker;
} }
function addObjectToMap(url, zoom, callback) { function addObjectToMap(object, zoom, callback) {
var layer = new OpenLayers.Layer.Vector("Objects", { var layer = new OpenLayers.Layer.Vector("Objects", {
strategies: [ strategies: [
new OpenLayers.Strategy.Fixed() new OpenLayers.Strategy.Fixed()
], ],
protocol: new OpenLayers.Protocol.HTTP({ protocol: new OpenLayers.Protocol.HTTP({
url: url, url: OSM.apiUrl(object),
format: new OpenLayers.Format.OSM() format: new OpenLayers.Format.OSM()
}), }),
style: { style: {

View file

@ -8,6 +8,18 @@ OSM = {
SERVER_URL: <%= SERVER_URL.to_json %>, SERVER_URL: <%= SERVER_URL.to_json %>,
API_VERSION: <%= API_VERSION.to_json %>, API_VERSION: <%= API_VERSION.to_json %>,
apiUrl: function (object) {
var url = "/api/" + OSM.API_VERSION + "/" + object.type + "/" + object.id;
if (object.type != "node") {
url += "/full";
} else if (object.version) {
url += "/" + object.version;
}
return url;
},
mapParams: function (search) { mapParams: function (search) {
var params = {}, mapParams = {}, loc; var params = {}, mapParams = {}, loc;