clean up, move attribution prefix arg to options

This commit is contained in:
mourner 2012-02-23 11:01:03 +02:00
parent 08dccbc71c
commit 477c1109eb
6 changed files with 50 additions and 50 deletions

View File

@ -29,6 +29,7 @@ An in-progress version being developed on the master branch.
* Replaced ugly control position constants (e.g. L.Control.Position.TOP_LEFT) with light strings ('topleft', 'bottomright', etc.)
* Removed `Map` `locateAndSetView` method (use `locate` with `setView: true` option)
* Changed popup `minWidth` and `maxWidth` options to be applied to content element, not the whole popup.
* Moved `prefix` argument to `options` in `Control.Attribution` constructor.
#### Other API improvements

View File

@ -5,7 +5,7 @@
ROOT_URL: root.L_ROOT_URL || (function () {
var scripts = document.getElementsByTagName('script'),
leafletRe = /\/?leaflet[\-\._]?([\w\-\._]*)\.js\??/;
leafletRe = /\/?leaflet[\-\._]?([\w\-\._]*)\.js\??/;
var i, len, src, matches;

View File

@ -1,52 +1,51 @@
L.Control.Attribution = L.Control.extend({
options: {
position: 'bottomright'
position: 'bottomright',
prefix: 'Powered by <a href="http://leaflet.cloudmade.com">Leaflet</a>'
},
initialize: function (prefix, options) {
initialize: function (options) {
L.Util.setOptions(this, options);
this._prefix = prefix || 'Powered by <a href="http://leaflet.cloudmade.com">Leaflet</a>';
this._attributions = {};
},
onAdd: function (map) {
this._map = map;
this._container = L.DomUtil.create('div', 'leaflet-control-attribution');
L.DomEvent.disableClickPropagation(this._container);
this._map = map;
this._update();
return this._container;
},
setPrefix: function (prefix) {
this._prefix = prefix;
this.options.prefix = prefix;
this._update();
},
addAttribution: function (text) {
if (!text) {
return;
}
if (!text) { return; }
if (!this._attributions[text]) {
this._attributions[text] = 0;
}
this._attributions[text]++;
this._update();
},
removeAttribution: function (text) {
if (!text) {
return;
}
if (!text) { return; }
this._attributions[text]--;
this._update();
},
_update: function () {
if (!this._map) {
return;
}
if (!this._map) { return; }
var attribs = [];
@ -57,8 +56,9 @@ L.Control.Attribution = L.Control.extend({
}
var prefixAndAttribs = [];
if (this._prefix) {
prefixAndAttribs.push(this._prefix);
if (this.options.prefix) {
prefixAndAttribs.push(this.options.prefix);
}
if (attribs.length) {
prefixAndAttribs.push(attribs.join(', '));

View File

@ -13,7 +13,7 @@ L.GeoJSON = L.FeatureGroup.extend({
addGeoJSON: function (geojson) {
var features = geojson.features,
i, len;
i, len;
if (features) {
for (i = 0, len = features.length; i < len; i++) {
@ -23,8 +23,8 @@ L.GeoJSON = L.FeatureGroup.extend({
}
var isFeature = (geojson.type === 'Feature'),
geometry = isFeature ? geojson.geometry : geojson,
layer = L.GeoJSON.geometryToLayer(geometry, this.options.pointToLayer);
geometry = isFeature ? geojson.geometry : geojson,
layer = L.GeoJSON.geometryToLayer(geometry, this.options.pointToLayer);
this.fire('featureparse', {
layer: layer,
@ -41,8 +41,8 @@ L.GeoJSON = L.FeatureGroup.extend({
L.Util.extend(L.GeoJSON, {
geometryToLayer: function (geometry, pointToLayer) {
var coords = geometry.coordinates,
layers = [],
latlng, latlngs, i, len, layer;
layers = [],
latlng, latlngs, i, len, layer;
switch (geometry.type) {
case 'Point':
@ -87,16 +87,15 @@ L.Util.extend(L.GeoJSON, {
coordsToLatLng: function (coords, reverse) { // (Array, Boolean) -> LatLng
var lat = parseFloat(coords[reverse ? 0 : 1]),
lng = parseFloat(coords[reverse ? 1 : 0]);
lng = parseFloat(coords[reverse ? 1 : 0]);
return new L.LatLng(lat, lng, true);
},
coordsToLatLngs: function (coords, levelsDeep, reverse) { // (Array, Number, Boolean) -> Array
var latlng,
latlngs = [],
i,
len;
latlngs = [],
i, len;
for (i = 0, len = coords.length; i < len; i++) {
latlng = levelsDeep ?

View File

@ -180,8 +180,8 @@ L.Handler.PolyEdit = L.Handler.extend({
_getMiddleLatLng: function (marker1, marker2) {
var map = this._poly._map,
p1 = map.latLngToLayerPoint(marker1.getLatLng()),
p2 = map.latLngToLayerPoint(marker2.getLatLng());
p1 = map.latLngToLayerPoint(marker1.getLatLng()),
p2 = map.latLngToLayerPoint(marker2.getLatLng());
return map.layerPointToLatLng(p1._add(p2).divideBy(2));
}

View File

@ -70,7 +70,7 @@ L.Map = L.Class.extend({
}
var center = options.center,
zoom = options.zoom;
zoom = options.zoom;
if (center && typeof zoom !== 'undefined') {
this.setView(center, zoom, true);
@ -108,7 +108,7 @@ L.Map = L.Class.extend({
fitWorld: function () {
var sw = new L.LatLng(-60, -170),
ne = new L.LatLng(85, 179);
ne = new L.LatLng(85, 179);
return this.fitBounds(new L.LatLngBounds(sw, ne));
},
@ -152,12 +152,12 @@ L.Map = L.Class.extend({
panInsideBounds: function (bounds) {
var viewBounds = this.getBounds(),
viewSw = this.project(viewBounds.getSouthWest()),
viewNe = this.project(viewBounds.getNorthEast()),
sw = this.project(bounds.getSouthWest()),
ne = this.project(bounds.getNorthEast()),
dx = 0,
dy = 0;
viewSw = this.project(viewBounds.getSouthWest()),
viewNe = this.project(viewBounds.getNorthEast()),
sw = this.project(bounds.getSouthWest()),
ne = this.project(bounds.getNorthEast()),
dx = 0,
dy = 0;
if (viewNe.y < ne.y) { // north
dy = ne.y - viewNe.y;
@ -288,7 +288,7 @@ L.Map = L.Class.extend({
getCenter: function (unbounded) { // (Boolean)
var viewHalf = this.getSize().divideBy(2),
centerPoint = this._getTopLeftPoint().add(viewHalf);
centerPoint = this._getTopLeftPoint().add(viewHalf);
return this.unproject(centerPoint, this._zoom, unbounded);
},
@ -299,37 +299,37 @@ L.Map = L.Class.extend({
getBounds: function () {
var bounds = this.getPixelBounds(),
sw = this.unproject(new L.Point(bounds.min.x, bounds.max.y), this._zoom, true),
ne = this.unproject(new L.Point(bounds.max.x, bounds.min.y), this._zoom, true);
sw = this.unproject(new L.Point(bounds.min.x, bounds.max.y), this._zoom, true),
ne = this.unproject(new L.Point(bounds.max.x, bounds.min.y), this._zoom, true);
return new L.LatLngBounds(sw, ne);
},
getMinZoom: function () {
var z1 = this.options.minZoom || 0,
z2 = this._layersMinZoom || 0,
z3 = this._boundsMinZoom || 0;
z2 = this._layersMinZoom || 0,
z3 = this._boundsMinZoom || 0;
return Math.max(z1, z2, z3);
},
getMaxZoom: function () {
var z1 = typeof this.options.maxZoom === 'undefined' ? Infinity : this.options.maxZoom,
z2 = typeof this._layersMaxZoom === 'undefined' ? Infinity : this._layersMaxZoom;
z2 = typeof this._layersMaxZoom === 'undefined' ? Infinity : this._layersMaxZoom;
return Math.min(z1, z2);
},
getBoundsZoom: function (bounds, inside) { // (LatLngBounds, Boolean) -> Number
var size = this.getSize(),
zoom = this.options.minZoom || 0,
maxZoom = this.getMaxZoom(),
ne = bounds.getNorthEast(),
sw = bounds.getSouthWest(),
boundsSize,
nePoint,
swPoint,
zoomNotFound = true;
zoom = this.options.minZoom || 0,
maxZoom = this.getMaxZoom(),
ne = bounds.getNorthEast(),
sw = bounds.getSouthWest(),
boundsSize,
nePoint,
swPoint,
zoomNotFound = true;
if (inside) {
zoom--;