[Leaflet] leaflet 0.7.7
This commit is contained in:
parent
0afa46a18c
commit
dfb8c65bab
167
external/leaflet-src.js
vendored
167
external/leaflet-src.js
vendored
@ -7,7 +7,7 @@
|
||||
var oldL = window.L,
|
||||
L = {};
|
||||
|
||||
L.version = '0.7.3';
|
||||
L.version = '0.7.7';
|
||||
|
||||
// define Leaflet for Node module pattern loaders, including Browserify
|
||||
if (typeof module === 'object' && typeof module.exports === 'object') {
|
||||
@ -519,9 +519,8 @@ L.Mixin.Events.fire = L.Mixin.Events.fireEvent;
|
||||
gecko = ua.indexOf('gecko') !== -1,
|
||||
|
||||
mobile = typeof orientation !== undefined + '',
|
||||
msPointer = window.navigator && window.navigator.msPointerEnabled &&
|
||||
window.navigator.msMaxTouchPoints && !window.PointerEvent,
|
||||
pointer = (window.PointerEvent && window.navigator.pointerEnabled && window.navigator.maxTouchPoints) ||
|
||||
msPointer = !window.PointerEvent && window.MSPointerEvent,
|
||||
pointer = (window.PointerEvent && window.navigator.pointerEnabled) ||
|
||||
msPointer,
|
||||
retina = ('devicePixelRatio' in window && window.devicePixelRatio > 1) ||
|
||||
('matchMedia' in window && window.matchMedia('(min-resolution:144dpi)') &&
|
||||
@ -534,38 +533,8 @@ L.Mixin.Events.fire = L.Mixin.Events.fireEvent;
|
||||
opera3d = 'OTransition' in doc.style,
|
||||
any3d = !window.L_DISABLE_3D && (ie3d || webkit3d || gecko3d || opera3d) && !phantomjs;
|
||||
|
||||
|
||||
// PhantomJS has 'ontouchstart' in document.documentElement, but doesn't actually support touch.
|
||||
// https://github.com/Leaflet/Leaflet/pull/1434#issuecomment-13843151
|
||||
|
||||
var touch = !window.L_NO_TOUCH && !phantomjs && (function () {
|
||||
|
||||
var startName = 'ontouchstart';
|
||||
|
||||
// IE10+ (We simulate these into touch* events in L.DomEvent and L.DomEvent.Pointer) or WebKit, etc.
|
||||
if (pointer || (startName in doc)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// Firefox/Gecko
|
||||
var div = document.createElement('div'),
|
||||
supported = false;
|
||||
|
||||
if (!div.setAttribute) {
|
||||
return false;
|
||||
}
|
||||
div.setAttribute(startName, 'return;');
|
||||
|
||||
if (typeof div[startName] === 'function') {
|
||||
supported = true;
|
||||
}
|
||||
|
||||
div.removeAttribute(startName);
|
||||
div = null;
|
||||
|
||||
return supported;
|
||||
}());
|
||||
|
||||
var touch = !window.L_NO_TOUCH && !phantomjs && (pointer || 'ontouchstart' in window ||
|
||||
(window.DocumentTouch && document instanceof window.DocumentTouch));
|
||||
|
||||
L.Browser = {
|
||||
ie: ie,
|
||||
@ -1191,7 +1160,7 @@ L.LatLng.prototype = {
|
||||
distanceTo: function (other) { // (LatLng) -> Number
|
||||
other = L.latLng(other);
|
||||
|
||||
var R = 6367000.0, // earth radius in meters
|
||||
var R = 6378137, // earth radius in meters
|
||||
d2r = L.LatLng.DEG_TO_RAD,
|
||||
dLat = (other.lat - this.lat) * d2r,
|
||||
dLon = (other.lng - this.lng) * d2r,
|
||||
@ -1512,7 +1481,7 @@ L.CRS.EPSG3857 = L.extend({}, L.CRS, {
|
||||
|
||||
project: function (latlng) { // (LatLng) -> Point
|
||||
var projectedPoint = this.projection.project(latlng),
|
||||
earthRadius = 6367000.0;
|
||||
earthRadius = 6378137;
|
||||
return projectedPoint.multiplyBy(earthRadius);
|
||||
}
|
||||
});
|
||||
@ -1632,15 +1601,16 @@ L.Map = L.Class.extend({
|
||||
var paddingTL = L.point(options.paddingTopLeft || options.padding || [0, 0]),
|
||||
paddingBR = L.point(options.paddingBottomRight || options.padding || [0, 0]),
|
||||
|
||||
zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR)),
|
||||
paddingOffset = paddingBR.subtract(paddingTL).divideBy(2),
|
||||
zoom = this.getBoundsZoom(bounds, false, paddingTL.add(paddingBR));
|
||||
|
||||
zoom = (options.maxZoom) ? Math.min(options.maxZoom, zoom) : zoom;
|
||||
|
||||
var paddingOffset = paddingBR.subtract(paddingTL).divideBy(2),
|
||||
|
||||
swPoint = this.project(bounds.getSouthWest(), zoom),
|
||||
nePoint = this.project(bounds.getNorthEast(), zoom),
|
||||
center = this.unproject(swPoint.add(nePoint).divideBy(2).add(paddingOffset), zoom);
|
||||
|
||||
zoom = options && options.maxZoom ? Math.min(options.maxZoom, zoom) : zoom;
|
||||
|
||||
return this.setView(center, zoom, options);
|
||||
},
|
||||
|
||||
@ -2782,7 +2752,7 @@ L.TileLayer = L.Class.extend({
|
||||
}
|
||||
|
||||
if (options.bounds) {
|
||||
var tileSize = options.tileSize,
|
||||
var tileSize = this._getTileSize(),
|
||||
nwPoint = tilePoint.multiplyBy(tileSize),
|
||||
sePoint = nwPoint.add([tileSize, tileSize]),
|
||||
nw = this._map.unproject(nwPoint),
|
||||
@ -3567,10 +3537,8 @@ L.Marker = L.Class.extend({
|
||||
|
||||
update: function () {
|
||||
if (this._icon) {
|
||||
var pos = this._map.latLngToLayerPoint(this._latlng).round();
|
||||
this._setPos(pos);
|
||||
this._setPos(this._map.latLngToLayerPoint(this._latlng).round());
|
||||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
@ -4228,6 +4196,7 @@ L.Marker.include({
|
||||
if (content instanceof L.Popup) {
|
||||
L.setOptions(content, options);
|
||||
this._popup = content;
|
||||
content._source = this;
|
||||
} else {
|
||||
this._popup = new L.Popup(options, this)
|
||||
.setContent(content);
|
||||
@ -4420,7 +4389,9 @@ L.FeatureGroup = L.LayerGroup.extend({
|
||||
layer = this._layers[layer];
|
||||
}
|
||||
|
||||
layer.off(L.FeatureGroup.EVENTS, this._propagateEvent, this);
|
||||
if ('off' in layer) {
|
||||
layer.off(L.FeatureGroup.EVENTS, this._propagateEvent, this);
|
||||
}
|
||||
|
||||
L.LayerGroup.prototype.removeLayer.call(this, layer);
|
||||
|
||||
@ -4740,7 +4711,7 @@ L.Path = L.Path.extend({
|
||||
},
|
||||
|
||||
_fireMouseEvent: function (e) {
|
||||
if (!this.hasEventListeners(e.type)) { return; }
|
||||
if (!this._map || !this.hasEventListeners(e.type)) { return; }
|
||||
|
||||
var map = this._map,
|
||||
containerPoint = map.mouseEventToContainerPoint(e),
|
||||
@ -5072,35 +5043,10 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
|
||||
return this;
|
||||
},
|
||||
|
||||
onAdd: function (map) {
|
||||
this._map = map;
|
||||
|
||||
if (!this._container) {
|
||||
this._initElements();
|
||||
this._initEvents();
|
||||
}
|
||||
|
||||
this.projectLatlngs();
|
||||
this._updatePath();
|
||||
|
||||
if (this._container) {
|
||||
this._map._pathRoot.appendChild(this._container);
|
||||
}
|
||||
|
||||
this.fire('add');
|
||||
|
||||
map.on({
|
||||
'viewreset': this.projectLatlngs,
|
||||
'moveend': this._updatePath,
|
||||
'canvasredraw': this._updatePath
|
||||
}, this);
|
||||
},
|
||||
|
||||
onRemove: function (map) {
|
||||
map
|
||||
.off('viewreset', this.projectLatlngs, this)
|
||||
.off('moveend', this._updatePath, this)
|
||||
.off('canvasredraw', this._updatePath, this);
|
||||
.off('moveend', this._updatePath, this);
|
||||
|
||||
if (this.options.clickable) {
|
||||
this._map.off('click', this._onClick, this);
|
||||
@ -5115,13 +5061,13 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
|
||||
|
||||
_requestUpdate: function () {
|
||||
if (this._map && !L.Path._updateRequest) {
|
||||
L.Path._updateRequest = L.Util.requestAnimFrame(this._fireCanvasRedraw, this._map);
|
||||
L.Path._updateRequest = L.Util.requestAnimFrame(this._fireMapMoveEnd, this._map);
|
||||
}
|
||||
},
|
||||
|
||||
_fireCanvasRedraw: function () {
|
||||
_fireMapMoveEnd: function () {
|
||||
L.Path._updateRequest = null;
|
||||
this.fire('canvasredraw');
|
||||
this.fire('moveend');
|
||||
},
|
||||
|
||||
_initElements: function () {
|
||||
@ -5132,12 +5078,6 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
|
||||
_updateStyle: function () {
|
||||
var options = this.options;
|
||||
|
||||
if (options.dashArray) {
|
||||
var da = typeof(options.dashArray) === "string" ? options.dashArray.split(",").map(function(el,ix,ar) { return parseInt(el); }) : options.dashArray;
|
||||
this._ctx.setLineDash(da);
|
||||
} else {
|
||||
this._ctx.setLineDash([]);
|
||||
}
|
||||
if (options.stroke) {
|
||||
this._ctx.lineWidth = options.weight;
|
||||
this._ctx.strokeStyle = options.color;
|
||||
@ -5145,18 +5085,18 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
|
||||
if (options.fill) {
|
||||
this._ctx.fillStyle = options.fillColor || options.color;
|
||||
}
|
||||
|
||||
if (options.lineCap) {
|
||||
this._ctx.lineCap = options.lineCap;
|
||||
}
|
||||
if (options.lineJoin) {
|
||||
this._ctx.lineJoin = options.lineJoin;
|
||||
}
|
||||
},
|
||||
|
||||
_drawPath: function () {
|
||||
var i, j, len, len2, point, drawMethod;
|
||||
|
||||
if (this.options.dashArray) {
|
||||
var da = typeof(this.options.dashArray) === "string" ? this.options.dashArray.split(",").map(function(el,ix,ar) { return parseInt(el); }) : this.options.dashArray;
|
||||
this._ctx.setLineDash(da);
|
||||
} else {
|
||||
this._ctx.setLineDash([]);
|
||||
}
|
||||
|
||||
this._ctx.beginPath();
|
||||
|
||||
for (i = 0, len = this._parts.length; i < len; i++) {
|
||||
@ -5183,19 +5123,13 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
|
||||
var ctx = this._ctx,
|
||||
options = this.options;
|
||||
|
||||
if (options.dashArray) {
|
||||
var da = typeof(options.dashArray) === "string" ? options.dashArray.split(",").map(function(el,ix,ar) { return parseInt(el); }) : options.dashArray;
|
||||
ctx.setLineDash(da);
|
||||
} else {
|
||||
ctx.setLineDash([]);
|
||||
}
|
||||
this._drawPath();
|
||||
ctx.save();
|
||||
this._updateStyle();
|
||||
|
||||
if (options.fill) {
|
||||
ctx.globalAlpha = options.fillOpacity;
|
||||
ctx.fill();
|
||||
ctx.fill(options.fillRule || 'evenodd');
|
||||
}
|
||||
|
||||
if (options.stroke) {
|
||||
@ -5210,15 +5144,14 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
|
||||
|
||||
_initEvents: function () {
|
||||
if (this.options.clickable) {
|
||||
// TODO dblclick
|
||||
this._map.on('mousemove', this._onMouseMove, this);
|
||||
this._map.on('click', this._onClick, this);
|
||||
this._map.on('click dblclick contextmenu', this._fireMouseEvent, this);
|
||||
}
|
||||
},
|
||||
|
||||
_onClick: function (e) {
|
||||
_fireMouseEvent: function (e) {
|
||||
if (this._containsPoint(e.layerPoint)) {
|
||||
this.fire('click', e);
|
||||
this.fire(e.type, e);
|
||||
}
|
||||
},
|
||||
|
||||
@ -5260,7 +5193,6 @@ L.Map.include((L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? {}
|
||||
this.on('zoomend', this._endPathZoom);
|
||||
}
|
||||
this.on('moveend', this._updateCanvasViewport);
|
||||
this.on('canvasredraw', this._updateCanvasViewport);
|
||||
this._updateCanvasViewport();
|
||||
}
|
||||
},
|
||||
@ -6117,12 +6049,6 @@ L.Polygon.include(!L.Path.CANVAS ? {} : {
|
||||
|
||||
L.Circle.include(!L.Path.CANVAS ? {} : {
|
||||
_drawPath: function () {
|
||||
if (this.options.dashArray) {
|
||||
var da = typeof(this.options.dashArray) === "string" ? this.options.dashArray.split(",").map(function(el,ix,ar) { return parseInt(el); }) : this.options.dashArray;
|
||||
this._ctx.setLineDash(da);
|
||||
} else {
|
||||
this._ctx.setLineDash([]);
|
||||
}
|
||||
var p = this._point;
|
||||
this._ctx.beginPath();
|
||||
this._ctx.arc(p.x, p.y, this._radius, 0, Math.PI * 2, false);
|
||||
@ -7243,8 +7169,9 @@ L.extend(L.DomEvent, {
|
||||
pointers = this._pointers;
|
||||
|
||||
var cb = function (e) {
|
||||
|
||||
L.DomEvent.preventDefault(e);
|
||||
if (e.pointerType !== 'mouse' && e.pointerType !== e.MSPOINTER_TYPE_MOUSE) {
|
||||
L.DomEvent.preventDefault(e);
|
||||
}
|
||||
|
||||
var alreadyInArray = false;
|
||||
for (var i = 0; i < pointers.length; i++) {
|
||||
@ -8324,7 +8251,7 @@ L.Control.Scale = L.Control.extend({
|
||||
_update: function () {
|
||||
var bounds = this._map.getBounds(),
|
||||
centerLat = bounds.getCenter().lat,
|
||||
halfWorldMeters = 6367000.0 * Math.PI * Math.cos(centerLat * Math.PI / 180),
|
||||
halfWorldMeters = 6378137 * Math.PI * Math.cos(centerLat * Math.PI / 180),
|
||||
dist = halfWorldMeters * (bounds.getNorthEast().lng - bounds.getSouthWest().lng) / 180,
|
||||
|
||||
size = this._map.getSize(),
|
||||
@ -9003,20 +8930,25 @@ L.Map.include(!L.DomUtil.TRANSITION ? {} : {
|
||||
delta: delta,
|
||||
backwards: backwards
|
||||
});
|
||||
// horrible hack to work around a Chrome bug https://github.com/Leaflet/Leaflet/issues/3689
|
||||
setTimeout(L.bind(this._onZoomTransitionEnd, this), 250);
|
||||
}, this);
|
||||
},
|
||||
|
||||
_onZoomTransitionEnd: function () {
|
||||
if (!this._animatingZoom) { return; }
|
||||
|
||||
this._animatingZoom = false;
|
||||
|
||||
L.DomUtil.removeClass(this._mapPane, 'leaflet-zoom-anim');
|
||||
|
||||
this._resetView(this._animateToCenter, this._animateToZoom, true, true);
|
||||
L.Util.requestAnimFrame(function () {
|
||||
this._resetView(this._animateToCenter, this._animateToZoom, true, true);
|
||||
|
||||
if (L.Draggable) {
|
||||
L.Draggable._disabled = false;
|
||||
}
|
||||
if (L.Draggable) {
|
||||
L.Draggable._disabled = false;
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
});
|
||||
|
||||
@ -9052,6 +8984,11 @@ L.TileLayer.include({
|
||||
// force reflow
|
||||
L.Util.falseFn(bg.offsetWidth);
|
||||
|
||||
var zoom = this._map.getZoom();
|
||||
if (zoom > this.options.maxZoom || zoom < this.options.minZoom) {
|
||||
this._clearBgBuffer();
|
||||
}
|
||||
|
||||
this._animating = false;
|
||||
},
|
||||
|
||||
|
5
external/leaflet.css
vendored
5
external/leaflet.css
vendored
@ -21,6 +21,7 @@
|
||||
.leaflet-container {
|
||||
overflow: hidden;
|
||||
-ms-touch-action: none;
|
||||
touch-action: none;
|
||||
}
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
@ -278,12 +279,12 @@
|
||||
border-radius: 5px;
|
||||
}
|
||||
.leaflet-control-layers-toggle {
|
||||
background-image: url(@@INCLUDEIMAGE:images/layers.png@@);
|
||||
background-image: url(images/layers.png);
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
.leaflet-retina .leaflet-control-layers-toggle {
|
||||
background-image: url(@@INCLUDEIMAGE:images/layers-2x.png@@);
|
||||
background-image: url(images/layers-2x.png);
|
||||
background-size: 26px 26px;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers-toggle {
|
||||
|
Loading…
x
Reference in New Issue
Block a user