Refactoring 4 life

This commit is contained in:
Tom MacWright 2013-06-10 16:00:36 -07:00 committed by John Firebaugh
parent 3a6c476833
commit 64f5b3f511
6 changed files with 52 additions and 43 deletions

View file

@ -5,6 +5,7 @@
//= require augment //= require augment
//= require leaflet //= require leaflet
//= require leaflet.osm //= require leaflet.osm
//= require leaflet.extend
//= require leaflet.locationfilter //= require leaflet.locationfilter
//= require i18n/translations //= require i18n/translations
//= require oauth //= require oauth
@ -78,9 +79,7 @@ function updatelinks(loc, zoom, layers, bounds, object) {
var minzoom = $(link).data("minzoom"); var minzoom = $(link).data("minzoom");
if (minzoom) { if (minzoom) {
var name = link.id.replace(/anchor$/, ""); var name = link.id.replace(/anchor$/, "");
$(link).off("click.minzoom"); $(link).off("click.minzoom");
if (zoom >= minzoom) { if (zoom >= minzoom) {
$(link).attr("title", I18n.t("javascripts.site." + name + "_tooltip")) $(link).attr("title", I18n.t("javascripts.site." + name + "_tooltip"))
.removeClass("disabled"); .removeClass("disabled");

View file

@ -8,23 +8,17 @@ $(document).ready(function () {
$("#linkloader").load(function () { loaded = true; }); $("#linkloader").load(function () { loaded = true; });
if (select) { var query = {
$("#linkloader").attr("src", "http://127.0.0.1:8111/load_and_zoom?" + left: left,
querystring.stringify({ top: top,
left: left, right: right,
top: top, bottom: bottom,
right: right, select: select
bottom: bottom, };
select: select
})); if (select) query.select = select;
} else { $("#linkloader").attr("src", "http://127.0.0.1:8111/load_and_zoom?" +
$("#linkloader").attr("src", "http://127.0.0.1:8111/load_and_zoom?" + querystring.stringify({ querystring.stringify(query));
left: left,
top: top,
right: right,
bottom: bottom
}));
}
setTimeout(function () { setTimeout(function () {
if (!loaded) alert(I18n.t('site.index.remote_failed')); if (!loaded) alert(I18n.t('site.index.remote_failed'));

View file

@ -29,7 +29,7 @@ $(document).ready(function () {
layerCode: "M", layerCode: "M",
name: I18n.t("javascripts.map.base.standard") name: I18n.t("javascripts.map.base.standard")
}, { }, {
layer: new L.OSM.CycleMap( { layer: new L.OSM.CycleMap({
attribution: "Tiles courtesy of <a href='http://www.opencyclemap.org/' target='_blank'>Andy Allan</a>", attribution: "Tiles courtesy of <a href='http://www.opencyclemap.org/' target='_blank'>Andy Allan</a>",
}), }),
keyid: "cyclemap", keyid: "cyclemap",

View file

@ -0,0 +1,31 @@
L.extend(L.LatLngBounds.prototype, {
getSize: function () {
return (this._northEast.lat - this._southWest.lat) *
(this._northEast.lng - this._southWest.lng);
},
wrap: function () {
return new L.LatLngBounds(this._southWest.wrap(), this._northEast.wrap());
}
});
L.extend(L.Map.prototype, {
getLayersCode: function() {
var layerConfig = '';
for (var i in this._layers) { // TODO: map.eachLayer
var layer = this._layers[i];
if (layer.options && layer.options.code) {
layerConfig += layer.options.code;
}
}
return layerConfig;
},
getMapBaseLayerId: function() {
for (var i in this._layers) { // TODO: map.eachLayer
var layer = this._layers[i];
if (layer.options && layer.options.keyid) return layer.options.keyid;
}
}
});
L.Icon.Default.imagePath = <%= "#{asset_prefix}/images".to_json %>;

View file

@ -1,18 +1,3 @@
// Leaflet extensions
L.extend(L.LatLngBounds.prototype, {
getSize: function () {
return (this._northEast.lat - this._southWest.lat) *
(this._northEast.lng - this._southWest.lng);
},
wrap: function () {
return new L.LatLngBounds(this._southWest.wrap(), this._northEast.wrap());
}
});
L.Icon.Default.imagePath = <%= "#{asset_prefix}/images".to_json %>;
var objectLayer;
var objectLoader; var objectLoader;
function getUserIcon(url) { function getUserIcon(url) {
@ -28,13 +13,13 @@ function getUserIcon(url) {
function addObjectToMap(object, map, options) { function addObjectToMap(object, map, options) {
if (objectLoader) objectLoader.abort(); if (objectLoader) objectLoader.abort();
if (objectLayer) map.removeLayer(objectLayer); if (map.objectLayer) map.removeLayer(map.objectLayer);
objectLoader = $.ajax({ objectLoader = $.ajax({
url: OSM.apiUrl(object), url: OSM.apiUrl(object),
dataType: "xml", dataType: "xml",
success: function (xml) { success: function (xml) {
objectLayer = new L.OSM.DataLayer(null, { map.objectLayer = new L.OSM.DataLayer(null, {
styles: { styles: {
node: options.style, node: options.style,
way: options.style, way: options.style,
@ -42,7 +27,7 @@ function addObjectToMap(object, map, options) {
} }
}); });
objectLayer.interestingNode = function (node, ways, relations) { map.objectLayer.interestingNode = function (node, ways, relations) {
if (object.type === "node") { if (object.type === "node") {
return true; return true;
} else if (object.type === "relation") { } else if (object.type === "relation") {
@ -54,12 +39,12 @@ function addObjectToMap(object, map, options) {
} }
}; };
objectLayer.addData(xml); map.objectLayer.addData(xml);
if (options.zoom) map.fitBounds(objectLayer.getBounds()); if (options.zoom) map.fitBounds(map.objectLayer.getBounds());
if (options.callback) options.callback(objectLayer.getBounds()); if (options.callback) options.callback(map.objectLayer.getBounds());
objectLayer.addTo(map); map.objectLayer.addTo(map);
} }
}); });
} }