Update to Leaflet 0.7.4
This commit is contained in:
parent
fe4d50588d
commit
9ceb077afc
3 changed files with 98 additions and 80 deletions
|
@ -11,13 +11,13 @@ folder 'vendor/assets' do
|
|||
end
|
||||
|
||||
folder 'leaflet' do
|
||||
file 'leaflet.js', 'http://cdn.leafletjs.com/leaflet-0.7.3/leaflet-src.js'
|
||||
file 'leaflet.css', 'http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css'
|
||||
file 'leaflet.js', 'http://cdn.leafletjs.com/leaflet-0.7.4/leaflet-src.js'
|
||||
file 'leaflet.css', 'http://cdn.leafletjs.com/leaflet-0.7.4/leaflet.css'
|
||||
|
||||
[ 'layers.png', 'layers-2x.png',
|
||||
'marker-icon.png', 'marker-icon-2x.png',
|
||||
'marker-shadow.png' ].each do |image|
|
||||
file "images/#{image}", "http://cdn.leafletjs.com/leaflet-0.7.3/images/#{image}"
|
||||
file "images/#{image}", "http://cdn.leafletjs.com/leaflet-0.7.4/images/#{image}"
|
||||
end
|
||||
|
||||
from 'git://github.com/kajic/leaflet-locationfilter.git' do
|
||||
|
|
93
vendor/assets/leaflet/leaflet.css
vendored
93
vendor/assets/leaflet/leaflet.css
vendored
|
@ -1,16 +1,12 @@
|
|||
/* required styles */
|
||||
|
||||
.leaflet-map-pane,
|
||||
.leaflet-pane,
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow,
|
||||
.leaflet-tile-pane,
|
||||
.leaflet-tile-container,
|
||||
.leaflet-overlay-pane,
|
||||
.leaflet-shadow-pane,
|
||||
.leaflet-marker-pane,
|
||||
.leaflet-popup-pane,
|
||||
.leaflet-overlay-pane svg,
|
||||
.leaflet-map-pane svg,
|
||||
.leaflet-map-pane canvas,
|
||||
.leaflet-zoom-box,
|
||||
.leaflet-image-layer,
|
||||
.leaflet-layer {
|
||||
|
@ -21,6 +17,7 @@
|
|||
.leaflet-container {
|
||||
overflow: hidden;
|
||||
-ms-touch-action: none;
|
||||
touch-action: none;
|
||||
}
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
|
@ -28,19 +25,29 @@
|
|||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
-webkit-user-drag: none;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
|
||||
.leaflet-safari .leaflet-tile {
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
}
|
||||
/* hack that prevents hw layers "stretching" when loading new tiles */
|
||||
.leaflet-safari .leaflet-tile-container {
|
||||
width: 1600px;
|
||||
height: 1600px;
|
||||
-webkit-transform-origin: 0 0;
|
||||
}
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
display: block;
|
||||
}
|
||||
/* map is broken in FF if you have max-width: 100% on tiles */
|
||||
.leaflet-container img {
|
||||
max-width: none !important;
|
||||
}
|
||||
/* stupid Android 2 doesn't understand "max-width: none" properly */
|
||||
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
|
||||
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
|
||||
.leaflet-container .leaflet-overlay-pane svg,
|
||||
.leaflet-container .leaflet-marker-pane img,
|
||||
.leaflet-container .leaflet-tile-pane img,
|
||||
.leaflet-container img.leaflet-image-layer {
|
||||
max-width: 15000px !important;
|
||||
max-width: none !important;
|
||||
}
|
||||
.leaflet-tile {
|
||||
filter: inherit;
|
||||
|
@ -52,18 +59,25 @@
|
|||
.leaflet-zoom-box {
|
||||
width: 0;
|
||||
height: 0;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
z-index: 800;
|
||||
}
|
||||
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
|
||||
.leaflet-overlay-pane svg {
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
.leaflet-tile-pane { z-index: 2; }
|
||||
.leaflet-objects-pane { z-index: 3; }
|
||||
.leaflet-overlay-pane { z-index: 4; }
|
||||
.leaflet-shadow-pane { z-index: 5; }
|
||||
.leaflet-marker-pane { z-index: 6; }
|
||||
.leaflet-popup-pane { z-index: 7; }
|
||||
.leaflet-pane { z-index: 400; }
|
||||
|
||||
.leaflet-tile-pane { z-index: 200; }
|
||||
.leaflet-overlay-pane { z-index: 400; }
|
||||
.leaflet-shadow-pane { z-index: 500; }
|
||||
.leaflet-marker-pane { z-index: 600; }
|
||||
.leaflet-popup-pane { z-index: 700; }
|
||||
|
||||
.leaflet-map-pane canvas { z-index: 100; }
|
||||
.leaflet-map-pane svg { z-index: 200; }
|
||||
|
||||
.leaflet-vml-shape {
|
||||
width: 1px;
|
||||
|
@ -80,7 +94,7 @@
|
|||
|
||||
.leaflet-control {
|
||||
position: relative;
|
||||
z-index: 7;
|
||||
z-index: 800;
|
||||
pointer-events: auto;
|
||||
}
|
||||
.leaflet-top,
|
||||
|
@ -124,7 +138,9 @@
|
|||
|
||||
/* zoom and fade animations */
|
||||
|
||||
.leaflet-fade-anim .leaflet-tile,
|
||||
.leaflet-fade-anim .leaflet-tile {
|
||||
will-change: opacity;
|
||||
}
|
||||
.leaflet-fade-anim .leaflet-popup {
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s linear;
|
||||
|
@ -132,11 +148,17 @@
|
|||
-o-transition: opacity 0.2s linear;
|
||||
transition: opacity 0.2s linear;
|
||||
}
|
||||
.leaflet-fade-anim .leaflet-tile-loaded,
|
||||
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.leaflet-zoom-animated {
|
||||
-webkit-transform-origin: 0 0;
|
||||
-ms-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-zoom-animated {
|
||||
will-change: transform;
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-zoom-animated {
|
||||
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
|
@ -144,8 +166,7 @@
|
|||
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-tile,
|
||||
.leaflet-pan-anim .leaflet-tile,
|
||||
.leaflet-touching .leaflet-zoom-animated {
|
||||
.leaflet-pan-anim .leaflet-tile {
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
-o-transition: none;
|
||||
|
@ -159,19 +180,24 @@
|
|||
|
||||
/* cursors */
|
||||
|
||||
.leaflet-clickable {
|
||||
.leaflet-interactive {
|
||||
cursor: pointer;
|
||||
}
|
||||
.leaflet-container {
|
||||
.leaflet-grab {
|
||||
cursor: -webkit-grab;
|
||||
cursor: -moz-grab;
|
||||
}
|
||||
.leaflet-crosshair,
|
||||
.leaflet-crosshair .leaflet-interactive {
|
||||
cursor: crosshair;
|
||||
}
|
||||
.leaflet-popup-pane,
|
||||
.leaflet-control {
|
||||
cursor: auto;
|
||||
}
|
||||
.leaflet-dragging .leaflet-container,
|
||||
.leaflet-dragging .leaflet-clickable {
|
||||
.leaflet-dragging .leaflet-grab,
|
||||
.leaflet-dragging .leaflet-grab .leaflet-interactive,
|
||||
.leaflet-dragging .leaflet-marker-draggable {
|
||||
cursor: move;
|
||||
cursor: -webkit-grabbing;
|
||||
cursor: -moz-grabbing;
|
||||
|
@ -303,6 +329,10 @@
|
|||
color: #333;
|
||||
background: #fff;
|
||||
}
|
||||
.leaflet-control-layers-scrollbar {
|
||||
overflow-y: scroll;
|
||||
padding-right: 5px;
|
||||
}
|
||||
.leaflet-control-layers-selector {
|
||||
margin-top: 2px;
|
||||
position: relative;
|
||||
|
@ -422,7 +452,7 @@
|
|||
.leaflet-popup-content-wrapper,
|
||||
.leaflet-popup-tip {
|
||||
background: white;
|
||||
|
||||
color: #333;
|
||||
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button {
|
||||
|
@ -430,6 +460,7 @@
|
|||
top: 0;
|
||||
right: 0;
|
||||
padding: 4px 4px 0 0;
|
||||
border: none;
|
||||
text-align: center;
|
||||
width: 18px;
|
||||
height: 14px;
|
||||
|
|
79
vendor/assets/leaflet/leaflet.js
vendored
79
vendor/assets/leaflet/leaflet.js
vendored
|
@ -7,7 +7,7 @@
|
|||
var oldL = window.L,
|
||||
L = {};
|
||||
|
||||
L.version = '0.7.3';
|
||||
L.version = '0.7.4';
|
||||
|
||||
// define Leaflet for Node module pattern loaders, including Browserify
|
||||
if (typeof module === 'object' && typeof module.exports === 'object') {
|
||||
|
@ -519,8 +519,7 @@ 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,
|
||||
msPointer = !window.PointerEvent && window.MSPointerEvent,
|
||||
pointer = (window.PointerEvent && window.navigator.pointerEnabled && window.navigator.maxTouchPoints) ||
|
||||
msPointer,
|
||||
retina = ('devicePixelRatio' in window && window.devicePixelRatio > 1) ||
|
||||
|
@ -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,
|
||||
|
@ -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),
|
||||
|
@ -3568,7 +3538,9 @@ L.Marker = L.Class.extend({
|
|||
update: function () {
|
||||
if (this._icon) {
|
||||
var pos = this._map.latLngToLayerPoint(this._latlng).round();
|
||||
this._setPos(pos);
|
||||
L.Util.requestAnimFrame(function () {
|
||||
this._setPos(pos);
|
||||
}, this);
|
||||
}
|
||||
|
||||
return this;
|
||||
|
@ -4228,6 +4200,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);
|
||||
|
@ -5114,6 +5087,13 @@ 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 () {
|
||||
|
@ -5151,7 +5131,7 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
|
|||
|
||||
if (options.fill) {
|
||||
ctx.globalAlpha = options.fillOpacity;
|
||||
ctx.fill();
|
||||
ctx.fill(options.fillRule || 'evenodd');
|
||||
}
|
||||
|
||||
if (options.stroke) {
|
||||
|
@ -5166,15 +5146,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);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -8952,10 +8931,13 @@ 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;
|
||||
|
||||
|
@ -9001,6 +8983,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;
|
||||
},
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue