var locationFilter = new L.LocationFilter({
enableButton: false,
- adjustButton: false,
- onChange: getData
+ adjustButton: false
}).addTo(map);
+ locationFilter.on("change", getData);
+
$("#sidebar_title").html(I18n.t('browse.start_rjs.data_frame_title'));
$("#sidebar_content").html(sidebarHtml);
map.removeLayer(dataLayer);
map.removeLayer(locationFilter);
map.off("moveend", updateData);
+ locationFilter.off("change", getData);
});
function enableFilter() {
$("#browse_filter_toggle").html(I18n.t('browse.start_rjs.view_data'));
+ locationFilter.setBounds(map.getBounds().pad(-0.2));
locationFilter.enable();
getData();
}
dataLayer.clearLayers();
selectedLayer = null;
- dataLayer.addData(xml);
+ var features = dataLayer.buildFeatures(xml);
+
+ function addFeatures() {
+ dataLayer.addData(features);
- layersById = {};
- var features = [];
+ layersById = {};
- dataLayer.eachLayer(function (layer) {
- var feature = layer.feature;
- layersById[feature.id] = layer;
- features.push({
- typeName: featureTypeName(feature),
- url: "/browse/" + feature.type + "/" + feature.id,
- name: featureName(feature),
- id: feature.id
+ dataLayer.eachLayer(function (layer) {
+ var feature = layer.feature;
+ layersById[feature.id] = layer;
+ $.extend(feature, {
+ typeName: featureTypeName(feature),
+ url: "/browse/" + feature.type + "/" + feature.id,
+ name: featureName(feature)
+ });
});
- });
- browseObjectList = $(JST["templates/browse/feature_list"]({
- features: features,
- url: url
- }))[0];
+ browseObjectList = $(JST["templates/browse/feature_list"]({
+ features: features,
+ url: url
+ }))[0];
- loadObjectList();
+ loadObjectList();
+ }
+
+ if (features.length < maxFeatures) {
+ addFeatures();
+ } else {
+ displayFeatureWarning(features.length, maxFeatures, addFeatures);
+ }
}
});
}