Port to Leaflet

This commit is contained in:
John Firebaugh 2012-08-25 10:55:46 -07:00
parent e316f0e425
commit 30ad58c01f
32 changed files with 9715 additions and 823 deletions

View file

@ -1,83 +1,53 @@
$(document).ready(function () {
var highlight;
function highlightChangeset(id) {
var feature = vectors.getFeatureByFid(id);
var bounds = feature.geometry.getBounds();
if (bounds.containsBounds(map.getExtent())) {
bounds = map.getExtent().scale(1.1);
}
if (highlight) vectors.removeFeatures(highlight);
highlight = new OpenLayers.Feature.Vector(bounds.toGeometry(), {}, {
strokeWidth: 2,
strokeColor: "#ee9900",
fillColor: "#ffff55",
fillOpacity: 0.5
});
vectors.addFeatures(highlight);
$("#tr-changeset-" + id).addClass("selected");
}
function unHighlightChangeset(id) {
vectors.removeFeatures(highlight);
$("#tr-changeset-" + id).removeClass("selected");
}
var map = createMap("changeset_list_map", {
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.Zoom(),
new OpenLayers.Control.SimplePanZoom()
]
});
var bounds = new OpenLayers.Bounds();
var rects = {};
var map = createMap("changeset_list_map");
var group = L.featureGroup().addTo(map);
$("[data-changeset]").each(function () {
var changeset = $(this).data('changeset');
if (changeset.bbox) {
var bbox = new OpenLayers.Bounds(changeset.bbox.minlon, changeset.bbox.minlat, changeset.bbox.maxlon, changeset.bbox.maxlat);
bounds.extend(bbox);
addBoxToMap(bbox, changeset.id, true);
var rect = L.rectangle([[changeset.bbox.minlat, changeset.bbox.minlon],
[changeset.bbox.maxlat, changeset.bbox.maxlon]],
{weight: 2, color: "#ee9900", fillColor: "#ffff55", fillOpacity: 0});
rect.id = changeset.id;
rects[changeset.id] = rect;
rect.addTo(group);
}
});
vectors.events.on({
"featureselected": function(feature) {
highlightChangeset(feature.feature.fid);
function highlightChangeset(id) {
rects[id].setStyle({fillOpacity: 0.5});
$("#tr-changeset-" + id).addClass("selected");
}
function unHighlightChangeset(id) {
rects[id].setStyle({fillOpacity: 0});
$("#tr-changeset-" + id).removeClass("selected");
}
group.on({
mouseover: function (e) {
highlightChangeset(e.layer.id);
},
"featureunselected": function(feature) {
unHighlightChangeset(feature.feature.fid);
mouseout: function (e) {
unHighlightChangeset(e.layer.id);
}
});
var selectControl = new OpenLayers.Control.SelectFeature(vectors, {
multiple: false,
hover: true
$("[data-changeset]").on({
mouseover: function () {
highlightChangeset($(this).data("changeset").id);
},
mouseout: function () {
unHighlightChangeset($(this).data("changeset").id);
}
});
map.addControl(selectControl);
selectControl.activate();
var params = OSM.mapParams();
if (params.bbox) {
map.zoomToExtent(proj(new OpenLayers.Bounds(params.minlon, params.minlat, params.maxlon, params.maxlat)));
map.fitBounds([[params.minlat, params.minlon],
[params.maxlat, params.maxlon]]);
} else {
map.zoomToExtent(proj(bounds));
map.fitBounds(group.getBounds());
}
$("[data-changeset]").mouseover(function() {
highlightChangeset($(this).data("changeset").id);
});
$("[data-changeset]").mouseout(function() {
unHighlightChangeset($(this).data("changeset").id);
});
});