(все изменения без упоминания автора выполнены @mourner)
L
(#8536 от @mourner)setMaxBounds(map.getBounds())
(#8534 от @rjackson)latLngsToCoords()
не возвращает ссылки, переданные ему (#7344 от @marlo22)worldCopyJump()
последовательно при использовании клавиатуры (#8562 от @Falke-Design)popupopen
(#8571 от @Belair34)Popup
(#8520 от @rjackson)position: sticky
для контейнера карты (#8550 от @tmiaa)## 1.9.2 (2022-10-04)leaflet/dist/leaflet-src.esm.js
явно вместо этого, чтобы воспользоваться преимуществами; ESM по умолчанию будет доступен в v2) (#8493 от @jonkoops)equals
в документации для Bounds
(#8500 от @Falke-Design)Events
listens
, которое не распространяется на родительские объекты, в частности исправление совместимости с плагином Leaflet.markercluster (#8211 от @Falke-Design)color-adjust
до print-color-adjust
(#8211 от @Malvoz)### ❇️ Изменения APIcontent
и latLng
к конструкторам Popup
/ Tooltip
(#7783 от @Falke-Design)Bounds
для использования тех же функций, что и LatLngBounds
(#7882 от @Falke-Design)### ✨ УлучшенияgetCenter()
и перемещение его в PolyUtil
/ LineUtil
(#7603 от @Falke-Design)maxBounds
(#8168)Events.listens
для поиска конкретной функции (#8161 от @Falke-Design)noMoveStart
к panTo
(#6685 от @Chivano)FeatureCollection
к geometryToLayer
(#8163 от @Falke-Design)Tooltip
(фокус и голосовое управление) (#8247 от @alekzvik)role="presentation"
из изображений плит (#8172 от @Malvoz)### 🐞 Исправления ошибокmap._move
через requestAnimFrame
(#8328 от @AMDvsTMD)_isClickDisabled
для предотвращения ошибки, если родительский элемент удаляется из DOM (#8288 от @Falke-Design)DomEvent.DoubleTap
для игнорирования кликов на <label>
с атрибутом for
(#8227 от @IvanSanchez)once()
дважды, если одно и то же событие вызывается внутри once
(#8190 от @Falke-Design)map.getCenter()
(#8167)min/maxZoom
при использовании вместе с detectRetina
(#7328 от @bozdoz)anchor
на data-anchor
(#8174 от @KnightJam1)eslint-plugin-script-tags
(#8331 от @jonkoops)map.latLngToLayerPoint
(#8407 от @kreloaded)map.panTo
(#8390 от @anurag-dhamala)map.containerPointToLatLng
и map.latLngToContainerPoint
(#8384 от @abhi3315)Layer._addZoomLimit
(#8037 от @zishiwu123)Map
(#8206 от @stephenspol)CircleMarker._containsPoint
(#8340 от @gernhard1337)Rectangle
тестами (#8144 от @stephenspol)contextmenu
на мобильном Safari за счет введения нового обработчика TapHold
, заменившего устаревший Tap
(#7026 от @johnd0e)
DivOverlay
, Popup
и Tooltip
(#7540 от @johnd0e)
Popup
, из DivOverlay
в Popup
(#7778 от @Falke-Design)Tooltip
с leaflet-clickable
на leaflet-interactive
(#7719 от @Falke-Design)Map.closeTooltip
теперь требует слоя в качестве аргумента (#7533 от @johnd0e)DomEvent.Pointer
) (#7059, #7084, #7415 от @johnd0e)dblclick
на устройствах с сенсорным экраном (DomEvent.DoubleTap
) (#7027 от @johnd0e)disableClickPropagation
(#7439 от @johnd0e)Map.hasLayer()
и LayerGroup.hasLayer()
для обязательного указания слоя в качестве аргумента (#6999 от @johnd0e)Class.include
для предотвращения перезаписи options
(#7756 от @johnd0e)Class.extend
для предотвращения модификации исходного объекта свойств (#6766 от @johnd0e)Browser.touch
(#7029 от @johnd0e)leaflet-container
, чтобы скорректировать его, если это необходимо.) (#7800 от @Chandu-4444)### ❇️ Изменения в API* Добавлено взаимодействие для DivOverlay
/ Tooltip
(#7531, #7532 от @johnd0e)openOn
, close
, toggle
для DivOverlay
(#6639 от @johnd0e)DomEvent.off(el)
для удаления всех слушателей событий (#7125 от @johnd0e)false
в Util.formatNum
/ toGeoJSON
(#7100 от @johnd0e)autoPanOnFocus
для Marker
(#8042 от @IvanSanchez)referrerPolicy
для TileLayer
(#7945 от @natevw)playsInline
для VideoOverlay
(#7928 от @Falke-Design)getCenter
для ImageOverlay
(#7848 от @Falke-Design)tileabort
при отмене загрузки TileLayer
(#6786 от @dstndstn)crossOrigin
для Icon
(#7298 от @syedmuhammadabid)### ✨ Улучшенияwill-change
для изображений плит (#7872 от @janjaap)GridLayer.onAdd
(#7570 от @johnd0e)panInside
(#7469 от @daverayment)TileLayer
(#7216 от @lubojr)Tooltip
, связанного с ImageOverlay
(#7306 от @IvanSanchez)mousemove
через Canvas на карту, если у карты нет слоев (#7809 от @johnd0e)Layer
в Control.Attribution
(#7764 от @Malvoz)com/Leaflet/Leaflet/pull/7764) от @johnd0e)
vmlCreate()
для того, чтобы она не выставляла замыкание на TypeError
(#7279 от @darcyparker)Control.Layers
за счет отказа от использования свойств браузера android
и touch
(#7057 от @johnd0e)Tooltip
за счет отказа от использования проверок браузера touch
(#7535 от @johnd0e)Browser
изменяемым для упрощения автоматизированного тестирования (#7335 от @bozdoz)div
на span
в контейнере Control.Layers
, чтобы исправить ошибку валидации HTML (#7914 от @tmiaa)Marker
для установки по умолчанию role="button"
и alt="marker"
для улучшения опыта работы с экранного диктора (#7895, @tmiaa)role="button"
для соответствующих семантических элементов управления слоями <a>
(#7850, @Malvoz)outline
при фокусировке для событий клавиатуры (#7259, @jafin)leaflet-container
для пользователей клавиатуры (#7996, @Malvoz)font-size
для масштабируемого текста (#7800)com/Leaflet/Leaflet/pull/7800), @Chandu-4444):hover
к :focus
также (#7274, @Malvoz)Marker
при масштабировании в определённых случаях (#7967 внесено @Falke-Design)Tooltip
при перетаскивании карты (#7862 внесено @Falke-Design)Class
(#7459 внесено @Falke-Design)* Улучшение опций permanent
и sticky
для Tooltip
для совместной работы (#7563 внесено @Falke-Design)locate
(#7813 внесено @Falke-Design)bindTooltip
для Tooltip
для отвязывания существующего тултипа (#7633 внесено @Falke-Design)if
для добавления ограничений масштабирования для слоя (#7609 внесено @vcoppe)GridLayer
перерисовывает плитки после изменения maxNativeZoom
(#6443 внесено @cherniavskii)Popup
keepInView
при необходимости панорамирования карты на большое расстояние (#7792 внесено @Falke-Design)add/removePointerListener
(#7808 внесено @johnd0e)mousedown
после перетаскивания Canvas
карты (#7781 внесено @johnd0e)console.warn
для предотвращения загрязнения (#7748 от @johnd0e)* Исправление события contextmenu
, предотвращающего по умолчанию, когда есть более одного кандидата-цели (#7544 от @johnd0e)
Popup
-указателе, который срабатывает на карте (#7541 от @johnd0e)Path.setStyle
до добавления слоя на карту (#6941 от @NielsHolt)BoxZoom
после отмены с ESC (#7597 от @Falke-Design)noConflict
(#7855 от @Falke-Design)latLngToCoords
и latLngsToCoords
, которые не принимают массив координат lat/lngs (#7436, от @Relkfaw)zoomend
(#7460 от @xeruf)false
в prefix
для Control. Attribution
(#7814)com/Leaflet/Leaflet/pull/7814) от @Falke-Design)LayerGroup
наследует от Interactive Layer
(#7763 от @johnd0e)Map.panInside
(#7397 от @daverayment)Renderer
для уточнения, что опция tolerance
применима только для Canvas
(#7515 от @Hippl-Eric)propagate
в Event-Listener (#7103 от @riffaud)plugins.md
на несколько файлов для удобства поддержки (#7805 от @Falke-Design)npm run serve
для обслуживания документации на localhost (#7973 от @Falke-Design)master
в main
(#7921 от @jonkoops)leaflet-include.js
из примеров debug
(#7776 от @Falke-Design)* Поправки в линтере (#7676, #7743, #7757 от @jonkoops, @mourner)blocker
в процесс выпуска (#8019 от @Malvoz)Internet Explorer 11
(#7741, автор @jonkoops)FirefoxNoTouch
(#7736, #7742, автор @johnd0e)PhantomJS
из набора тестов (#7660, #7724, автор @jonkoops).near
и .nearLatLng
(#7820, автор @johnd0e)captureTimeout
и browserSocketTimeout
(#7856, автор @Falke-Design)DomEvent
единичными тестами (автор @stephenspol в https://github.com/Leaflet/Leaflet/pull/8088)* Покрытие DomUtil
единичными тестами (#7547, автор @LGNorris)## 1.7.1 (2020-09-04)VideoOverlay
теперь может принимать опцию muted
(#7071 от @ronikar)featureGroup
теперь принимает options
, как конструктор FeatureGroup
(#7160 от @frogcat)Использование пассивных слушателей событий для событий touchstart
/touchend
(#7008 от @yneet)
Лучшее обнаружение браузеров, поддерживающих PointerEvents
, в L.Browser
, и связанные изменения в обработчиках Tap
, Drag
и TouchZoom
(#7010, #7041, #7036, #7068, #7195 от @johnd0e)
Добавление дополнительных профилей браузеров для автоматизированных тестов (#7115 от @johnd0e)### Исправления ошибок
Исправлено отсутствие очистки холста рендерером canvas при некоторых трансформациях масштабирования, что влияло на прозрачность элементов (#6915 от @chipta)
Исправлено обнаружение пассивных событий в L.Browser
(#6930 от @Ivan-Perez)
Добавлено префиксирование CSS-стилей, специфичных для MS, для предотвращения предупреждений (от @ivansanchez, благодарности @zachricha за #6960)
Удален слушатель moveend
из map.setMaxBounds
(#6958 от @simon04)
Исправлено неправильное пространство имен вызова bind
в окружениях ESM (#6970 от @shintonik)
Проверка наличия closePopup
перед автоматическим вызовом (#6962 от @pke)
Исправлено исключение при вызове layerGroup.hasLayer()
с неправильным layerId
(#6998 от @johnd0e)
Удален click
фильтр, направленный на браузеры Android 4.x (#7013 от @johnd0e)
Исправлен контекст обработчика события прикосновения для масштабирования (#7036 от @johnd0e)
Тесты для Bounds.overlaps()
и Bounds.intersects()
(#7075 от @mondeja)* Исправлено распространение событий в контейнере всплывающего окна (#7091 от @johnd0e)
Исправлено мерцание плиток при maxNativeZoom === maxZoom
(#7094 от @johnd0e)
Исправлен алгоритм загрузки уровня масштабирования для GridLayer
(#7123 от @johnd0e)
Исправлено поведение tooltipAnchor
для различных направлений подсказок (#7155 от @Istador)
Обновлены примеры для использования неустаревших плит Mapbox и связанные изменения (#6905 от @riastrad) (#6922 от @danswick) (#6995 от @riastrad)
Polyline.addLatLng()
(#6924 от @life777)map.setMaxBounds()
(#7001 от @johnd0e)jekyll
при сборке документации (#7014 от @vncntcltt)divOverlay.getElement()
(#7111 от @mondeja)Marker.shadowPane
(#7135 от @mi-v)Layer.удаление из
removeFrom()в отношении
LayerGroup` (от @ivansanchez)LatLngBounds.overlaps()
#7194 от @DerZade)## 1.6.0 (2019-11-17)### Изменения в APIGeoJSON.resetStyle
- разрешить вызов без аргумента (#6663 от joukewitteveen)
Добавлена новая опция markersInheritOptions
для L.GeoJSON
(#6866 от ghybs)
oldLatLng
к событию move
для L.CircleMarker
(#6719 от errnesto)L.Util.formatNum
(#6668 от cherniavskii)className
в SVGOverlay
и VideoOverlay
(#6679 от IvanSanchez)mousehover
на канвасе при событии mouseout
(#6749 от IvanSanchez)L.Path.setStyle
(#6728 от TheRealTorreySmith)dblclick
, когда доступны как Pointer Events, так и Touch Events (#6855 от filcab)Marker
, когда иконка отсутствует (#6794 от BenTalagan)### Документация и веб-сайтL.Marker
(#6871 от chloe-mc)keepAspectRatio
к VideoOverlay
(#6038 от ronikar)keydown
и keyup
для карты (#6421 от OrBin)shadowPane
к Marker
(#6460 от alexfig)L.SVGOverlay
(#6517 от Zsavajji)getIcon
к Marker
(#6457 от OsamaShabrez)### Улучшенияhtml
опции DivIcon
(#6571 от oscar-sensornet)GeoJSON._setLayerStyle
(#6616 от johnd0e)openPopup
и openTooltip
(#6613 от johnd0e)Control.Layers
при использовании нескольких карт (#6483 от jjimenezshaw)L.Util.formatNum
(#6587 от inkstak)Marker
без иконки (#6610 от charlie67)dblclick
теперь относится к левой кнопке мыши (#6628 от IvanSanchez)precision
метода toGeoJSON
(#6375 от rkatka)Events.off
(#6619 от lancebendo)Layer
(#6636 от billygarrison)### Изменения рабочего процесса разработкиMap.panInside
(#6054 от daverayment)_drawnLayers
(#6324 от ud09)TileLayer.setUrl()
при неизменном URL (#6313 от JackNeus)section
вместо form
в контроле слоев (#6380 от hundekoerper)DomUtil.getClass
для IE11 (#6366 от Schleuse)bringToFront/Back()
(#6389 от perliedman)autoPan
при обновлении содержимого всплывающего окна во время анимации панорамирования (#6365 от Schleuse)<tr>
(#6334 от mgred)Сброс стилей max-width
и max-height
для плиток в пользовательских панелях (#6255 от jerekshoe)
Добавление непрефиксированного стиля cursor: grab
(#6281 от Malvoz)
Удаление устаревших префиксированных стилей, добавление непрефиксированных стилей (#6282 от Malvoz)### Исправление ошибок
Переместить вызовы set/getAttribute('src')
из GridLayer
в TileLayer
(#6264 от IvanSanchez)
Поддержка запятых или пробелов в качестве разделителей в опции dashArray
для Canvas
(#6277 от IvanSanchez)
Удалить лишние запятые, чтобы избежать сбоев в некоторых версиях IE (#6279 от helbling)
Исправлена заглавная буква в свойстве webkitTransform
, что приводило к сбоям трансформаций на некоторых браузерах Webkit (#6290 от tuckergordon)
zoomControl
карты (#6254 от IvanSanchez)ImageOverlay
(#6266 от jgravois)module
из package.json
(#6239)use-credentials
CORS для ImageOverlay
и TileLayer
(#6016 от caleblogan) + тесты (#6022 и #6027 от ghybs)L
из исходного кода (#6047 и #6048 от ghybs)dashArray
для Canvas
+ поддержка массивного типа (#6200 от McBen)### Исправления ошибокpreferCanvas
во всех панелях (#6019 от mjumbewu)tileload
, если у плитки пустое значение src
(#6025 от cherniavskii)Polygon
с пустым массивом LatLng
(#6119 от BakuCity)Map panes
(#6018 от ghybs)closestLayerPoint
(#6060 от mattdsteele)VideoOverlay.js
(#6090 от zhuang-hao-ming)LatLng
(#6138 от jieter)Browser.retina
(#6203 от JLuc)node_modules
(#6028 от cherniavskii)jake
и использование скриптов NPM вместо (#5828 от cherniavskii)ssri
до 5.2.2
(#6086 от cherniavskii)inside
метода getBoundsZoom
(#6192 от ghybs)tolerance
к L.Renderer
вместо жестко закодированного допуска для устройств с сенсорным экраном (#5922 от Muscot).### УлучшенияautoPan
к L.Marker
(#5651 от alenaksu)closeOnEscapeKey
к L.Popup
(#5730 от Mickyfen17)tileerror
к спецификации L.GridLayer
(#5805 от msiadak)eachLayer
для итераций по слоям в L.LayerGroup
(#5809 от cherniavskii)Util.formatNum
на OnClickListener 6 знаков после запятой (#5492 от fminuti)zoomlevelschange
, когда вызывается setMinZoom
и setMaxZoom
(#5230 от mynameisstephen)zoom
, если он передан в метод getTileUrl
класса L.TileLayer
(#5822 от broncha)L.LayerGroup
(#5792 от iH8)typeof
в checkDeprecatedMixinEvents
(#5901 от murb)addTo
к классу L.Handler
(#5930 от cherniavskii)L.ImageOverlay
принимает ImageElement
(#5948 от ronikar)L.VideoOverlay
, что вызывало сбой карты в IE8 (#5731 от Dzwiedzminator и #5785 от cherniavskii)_tiles
, когда они прерваны (#5634 от oliverheilig)L.TileLayer
(#5783 от cherniavskii)* Исправление отсутствия отображения карты, когда изображения имеют максимальную высоту (#5778 от idanen)this._map
в методе update
класса L.Marker
(#5736 от dnepromell)className
в L.ImageOverlay
(#5830 от cherniavskii)L.TileLayer.WMS
при использовании полярной стереографической проекции (#5618 от scaddenp)_tileZoom
у GridLayer
на undefined
вместо null
(#5888 от iH8)map.flyTo
у L.Map
, чтобы учитывать опцию noMoveStart
(#5923 от iPrytz)touchZoom
(#5952 от cherniavskii)com/cherniavskii))L.SVG
, чтобы сбрасывать размер при удалении с карты (#5966 от ghybs)L.Marker
, чтобы устанавливать атрибут alt
только для иконок на основе изображений (#5979 от msiadak)PolyLine.closestLayerPoint
(#5701 от perliedman)DomEvent.stop
в документацию (#5733 от theashyster)pad
класса L.LatLngBounds
(#5748 от CalvinWilliams1012)bringToBack
класса L.FeatureGroup
(#5788 от CalvinWilliams1012)com/Leaflet/Leaflet/issues/5788) от fpopa)distanceTo
класса L.LatLng
(#5791 от loisgh)L.DomEvent.off()
(#5855 от 77ganesh и #5976 от kring)L.SVG
на соответствующее место (#5864 от cherniavskii)mouseup
для интерактивного L.Layer
(#5941 от germansokolov13)tooltipAnchor
класса L.Иконка
, обновлены значения по умолчанию для tooltipAnchor
и popupAnchor
(#5989 от cherniavskii)### ES6 / Rollup* Изменение опции legacy
в конфигурации rollup — теперь Leaflet работает в IE снова (#5929 от IvanSanchez)L.LineUtil._flat
как публичного метода L.LineUtil.isFlat
(#5667 от yohanboniface)setBounds
класса L.ImageOverlay
принимает массив точек, а не только экземпляр L.LatLngBounds
(#5687 от ronikar)VideoOverlay
принимает VideoElement
(#5661 от eavidan-0)addLayer
с объектом, который не является слоем (#5689 от perliedman)leaflet.js
(#5682 от jgravois)### Исправление ошибокControl.Layers
корректно обрабатывает добавление одного и того же слоя несколько раз, а также очистку (#5672, #5684 и #5673 от jjimenezshaw)L.Draggable._dragging
публичным снова (#5659 от yohanboniface)DomEvent.off
возвращает this
(#5601 от jelhan)L
внутри кода (#5596 от atd-schubert)DomEvent.disableScrollPropagation
возвращать this
вместо addOne
(#5595 от Eschon)L.Mixin.Events
, исправлено #5358 (#5365) (автор perliedman)Преобразование nonBubblingEvents
в документированную булеву опцию (#4883 автор IvanSanchez)
Добавлен фабрикатор L.transformation
, позволяющий создавать объекты из массива (#5282 автор anetz89)
Методы toGeoJSON
теперь по умолчанию имеют точность в шесть знаков после запятой (как рекомендовано в спецификации GeoJSON), точность можно установить через параметр метода (#5544 автор mattgrande)### Документация и веб-сайт
reference.html
теперь всегда ссылается на последнюю стабильную версию документации (#5490 автор IvanSanchez, #5493 автор alyhegazy)
Добавлена информация о подресурсной целостности и скрипты (#5468 автор IvanSanchez)
Новый учебник по масштабированию (автор IvanSanchez, #5007)
Мелкие улучшения документации от perliedman, veltman, FDMS, ghybs, RichardLitt, gatsbimantico, daturkel, jgravois, geografa, BjoernSchilberg, IvanSanchez, bozdoz, zemadz, danzel, jieter, massic80, jjimenezshaw, hnrchrdl и RayBB
Дополнительные исправления, тестирование и чистка кода на ES6 (#5373, #5417, #5351, #5330, #5329, #5489, #5504, #5456, #5463) (by thachhoang, danzel, jkuebart, simon04, perliedman, luiscamachopt and Trufi)### Улучшения
Добавлен новый класс L.VideoOverlay
(#4988 by IvanSanchez)
Добавлена поддержка z-index для ImageOverlay (#5418 by Saulzi)
Добавлено событие ошибки для слоя ImageOverlay
и добавлены тесты для нового события (#5416 by Saulzi)
Добавлена опция className
для ImageOverlay
(#5555 by perliedman)### Исправление ошибок
Обработка краевых случаев пустых границ в _getBoundsCenterZoom
(#5157 от IvanSanchez)
Добавление новых методов к L.Bounds
для двух недостающих углов, исправление #5475 (#5488 от ghybs)
Обработка Polyline
с пустым массивом LatLng
#5497 (#5498 от perliedman)
Учет devicePixelRatio
при прокрутке колеса мыши в win10+chrome (#5480) (от IvanSanchez)
Добавление точек для подключения, чтобы обеспечить правильную работу плагина NoGap (#5476) (от IvanSanchez)
Проверка целостности для предотвращения загрузки плиток при бесконечных границах (#5478, #5479 от IvanSanchez)
При обновлении устанавливать текущие плитки активными для предотвращения их удаления (#5381) (#5431 от oliverheilig)
Преобразование L.Mixin.Events
в простой объект вместо прототипа, чтобы избежать свойства 'constructor', исправление #5451 (#5453 от luiscamachopt)
Canvas: вызов ctx.setLineDash
в _fillStroke
#5182 (#5454 от TeXitoi)
Перестроение DOM только при необходимости в toFront
/toBack
, исправление #4050 (#5465 от perliedman)
Отодвигание порядка навигации клавиатурой кнопки закрытия L.Popup
#5461 от Mirodil
Удаление лишней проверки в DomUtil
* Предотвращение создания контура (preventOutline
) (#5435 от qjas)
Обработчик ошибок в ImageOverlay
для ссылок 404 (#5307) от APwhitehat
Убедиться, что контейнер рендерера инициализируется при добавлении пути на карту (#5404 от IvanSanchez)
Управление слоями теперь добавляет события слоев только при нахождении на карте. Исправляет #5421 (#5422 от danzel)
Управление слоями теперь может стать прокручиваемым даже при collapsed: false
, исправляет #5328 (#5348 от ghybs)
Остановка карты при начале перетаскивания вместо нажатия указателя, исправляет #5350 (#5378 от perliedman)* Исправление недопустимого GeoJSON, созданного вложенным LayerGroups
(#5359 от Resonance1584)
Обновление внутреннего радиуса границы панели инструментов (#5361 от newmanw)
Экспорт lastId
в Util
(#5349 от DenisCarriere)
Не останавливать обработку клавиш при нажатии клавиши Esc, если нет открытого попапа, плюс юнит-тесты (#5331 от IvanSanchez)
Документация: удаление границ iframe
на примерах (#5327) от tariqksoliman
Извлечение min
/maxNativeZoom
из TileLayer
в GridLayer
, как указано в #5316. (#5319 от jkuebart)
Отключение распространения клика на кнопках управления масштаба, исправляет #5308 (#5318 от perliedman)
Добавление CSS для -webkit-tap-highlight-color
, исправляет #5302 (#5303 автор: IvanSanchez)
type
в HTML5 файлах (#5309 автор: uzerus)LatLngBounds.equals
(#5071 автор: miguelcobain)L.Draggable
и исправление docstring (#5301)com/Leaflet/Leaflet/issues/5301) автор: IvanSanchez)getBoundsZoom
, исправляет #5136 (#5137 автор: IvanSanchez)marker.dragging
при отсутствии на карте, исправляет #5293 (#5295 автор: danzel)L.Layers.Control
в Chrome>55 (#5280 автор: IvanSanchez)L.Canvas
в нескольких сценариях (автор @perliedman, #5250, также спасибо @manubb за расследование и PR).dblclick
в Chrome 55 из-за PointerEvent
ов (автор @IvanSanchez, #5185, #5248, #5268).L.SVG.VML
для IE8 (автор @IvanSanchez, #5215).popupopen
(автор @hagai26, #5202).getBoundsZoom
для CRS с перевернутой осью (автор @computerlove, #5204).errorTileUrl
у L.TileLayer
(автор @IvanSanchez, #5177).L.Canvas
для предотвращения артефактов при частичных обновлениях (автор @Ernie23, #5148).isPopupOpen()
у L.Layer
при отсутствии привязанного всплывающего окна (автор @gvangool, #5106).LatLngBounds.contains()
для разрешения использования неинициализированных объектов LatLng
(автор @IvanSanchez, #5135).L.Control.Layers
при опции collapse
равной false
(автор @perliedman, #5131).WrapLatLngBounds
к L.CRS
, чтобы исправить проблему с maxBounds
слоев GridLayer
(внесено @IvanSanchez, #5185, также благодарим @DiogoMCampos за расследование).L.Map.getSize()
теперь будет возвращать 0
вместо NaN
в неграфических окружениях (внесено @ughitsaaron, #5209).alt
к тегам <img>
для теней маркеров (внесено @topicus, #5259).max-width
(автор @brunob, #5046).mouseover
для одного и того же слоя (автор @perliedman, #5033).L.Canvas
во время анимации масштабирования (автор @ghybs, #5011).FeatureCollection
(автор @IvanSanchez, #5045).minZoom
/maxZoom
(автор @IvanSanchez, #4916).mouseover
/mouseout
на перекрывающихся слоях L.Canvas
(автор @perliedman, #5090).* Исправлено поведение перетаскивания при удалении маркера во время перетаскивания (автор @IvanSanchez, #5063).L.Control.Layers.collapse()
для инициально развернутых элементов управления слоями (автор @perliedman, #5131).L.Tooltip
за счёт округления координат пикселей (автор @ashmigelski, #5089).L.Canvas
(автор @perliedman, #5100). ### Изменения в API* Добавлено опциональное свойство sortLayers
к L.Control.Layers
(автор @IvanSanchez, #4711).bringToFront
и bringToBack
при использовании L.Canvas
, а также исправлены другие проблемы с L.Canvas
(автор @perliedman), #5115.minNativeZoom
к L.TileLayer
(автор @bb-juliogarcia), #5088.L.Path
путем переработки логики событий (автор @IvanSanchez) #5054.L.Marker
и L.Map
больше не имеют отдельного файла (автор @mourner).zoomanimated
для L.Popup
(автор @fnicollet) #4699
bower.json
(от @anotherredward) #4865
L.Icon
с помощью CSS (от @IvanSanchez) #4605
getScaleZoom
в некоторых пользовательских CRS (от @theashyster) #4919
L.Path
от гонок (от @perliedman и @IvanSanchez) #4855 #4929 #4838
L.GridLayer
обернут tileBounds
при noWrap
равном false
(от @fyeah) #4908
bringToFront()
для L.Path
в браузере Edge (от @nikolai-b) #4848
getCenter()
для L.Polygon
, который не имеет карты и, следовательно, CRS (от @snkashis) #4820
_leaflet_id
для контейнеров карт для предотвращения ошибки при удалении карты дважды (от @IvanSanchez) #4810
offset
для L.Tooltip
теперь по умолчанию равен [0, 0]
(от @yohanboniface) #4773
oldLatLng
в событие drag
для L.Marker
(от @snkashis) #4752
L.Tooltip
(от @yohanboniface) #4744
layer.bindTooltip
вызывал сбой, если был вызван до добавления слоя на карту (от @yohanboniface) #4779
L.Popup
(от @yohanboniface) #4768
L.Tooltip
, который не закрывался при касании карты (от @yohanboniface) #4767
popupopen
и popupclose
, которые не вызывались при клике на путь с открытым попапом (от @yohanboniface) #4788
L.Handler.enable
/disable
, которые возвращают this
(автор @yohanboniface) #4708
size
для иконок теперь может быть инициализирована числом (автор @rheh) #4608
classname
для L.GridLayer
(автор @jayvarner) #4553
Map.addLayer
(автор @nathancahill) #4504
x
и y
(автор @nathancahill) #4465
updateWhenZooming
для L.GridLayer
(автор @IvanSanchez) #4462### Улучшенияpopup.options.offset
при вычислении смещения попапа (фикс #4645) (автор @yohanboniface) #4662
L.Bounds
для "отметки как удаляемого" и загрузки плит (автор @IvanSanchez) #4650
L.Tooltip
для отображения небольших подсказок на карте (автор @yohanboniface) #3952
GridLayer
к вертикальному центру карты (исправление #4702) (автор @yohanboniface) #4704
pointer-events: visiblePainted
в качестве запасного варианта для IE <11 (автор @perliedman) #4690
abbr
на сайте (автор @brunob) #4663
L.DomUtil.create()
(автор @MuellerMatthew) #4563
Control.Layers._getLayer
(автор @ValentinH) #4561
getWheelDelta()
(автор @IvanSanchez) #4538
getBoundsZoom
при маленьком размере и отступах (автор @dianjin) #4532
L.Control.Layers
в IE8 (автор @jieter) #4509
TileLayer
при включении zoomReverse
(автор @perliedman) #4503
setMaxBounds
при передаче аргумента null
(автор @yohanboniface) #4494
L.Control.removeLayer()
, которая возникала при попытке удаления слоя, который ещё не был добавлен (автор @jieter) #4487
L.Evented.listens()
для удалённых обработчиков событий, #4474 (автор @IvanSanchez) #4476
markerZoomAnimation
(автор @IvanSanchez) #4460
L.Control.Layers.collapse
/expand
публичными методами (автор @yohanboniface) #4370
L.latLngBounds
фабрикой, возвращающей пустые границы без аргументов (автор @yohanboniface) #4368
Map.fitBounds
теперь выдаёт ошибку, если границы не являются валидными (автор @theotow) #4353
L.Circle
(автор @JrFolk) #4290
NaN
радиусе круга (автор @IvanSanchez) #4237
L.Class.include()
и mergeOptions()
теперь возвращают this
(автор @IvanSanchez) #4246
L.LatLng.equals
в L.CRS.equals
. (автор @perliedman) #4074
{-y}
в URL-адресах слоев плиток (автор @jieter) #4337
dashArray
для пути в canvas (автор @gommo) #4173* Упрощение navigator.pointerEnabled
(автор @IvanSanchez) #4287
L.Control.Layers
внутренне (автор @jieter) #4227
L.Browser.edge
(автор @IvanSanchez) #4143
L.DivIcon.bgPos
в L.Point
(автор @perliedman) #4090
Map.fitBounds
(автор @perliedman) #4377
flyTo
(автор @hyperknot) #4376
L.CRS.Earth
(автор @perliedman) #4369
setLineDash
canvas. (автор @perliedman) #4364
infinite: true
(автор @jieter) #4344
Map.TouchZoom
(автор @IvanSanchez) #4340
this._times.length
как неопределенного в Map.Drag.js
(автор @LucasMouraDeOliveira) #4324
L.Path
(автор @elkami12) #4314
L.Control.Layers
, который не находится на карте (автор @errebenito) #4280
Map.attributionControl
только при addInitHook
(автор @snkashis) #4263
e.originalEvent
в DomUtil._filterclick
(автор @IvanSanchez) #4256
L.Draggable
(автор @turban) #4250 * Исправлена ошибка при быстром удалении слоя, только что добавленного (автор @hyperknot) #4244
Map.stop
(предложено @IvanSanchez) #4229
Map.fadeAnimation
и GridLayer.opacity
(предложено @IvanSanchez) #4228
L.Browser.any3d
(предложено @IvanSanchez) #4212
pxBounds
перед использованием (предложено @yohanboniface) #4191
L.Circle
(предложено @IvanSanchez) #4133
dblclick
вместо событий касания (предложено @IvanSanchez) #4131
L.Polyline
's pixel bounds (предложено @perliedman) #4114
tileunload
для всех удаляемых плиток (предложено @tcoats) #4099
L.GridLayer.retainParent()
(автор @jblarsen) #4094
_enforcingBounds
всегда сбрасывается (автор @perliedman) #4089
L.Control.Layers
вызывала map._size
вместо getSize()
(автор @Brobin) #4063
resetStyle
для GeoJSON (автор @yohanboniface) #4028
maxZoom
значения 0 (автор @simsibimsiwimsi) #4000
L.GridLayer._updateLevels()
при выходе за пределы минимального/максимального масштаба (предотвращает исключения в IE8) (автор @IvanSanchez) #3999
L.DomUtil.getPosition()
должна возвращать запасное значение (для VML в IE8) (автор @IvanSanchez) #3998com/Leaflet/Leaflet/pull/3998)
L.Marker
: инициализация взаимодействия независимо от нового иконки (автор @celadevra) #3998
interactive=false
не учитывалось для canvas (автор @yohanboniface) #3978
Версия beta 2 исправляет более 50 ошибок, которые были отмечены пользователями, пробовавшими версию beta 1. Большинство изменений небольшие исправления проблем, которые возникают в очень конкретных ситуациях или условиях, несколько изменений по объединению API и несколько обходных решений для браузеров.
L.circle
теперь принимает radius
как опцию (как L.circleMarker
) вместо второго аргумента (автор @IvanSanchez)### Улучшения
Оптимизированы действия на холсте при наведении мыши (автор @philippelatulippe) #3076
Улучшено поведение перетаскивания, предотвращено событие preclick
во время перетаскивания (автор @yohanboniface) #3632
Реализован метод L.ImageOverlay.setBounds()
и исправлена инициализация изображения (автор @fminuti) #3680
Реализованы перетаскиваемые элементы, которые вызывают события mousedown
(автор @yohanboniface) #3682
Изменена проверка браузеров, поддерживающих события msPointer
(автор @IvanSanchez) #3684
Реализовано округление широты для сферической проекции Меркатора (автор @perliedman) #3700
Устранены проблемы с браузерами, не поддерживающими Geolocation.clearWatch()
#3707
Реализовано создание sourcemaps при сборке и минификации исходных файлов (автор @IvanSanchez) #3723
Добавлены методы bringToFront
и bringToBack
для всплывающих окон (автор @danzel) #3908 #3813
Умножение смещения на 3 при панорамировании клавиатурой при нажатии клавиши Shift (автор @yohanboniface) #3921com/Leaflet/Leaflet/pull/3921)### Исправления ошибок* Исправлено распространение событий при двойном касании пальцем (автор @IvanSanchez) #3532
Исправлены изменения стиля при повторном добавлении слоев (автор @wpf500) #3547
Исправлены исключения preventOutline
#3625
Исправлена регрессия ошибки в функции box zoom #3633
Исправлено поведение contextmenu
при отсутствии слушателей событий (автор @yohanboniface) #3638
Исправлено отображение элементов управления карты поверх слоев карты (автор @patrickarlt) #3644
Исправлено отображение изображений маркеров с max-width
(автор @davidjb) #3647
Исправлено пузырьковое распространение событий mouseout
и mouseover
(автор @yohanboniface) #3648 #3797 #3708
Исправлена ошибка в контроле слоев при удалении слоев (автор @davidlukerice) #3651
Исправлены анимации панорамирования и масштабирования, взаимодействующие друг с другом #3355 #3655
Исправлена регрессия ошибки в рендерере canvas при удалении слоев #3661com/Leaflet/Leaflet/issues/3661)
Удалена работающая обходная мера для устаревших браузеров Android 2 #2282
Исправлено векторное рендеринг VML в IE8 при удалении и повторном добавлении слоев (автор @fminuti) #2809
Исправлены анимации flyTo
при неизменном центре карты (автор @fminuti) #3663
Исправлены анимации затухания для полупрозрачных слоев плиток (автор @w8r) #3671
Исправлено поведение события baselayerchange
(автор @yohanboniface) #3677
Исправлено обработку маркерной иконки во время перетаскивания маркера (автор @IvanSanchez) #3687
Исправлено проблему видимости контейнера карты в IE 11 (автор @fminuti) #2788
Запрещены действия перетаскивания во время анимации масштабирования карты (автор @IvanSanchez) #3692
Реализовано отключение слоев в панели управления слоями, когда они недоступны на текущем уровне масштабирования (автор @IvanSanchez) #252
Переработано определение L.Util.requestAnimFrame
(автор @fminuti) #3703
Исправлено граничное условие L.Circle.getBounds()
(автор @knabar) #3776* Исправлено значение возврата Rectangle.setBounds()
(от @IvanSanchez) https://github.com/Leaflet/Leaflet/commit/e698f641afadd4a0b412a6c9e065a6dbfbe16f44
Исправлено порядок срабатывания событий при открытии всплывающего окна (от @yohanboniface) #3745
Исправлено загрузку слоя плиток при перетаскивании, за которым сразу следует масштабирование карты (от @IvanSanchez) #3814
Обход ограничений браузера при панорамировании карты слишком далеко (от @yohanboniface и @IvanSanchez) #3608
Исправлено выделение текста и события касания для IE 10 (от @danzel) #3804
Исправлено расположение слоев плиток при установке maxZoom
(от @patrickarlt) #3721
Исправлено поведение масштабирования на нестандартных CRS (от @javimolla, особая благодарность Your First PR) #2990
Исправлено отображение сдвинутых с экрана векторных слоев (от @yohanboniface) #3836
Исправлено отображение пересекающихся векторных слоев (от @yohanboniface) #3583
Ужесточена проверка кода на соответствие стилю (code linting)* Исправлено отключение обработчиков перетаскивания, которые не могут быть вновь включены (от @yohanboniface) #3825
Исправлено скроллинг за пределы границ карты (от @yohanboniface) #3878
Исправлено отсутствие фокуса карты при использовании клавиатуры в IE 11 (от @IvanSanchez) #3772
Исправлено позиционирование векторных слоев во время анимации масштабирования при низком масштабе (от @IvanSanchez) #3769
Реализована опция noWrap
в L.GridLayer
(от @IvanSanchez) #3691
Исправлено скроллинг карты при открытии всплывающих окон во время выполнения другой анимации скроллинга (от @yohanboniface) #3744
Исправлено некорректное значение шкалы управления из-за стилей CSS (от @yohanboniface) #3668
Исправлено определение пути по умолчанию для иконок (от @ilfa) #3770
Исправлены различные проблемы с событиями Canvas (от @yohanboniface) #3917
Исправлено скроллинг при управлении слоями при касании (от @yohanboniface) #2882* Исправлено отсутствие передачи длительности из setView
в panBy
(от @yohanboniface) #3300
Эта версия содержит множество полезных, но потенциально разрывающих изменений (особенно если вы автор плагина), поэтому внимательно изучите изменения, если ваш код перестанет работать после обновления.
Renderer
(наследуемый от реализаций SVG/Canvas), который управляет границами рендерера и анимацией масштабирования.SVG
и Canvas
, которые теперь содержат весь код, специфичный для рендерера, для векторных слоев и могут быть добавлены как слои на карту.Path
, Polyline
и т. д.) теперь не содержат никакого кода, специфичного для рендерера, и вместо этого могут принимать слой рендерера для использования в качестве renderer
в опциях.MultiPolyline
и MultiPolygon
, так как несколько колец теперь обрабатываются классами Polyline
и Polygon
соответственно. Слои с несколькими кольцами теперь работают намного быстрее (так как каждый теперь физически является одним объектом пути, а не группой слоев FeatureGroup
).getCenter
для классов Polyline
и Polygon
для получения центроидов.Polyline
и Polygon
при вызове openPopup
.getBounds
для классов Polyline
и Polygon
для кеширования (чтобы он работал намного быстрее).Circle
на наследование от CircleMarker
и не наоборот.resetStyle
класса GeoJSON
для корректной работы в случае, если опция style
не была установлена.moveend
при обновлении слоев Canvas.spliceLatLngs
классов Polyline
и Polygon
(используйте setLatLngs
вместо него).getLatLngs
класса Polygon
для возврата всегда массива колец (вложенного массива) (внесено @yohanboniface). #2618 #3386 Leaflet/Leaflet#3279com/Leaflet/Leaflet/pull/3279) #2648
fillRule
для векторных слоев (внесено @bullgare). #2834
L_PREFER_CANVAS
и добавлена опция preferCanvas
для Map
вместо него (внесено @yohanboniface). #3623
Layer
, который делит базовую логику добавления и удаления. Это приводит к следующим изменениям (основной PR #2266):Layer
, от которого должны наследоваться все слои, добавленные на карту.add
и remove
для всех слоев.remove
для слоев и контролов (marker.remove()
теперь эквивалентен map.removeLayer(marker)
).pane
для всех слоев, которую можно изменять (например, можно установить pane: 'overlayPane'
для слоя плиток).createPane
карты для пользовательских панелей. #1742
objectsPane
, все панели теперь находятся на одном уровне.shadowPane
для маркеров.getEvents
для всех слоев, который возвращает хэш {event: listener, ...}
; слои теперь автоматически управляют своими слушателями без необходимости делать это в onAdd
/onRemove
.togglePopup
, setPopupContent
, getPopup
, isPopupOpen
для всех слоев. #2279 #2292* Улучшена производительность добавления/удаления слоев при наличии контрола слоев (вместо прослушивания любых событий добавления/удаления слоев, контрол прослушивает только события добавления слоев в конфигурации).getBounds
класса FeatureGroup
для корректной работы при наличии круговых маркеров.tilelayersload
класса Map
.open
и close
класса Popup
в пользу событий add
и remove
для последовательности.Map.js
в Layer.js
.bindPopup
класса FeatureGroup
для поддержки функции для генерации содержимого всплывающей подсказки, что значительно уменьшает потребление памяти при добавлении всплывающих подсказок к большому количеству слоев (см. @patrickarlt). #3109 #3059
ImageOverlay
(мышиные события и т. д.) (см. @snkashis). #3009 #1727
getBounds
для ImageOverlay
(см. @brunob). #2848
clickable
в interactive
(см. @AndriiHeonia). #2838 #2499
nonBubblingEvents
для слоев (с участием @yohanboniface). #3605 #3307 #3604
Кроме того, реализация событий слоев была переписана для использования делегирования событий, что значительно улучшило производительность добавления/удаления и сократило потребление памяти. #3032 #46### Улучшения API TileLayer и проекций
Код TileLayer и все, что связано с проекциями, прошло значительную рефакторизацию, документированную в PR #2247. Включает следующие изменения (в дополнение к более чистому и простому коду):
Эти изменения делают реализацию пользовательских сеточных слоев для Leaflet намного проще.
TileLayer
была перемещена в новый класс GridLayer
(который TileLayer
теперь наследует, расширяя его специфической логикой для серверов плиток).TileLayer.Canvas
в пользу более гибкого и мощного GridLayer
.TileLayer
, чтобы она работала прозрачно и полностью зависела от используемого CRS; устранены необходимость хаков TileLayer
при использовании пользовательских проекций.url
в событиях tileload
и tileloadstart
(получите его через tile.src
).CRS.Earth
, который служит базой для всех земных систем координат (EPSG3857 и т. д.). #2345
bounds
класса Projection
, которое определяет границы для различных проекций (Mercator и т. д.) в проекционных координатах (автор @perliedman).wrapLat
и wrapLng
класса CRS
, которые определяют, происходит ли обертывание мира по заданной оси и в каком диапазоне. По умолчанию установлены как [-180, 180]
для EPSG:3857, EPSG:4326, EPSG:3395.wrapLatLng
классов CRS
и Map
(второй зависит от выбранного CRS).infinite
класса CRS
, которое отключает границы (мир может продолжаться бесконечно в любом направлении), по умолчанию для CRS.Simple
.getProjectedBounds
класса CRS
и getPixelWorldBounds
класса Map
, которые возвращают границы мира в проекционных координатах в зависимости от масштаба (получены из свойства bounds
класса Projection
) (автор @perliedman).* Добавлен метод unproject
класса CRS
, который преобразует координаты в единицах, зависящих от CRS, в координаты LatLng
(автор @sowelie).distance(latlng1, latlng2)
класса Map
, который учитывает CRS и работает с плоскими проекциями. #2345 #1442
Circle
эллипсом в земных проекциях. #2345
EPSG:4326
, чтобы иметь правильную пирамиду тайлов (2x1 тайла на корневом уровне).Projection.SphericalMercator
, чтобы проектировать в метрические единицы (автор @calvinmetcalf).worldCopyJump
класса Map
, чтобы работать для других проекций.Circle
, чтобы работать с плоскими проекциями. #2 Yöntem #1465
ImageOverlay
в некоторых нестандартных проекциях. #3011
map.flyTo
) для масштабирования к определенному местоположению по кривой (одновременно масштабируя и панорамируя)map.setZoom(12.45)
, и это просто работает.zoom
в дополнение к viewreset
для анимации масштабирования кадр за кадром. #3278
LatLng
(в 8 раз).FeatureGroup
(и соответственно GeoJSON
) и обработки событий (в 10 раз) за счет реализации более эффективного механизма распространения событий. #2311
off
класса Evented
примерно в 2 раза.Изменено, чтобы метод off
класса DomUtil
требовал атрибут context
, если вы удаляете слушатель, который был ранее добавлен с определенным контекстом.
Удален метод DomUtil.getViewportOffset
, так как он больше не требуется.
Удалены методы DomUtil.getTranslateString
и DomUtil.getScaleString
.
Удален метод DomUtil.documentIsLtr
.
Удалены константы RAD_TO_DEG
, DEG_TO_RAD
и MAX_MARGIN
класса LatLng
.
Переименован метод Util.limitExecByInterval
в Util.throttle
.### Другие улучшения API
Добавлен класс Evented
, от которого теперь наследуются многие классы Leaflet (вместо смешивания методов событий в каждом классе), при этом сохраняется старый синтаксис includes: L.Mixin.Events
. #2310
Улучшена оптимизация класса Class options
для прототипного наследования вместо копирования в дочерних классах, что приводит к более эффективному использованию памяти, быстрее создаваемым объектам и возможности автоматического распространения изменений родительских опций на всех дочерних классах (автор @jfirebaugh). #2300 #2294
Добавлен переменный {r}
в url
класса TileLayer
для добавления префикса "@2x"
на устройствах с поддержкой Retina (автор @urbaniak). #2296
Добавлен метод ceil
класса Point
(автор @perliedman).
Добавлен метод wrapNum
класса Util
для обертывания числа в определённом диапазоне.
Улучшен метод L.bind
для использования встроенной функции bind
современных браузеров и предварительного добавления реальных аргументов к привязанным.
Добавлен второй аргумент maxMargin
в метод equals
класса LatLng
.
Добавлены методы setClass
и getClass
класса DomUtil
.
Улучшен метод move
класса Marker
для включения oldLatlng
(автор @danzel). #2412* Добавлен метод mousemove
класса Marker
(автор @bullgare). #2798
Улучшен метод on
/off
класса DomEvent
для поддержки пространственно-отделённых событий и литералов объектов ({type: fn}
).
Добавлены методы toFront
и toBack
класса DomUtil
.
Добавлен метод listens
класса Evented
как сокращение для hasEventListeners
.
Добавлена опциональная поддержка центрированного скролла для опции touchZoom
класса L.map
(автор @mtmail). #2527
Добавлен метод getElement
для всех слоёв, возвращающий связанный DOM-элемент.
Добавлен метод clone
класса LatLng
(автор @yohanboniface). #3390
Добавлены методы setMinZoom
и setMaxZoom
класса Map
(автор @nathancahill). #3383 #3380
Добавлено originalEvent
в данные событий drag
и move
для Map
и Marker
(от @yohanboniface). #3264
Добавлено опциональное свойство autoClose
для Popup
(от @jfirebaugh). #3018 #2716 #1853
Добавлены методы enable
и disable
для Control.Zoom
. #3172
Добавлен аргумент для метода L.PolyUtil.clipPolygon
, который контролирует округление (от @aparshin). #2926 #2917* Добавлено опциональное свойство wheelDebounceTime
для Map
(от @AndriiHeonia). #2836 #2501
Добавлено опциональное свойство uppercase
для TileLayer.WMS
(по умолчанию false
) (от @kdeloach). #2831 #1751
Добавлено опциональное свойство alt
для ImageOverlay
(от @francis-liberty). #2767 #2564
Улучшена производительность метода L.Util.extend
(от @fab1an). #2746
Добавлен метод stop
для Map
, который останавливает панорамирование или анимацию flyTo
.
Добавлено опциональное свойство maxBoundsViscosity
для Map
, которое контролирует, насколько сильно карта сопротивляется перетаскиванию за пределы максимальных границ (установлено на 1
для жесткого ограничения) (от @IvanSanchez). #2224 #3510 #1673
Добавлен метод overlaps
для Bounds
и LatLngBounds
(от @IvanSanchez). #2981 #3508
Добавлено опциональное свойство crossOrigin
для ImageOverlay
(от @patrickarlt). #3594 #2621com/Leaflet/Leaflet/pull/2621)### Исправления ошибок
Исправлено поведение DomUtil
on
, чтобы сделать возможным добавление одного и того же слушателя к одному и тому же элементу для нескольких контекстов.
Исправлена ошибка, которая вызывала ошибку при попытке перезагрузки карты при выгрузке (автор @gamb). #2410
Исправлено чрезмерное размытие неретина-тайлов на ретина-устройствах iOS.
Исправлена ошибка с кнопкой закрытия попапа в IE7/8. #2351
Исправлено искажение проекции ImageOverlay
на более низких уровнях масштабирования.
Исправлена ошибка, при которой слои не вызывали события popupopen
и popupclose
, когда создавался объект попапа вручную и передавался в bindPopup
. #2354
Исправлено появление переключения масштабирования в виде прямоугольника под маркерами. #1813
Исправлено поведение Map
panInsideBounds
, чтобы принимать границы в виде массива (автор @RLRR). #3489
Исправлено сохранение состояния маркера draggable
при удалении и повторном добавлении на карту (автор @IvanSanchez). #3488
Исправлено отсутствие работы инерции при параллельном движении к осям (автор @rikvanmechelen). #3432* Исправлено перекрытие свойства max-width
для изображений и SVG внутри попапов (автор @yohanboniface). #3452
Исправлено поведение курсора при отключенной возможности перетаскивания (автор @juliensoret). #3219 #3233
Исправлено поведение LatLng
wrap
, чтобы не упускать высоту (автор @IvanSanchez). #3420
Исправлено отсутствие обнаружения Firefox для Android как мобильного устройства (автор @IvanSanchez). #3419
Исправлено бесконечное вращение при последовательном вызове setMaxBounds
(автор @IvanSanchez). #3410 #3320
Исправлено странное поведение Map
locate
, которое могло вызывать неожиданные эффекты (автор @sindre). Leaflet/Leaflet#3404
Исправлена неработающая масштабировка в браузерах Project Spartan (автор @mitchless). #3379
Исправлен баг в методе getCenter
класса Polygon
, когда все точки находятся в одном пикселе (автор @yohanboniface). #3372
Исправлен баг в методе getCenter
класса Polyline
, когда линия очень мала (автор @yohanboniface). #3371 * Исправлен баг, когда масштабирование с клавиатуры не работало на клавиатурах типа azerty
. #3362
panBy
класса Map
не всегда возвращал this
(автор @Trufi). #3303
toGeoJSON
класса Polygon
, когда экспортировался MultiPolygon
в некоторых случаях (автор @yohanboniface). #2977
TileLayer.WMS
, когда все опции передавались как параметры WMS. #2972
map.fitBounds(map.getBounds())
. #2957* Исправлен баг, когда маркер, который можно было перемещать, переставал быть перемещаемым после вызова метода setIcon
. #2578
Исправлены проблемы производительности и стабильности при работе с касанием на IE11 (автор @danzel). #3007 #2820
Исправлена проблема с распараллеливанием (race condition
) с TileLayer
, когда maxNativeZoom = 0
. #3004
Исправлена проблема с FeatureGroup
setStyle
, которая не влияла на opacity
ImageOverlay
(внесено @opie). #3008 #2246
Исправлены инициализационные хуки классов, которые не вызывались для родительских классов (внесено @jfirebaugh). #2545
Исправлена проблема с добавлением управления, которое уже было добавлено, или удалением управления, которое отсутствует (внесено @jfirebaugh). #3020 #2877
Исправлены проблемы с неправильной инерцией при низком уровне масштабирования, когда включена опция worldCopyJump
у Map
(внесено @flemenach). #3038 #2624
Исправлена проблема, когда getMaxZoom
иногда возвращала неверный результат внутри события baselayerchange
у Control.Layers
(внесено @CloudNiner). #3040 #2625com/CloudNiner)). #3048 #2318
race condition
) у Map
getSize
, которая могла возвращать неверный результат (внесено @kshepard). #3052 #3031
L.latLng
, чтобы он принимал altitude
в качестве третьего аргумента (внесено @lonelyelk). #3070.L.latLng
, чтобы он не выбрасывал ошибку при пустом массиве входных данных (внесено @lonelyelk). #3080 #3079
Map
locate
, чтобы не изменять переданный объект опций (автор @tmcw). #3173
Marker
setIcon
, чтобы не сбрасывалось смещение якоря попапа (автор @bullgare). #2872
Map
при указании zoom
в опциях и последующем установлении центра (автор @AndriiHeonia). #2849 #1871
TileLayer
setUrl
, чтобы событие loading
корректно срабатывало (автор @bennlich). #2802 #2675 #2827
Marker.setIcon
(автор @jfgodoy). #2811
Исправлено поведение LatLng.distanceTo
, чтобы оно не возвращало NaN
при равных местоположениях. #2705
Исправлена ошибка, при которой параметр maxNativeZoom
класса TileLayer
не работал корректно при задании опции bounds
(внесено @mlegenhausen). #2725 #2704
Исправлена ошибка, при которой плитки, касающиеся края области снаружи, загружались (внесено @IvanSanchez). #2981 #3508
Исправлена утечка памяти в методе map.remove
(внесено @IvanSanchez). #3514 #2718
Исправлена ошибка, при которой панель управления слоями сворачивалась при наведении указателя мыши на отключенный радиокнопку (внесено @rowanwins). #3564 #2771 Leaflet#2771
Исправлена ошибка, при которой GeoJSON не принимал null геометрию (внесено @pglotov). #3585
Исправлено случайное горизонтальное смещение всплывающего окна на 1 пиксель (внесено @patrickarlt). #3587 #3526 #3586com/Leaflet/Leaflet/issues/3586) #3525
Исправлены некоторые несоответствия в событиях мыши для векторных слоев Canvas (внесено @wpf500). #3590 #3568 #3618
Исправлен контроль масштаба для нестандартных CRS (внесено @cmulders). #3614
jake build
) для отчета о размере сжатой библиотеки.src/images/logo.svg
.package.json
(от @bclinkinbeard). #2432
minZoom
или maxZoom
. (от @ivansanchez) #3778
maxNativeZoom
не проверяли границы должным образом. (от @jlaxon) #3415
bindPopup(popup)
. (от @Eschon) #3675
Map.fitBounds
. (от @bsstoner) #2489
dblclick
и contextmenu
для путей на холсте. (от @ivansanchez) #3482
fillRule
для заполненных многоугольников на холсте. (от @w8r)com/w8r)) #3477
lineCap
и lineJoin
для линий на холсте (от @northerneyes) #3156
Исправлена ошибка, при которой перетаскивание карты за пределы окна вызывало ошибку в Firefox. #2610
Исправлена ошибка, при которой некоторые касания на Android не работали, часто ошибочно воспринимались как перетаскивания (внесено @axefrog). #2503
Исправлена ошибка, при которой клики на Android игнорировались, если они происходили слишком быстро. #2303
Исправлена ошибка, при которой последовательное вызов setView
(или аналогичных методов) мог вызвать зависание карты. #2521 #2236 #2485
Исправлена ошибка, при которой Control.Layers
не удалялся правильно (внесено @jack-kerouac). #2569
Исправлена ошибка, при которой событие load
для TileLayer
не срабатывало правильно. #2510
Исправлена ошибка, при которой удаление Canvas-базированных путей не вызывало событие remove
(внесено @adimitrov). #2486
Исправлена ошибка, при которой после сжатия карты пальцами (pinch-zoom) могли возникнуть дробные значения масштабирования (внесено @danzel). #2400 #1943## 0.7.2 (2014-01-17)
Исправлена ошибка, возникшая после обновления Google Chrome 32, которая смещала все мышиные события на прокрученных страницах. #2352
Исправлена ошибка, которая могла препятствовать загрузке плит при использовании нестандартных размеров плит. #2288
Исправлена ошибка, при которой опция maxNativeZoom
не работала с TMS-слоями плит. (внесено @perliedman). #2321 #2314 ## 0.7.1 (2013-12-06)
Исправлена ошибка, при которой быстрое использование функции масштабирования с помощью пинча могло оставить карту с дробным значением масштаба, что приводило к сбоям в загрузке тайлов (внесено @danzel). #2269 #2255 #1934
Исправлены проблемы с мерцанием тайлов на некоторых старых устройствах Android 2/3 путем отключения уязвимого ускоренного CSS (внесено @danzel). #2216 #2198
Исправлена регрессия, которая иногда приводила к ошибке при начале масштабирования с помощью пинча как первого действия на карте (внесено @danzel). #2259 #2256
Отменены оптимизации L.Util.template
, чтобы позволить использовать Leaflet в средах, запрещающих eval, таких как расширения браузеров (прирост производительности был незначительным) (внесено @calvinmetcalf). #2217 #2209 #1968
Исправлена регрессия, при которой Map invalidateSize
могла привести к непредсказуемым результатам при вызове до инициализации карты (внесено @Zverik). #2250 #2249* Исправлена регрессия, при которой FeatureGroup
содержащий другие группы перезаписывал исходное значение layer
в событиях мыши (внесено @gumballhead). #2253 #2252
Исправлена регрессия, при которой CircleMarker.setLatLngs
не возвращал this
(внесено @radicalbiscuit). #2206## 0.7 (2013-11-18)
Shift+Double-Click
для уменьшения масштаба карты. #2185
maxBounds
: теперь она не заставляет увеличивать минимальный масштаб, и правильно закрепляет границы при масштабировании (вклад @kapouer и @mourner). #2187 #1946 #2081 #2168 #1908
zoom
метода setView
класса Map
необязательным. #2056
maxZoom
к методу fitBounds
класса Map
. #2101
bounceAtZoomLimits
класса Map
, которая позволяет карте "прыгать" при пинч-зуме за пределы допустимого уровня (ранее это работало так, но теперь можно отключить это поведение) (вкладка @trevorpowell). #1864 #2072
distance
к событиям dragend
классов Map
и Marker
. #2158 #872
timestamp
к событию locationfound
класса Map
. #584
invalidateSize
класса Map
для немедленного вызова события moveend
, если не указано debounceMoveend: true
(вкладка @jfirebaugh). #2181
maxNativeZoom
класса TileLayer
, которая позволяет отображать слои плиток на уровнях масштабирования выше максимального путем увеличения плиток. #1802 #1798
tileloadstart
класса TileLayer
(вкладка @tmcw). #2142 #2140
TileLayer
(используется для обертывания и ограничения плиток), чтобы он был выведен из CRS вместо жесткого кодирования, что делает его легче использовать с пользовательскими проекциями (вкладка @perliedman). #2160#### Улучшения API маркеровadd
для класса Marker
(от @tohaocean). #1942
getPopup
для класса Marker
(от @scottharvey). #618 #1197
alt
для класса Marker
для добавления альтернативного текста к маркерам (от @jimmytidey). #2112
className
для классов Path
для добавления пользовательских имен классов к векторным слоям.Добавлены опции lineCap
и lineJoin
для класса Path
(внесено @palewire). #1843 #1863 #1881
Добавлена возможность передачи опций векторных слоев в GeoJSON
(внесено @kapouer). #2075
Улучшена функция setLatLngs
класса Polygon
для поддержки отверстий (внесено @aparshin). #2095 #1518
Добавлена поддержка 3D формата данных GeoJSON
и опциональный аргумент altitude
в конструкторе LatLng
(внесено @Starefossen). #1822
Добавлен метод openPopup
для классов MultiPolygon
и MultiPolyline
. #2046#### Улучшения API всплывающих окон
Добавлен метод update
для класса Popup
. #1959
Добавлены опции autoPanPaddingTopLeft
и autoPanPaddingBottomRight
для класса Popup
(внесено @albburtsev). #1972 #1588
Добавлен метод getContent
для класса Popup
. #2100
Добавлен метод getLatLng
для класса Popup
(внесено @AndreyGeonya). #2097#### Разные улучшения API
Добавлены методы setUrl
и getAttribution
для ImageOverlay
и опция attribution
(внесено @stsydow). #1957 #1958
Добавлена поддержка локализации для управления масштабом (внесено @Danielku15). #1953 #1643 #1953
Значительно улучшена производительность метода L.Util.template
(влияет на L.TileLayer
) за счет введения кэшированной компиляции шаблонов (внесено @calvinmetcalf). #1969 #1968 #1554
Добавлен метод getSize
для CRS
для получения размера мира в пикселях (внесено @perliedman). #2160
Добавлен класс CSS leaflet-drag-target
к элементу под курсором при перетаскивании для более гибкой кастомизации. #2164 #1902
Улучшена производительность методов addClass
, removeClass
, hasClass
для L.DomUtil
и исправлено для работы с элементами SVG. #2164
leaflet.css
, а файл leaflet.ie.css
удален, поэтому условное комментарие для IE не требуется при включении Leaflet. #2159
leaflet-oldie
к контейнеру карты для IE7-8 для удобного стилирования. #2159
jake
для запуска тестов перед сборкой исходного кода. #2151
package.json
на незаминифицированную версию для NPM/Browserify (автор @icetan). #2109
worldCopyJump: true
(см. @fastrde). #1904 #1831 #1982
L.DomUtil.getMousePosition
выбрасывал ошибку, если аргумент контейнера не был предоставлен (см. @scooterw). #1826 #1928 #1926
maxBounds
при инерционном панорамировании за пределы границ. #2168
EPSG:3395
смещались (с участием @aparshin). #2020
box-sizing: border-box
.maxBounds
(с участием @kapouer и @mourner). #2187 #1946 #2081 #2168 #1908#### Исправления ошибок в браузерах+
перестала масштабировать карту в Firefox 22+ (внесено @fastrde). #1943 #1981
Map.remove
вызывал ошибку в IE6-8. #2015
isArray
не работала в редких случаях в IE9. #2077
Исправлена ошибка на IE10+ touch, при которой масштабирование также вызывало клик (автор @danzel). #2117 #2094
Исправлена ошибка на IE10+ touch, при которой контролы не теряли состояние "нажато" после нажатия (автор @danzel). #2111 #2103
Исправлена ошибка, при которой клик на метках управления слоями на iOS вызывал ошибку (авторы @olemarkus и @dagjomar). #1984 #1989#### Устранение ошибок для API карт
Исправлена ошибка, при которой Map
getCenter
возвращала старый результат после изменения размера контейнера карты (автор @jfirebaugh). #1940 #1919
Исправлены проблемы округления в Map
invalidateSize
при изменении размера карты на нечетное количество пикселей (автор @russelldavis). #1931
Исправлена ошибка, при которой Map
removeLayer
не возвращала this
в определенном случае (автор @jfirebaugh).
Исправлена ошибка, при которой вызов Map
setZoom
до setView
вызывал ошибку. #1449#### Устранение ошибок для API слоев
Исправлена ошибка, при которой Popup
метод setLatLng
необоснованно сбрасывала содержимое и обновляла макет; теперь работает намного быстрее. #2167
Исправлена ошибка, при которой toGeoJSON
слоев, происходящих из GeoJSON GeometryCollection и MultiPoint, работала некорректно (не была round-tripped). #1956
Исправлены зависимости GeoJSON
в конфигурации сборки, которые могли привести к поломке пользовательской сборки в некоторых ситуациях (с помощью @alubchuk). #1909
Исправлена ошибка, при которой обновление местоположения пула CircleMarker
popup не обновлялось после вызова setLatLng
(с помощью @snkashis). #1921 #1927
Исправлена ошибка, при которой обновление якоря пула Marker
метод setIcon
не обновлялось (с помощью @snkashis). #1874 #1891
Исправлена ошибка, при которой GeoJSON не выбрасывал описательную ошибку, если полигон имел внутренний контур с нулевой длиной (с помощью @snkashis). #1917 #1918
Исправлена ошибка, при которой FeatureGroup
ломался при использовании дочерних слоев без событий (с помощью @tmcw). #2032 #1962* Исправлена ошибка, при которой CircleMarker.getRadius
всегда возвращал null
. #2016 #2017
Исправлена ошибка, при которой TileLayer.WMS
не работала с WMS 1.3 & EPSG4326 проекцией (с помощью @Bobboya). #1897
Исправлена ошибка, при которой события e.layer
FeatureGroup
иногда были пустыми в старых версиях IE. #1938
L.latLngBounds
не принимала простую форму объекта LatLng
(внесено @Gnurfos). #2025 #1915
L.Util.template
не работала с двойными кавычками в строке (внесено @jieter). #1968 #2121 #2120
fitBounds
и setMaxBounds
могли заморозить браузер в некоторых ситуациях. #1895 #1866
ImageOverlay
(внесено @jfirebaugh). #1821
layerremove
и layeradd
срабатывали до завершения соответствующих действий (внесено @jfirebaugh). #1846
worldCopyJump: true
вызывал сбои карты на малых уровнях масштабирования (внесено @danzel). #1831
Marker
не анимировалась при масштабировании после использования setIcon
. #1768
GeoJSON
игнорировал не-объектные геометрии, переданные в массиве. #1840
minZoom
и maxZoom
карты не всегда перезаписывали значения, полученные из добавленных слоев плиток. #1848
TileLayer.Canvas
не перерисовывался сразу после вызова redraw
(автор @tofferrosen). #1797 #1817
FeatureGroup
продолжал вызывать событие layerremove
при вызове removeLayer
, даже если указанный слой отсутствовал в группе (автор @danzel). #1847 #1858
Marker
setOpacity
не возвращал маркер (автор @freepius44). #1851
setInterval
(автор @rutkovsky). #1825 #1856
leaflet-bar
.setMaxBounds
(автор @davidjb). #1834
Добавлен метод getLatLngs
для MultiPolyline
и MultiPolygon
. #1839### Улучшения рабочего процесса разработки
Файлы сборки Leaflet (*.js файлы в папке dist
) были удалены из репозитория и теперь создаются автоматически на каждом коммите для веток master
и stable
с помощью Travis CI. Ссылки на загрузку находятся на странице загрузки Leaflet.
Object.prototype
(к счастью, это стало историей в наши дни).invalidateSize
класса Map
больше не вызывает события move
и moveend
, если размер карты не изменился. #1819
Control.Layers
), разработанный Волькером Кинкелем, добавлено разрешение для Retina и SVG-источник. #1739
TileLayer
для устранения мерцания при переключении между слоями или быстром масштабировании (разработано @mourner с множеством исправлений от @danzel). #1140 #1437 #52
map.attributionControl.setPrefix('')
, если это необходимо.Добавлен метод toGeoJSON
для различных типов слоев, что позволяет сохранять ваши слои Leaflet в формате GeoJSON. (автор @jfirebaugh). #1462 #712 #1779
Добавлена опция coordsToLatLng
для объекта GeoJSON
для работы с GeoJSON, имеющим координаты, отличные от WGS84 (спасибо @moonlite). #888 #886
Улучшена работа Marker
, чтобы переиспользовать элементы DOM иконок при изменении иконок на лету (например, решает проблемы при изменении иконки при наведении мыши) (авторы @robpvn & @danzel). #1726 #561 #1753 #1754
Добавлено свойство latlng
в данные события мыши для Marker
. #1613
Добавлен метод hasLayer
для LayerGroup
(автор @rvlasveld). #1282 #1300
Добавлен метод getLayers
для LayerGroup
(автор @tmcw). #1469
Добавлен метод getLayer
для LayerGroup
(автор @gumballhead). #1650
Улучшен метод removeLayer
для LayerGroup
, чтобы он также принимал id
слоя (автор @gumballhead). #1642* Добавлена опция pointerEvents
для объекта Path
для установки свойства pointer-events
на векторных слоях, использующих SVG (автор @inpursuit). #1053
Улучшена работа Polygon
, чтобы фильтровать последнюю точку, если она равна первой (чтобы исправить проблемы с полигонами GeoJSON) (автор @snkashis). #1153 #1135
Улучшены пути с clickable: false
, чтобы позволять событиям мыши проходить через нижележащие объекты (автор @snkashis). #1384 #1281
L.Util.template
(и соответствующие ей параметры TileLayer
, связанные с URL) для поддержки функций для значений данных (автор @olegsmith). #1554
getContainer
для TileLayer
(автор @tmcw). #1433
redraw
для TileLayer.Canvas
для правильной цепочки вызовов (автор @jieter). #1287
crs
для TileLayer.WMS
для возможности использования WMS с CRS, отличным от CRS карты (автор @kengu). #942 #945
popupopen
и popupclose
для различных слоев (автор @Koc). #738 * Добавлен параметр keepInView
для Popup
, который предотвращает смещение попапа за пределы экрана при открытии (автор @lapo-luchini). #1308 #1052
togglePopup
для Marker
(автор @popox). #1761
closeOnClick
для Popup
, который позволяет переопределить параметр closeOnClick
для Map
для конкретных попапов (автор @jfirebaugh). #1669
bindPopup
для Marker
и Path
для поддержки передачи объектов Popup
(автор @snkashis). #1385 #1208 #1402
setPopupContent
для Marker
(автор @snkashis). #1373
Map
) (setView
, panTo
, setZoom
, fitBounds
и т. д.), чтобы они принимали объект опций, включая возможность точного контроля анимаций масштабирования и панорамирования (включая возможность принудительного отключения/включения и т. д.). #1617 #1616 #340 #483 #1164 #1420 * Улучшена методика fitBounds
карты (Map
), чтобы она принимала опции padding
(или paddingTopLeft
и paddingBottomRight
), позволяя вам масштабировать область с определенным отступом в пикселях (обычно для контролов). #859
invalidateSize
карты (Map
), чтобы она принимала объект опций (animate
и pan
, последняя контролирует, будет ли карта панорамироваться при изменении размера). (авторы: @jacobtoye и @mourner). #1766 #1767
setZoomAround
карты (Map
), который позволяет масштабировать карту, сохраняя определенную точку неподвижной (используется для масштабирования при прокрутке и двойном щелчке). #1157
remove
карты (Map
), который позволяет правильно уничтожить карту и очистить все события, а также добавлен соответствующий событие unload
(авторы: @jfirebaugh и @mourner). #1434 #1101 #1621
tap
карты (Map
), который теперь содержит все мобильные хаки для включения быстрых тапов и долгих удержаний, а также опция tapTolerance
, которая указывает количество пикселей, на которое можно сдвинуть палец, чтобы клик все еще срабатывал. * Добавлен параметр zoomAnimationThreshold
карты (Map
), который позволяет установить максимальное различие масштаба, при котором может происходить анимация масштабирования. #1377
openPopup
карты (Map
), чтобы она также принимала сигнатуру (content, latlng)
как сокращение.closePopup
карты (Map
), чтобы она по желанию принимала объект popup для закрытия. #1641
stopLocate
карты (Map
), чтобы она прерывала сброс представления карты при вызове locate
с опцией setView
. #747
Map
, чтобы выбрасывать исключение, если указанный идентификатор контейнера не найден (автор @tmcw). #1574
locationfound
для Map
, чтобы передавать все данные местоположения (направление, скорость и т. д. ). #984 #584 #987 #1028
resize
для Map
. #1564
zoomlevelschange
для Map
, которое срабатывает при изменении текущего диапазона масштабирования (минимум/максимум) (автор @moonlite). #1376##### Улучшения API управления * Добавлены генерические классы панели инструментов для повторного использования разработчиками плагинов (используются в контроле масштабирования).baselayerchange
, overlayadd
и overlayremove
для Map
и Control.Layers
(внесены @calvinmetcalf и @Xelio). #1286 #1634
getContainer
для Control
. #1409
cleanAllEventListeners
(сокращение off
без аргументов) для всех объектов, поддерживающих события (внесены @iirvine). #1599
addOneTimeEventListener
(сокращение once
) для всех объектов, поддерживающих события (внесены @iirvine). #473 #1596
{lat: 50, lng: 30}
или {lat: 50, lon: 30}
). #1412
getNorth
, getEast
, getSouth
, getWest
для LatLngBounds
(внесены @yohanboniface). #1318
AMD
(Leaflet теперь регистрирует себя как модуль leaflet
для AMD
) (с исправлениями от @sheppard). #1364 #1778
L.Util.trim
(внесены @kristerkari). #1607#### Улучшения рабочего процесса разработкиmaxBounds
у Map
. #1491 #1475 #1194 #900 #1333
contextmenu
на попапах, которые просачивались на карту (с участием @snkashis). #1730 #1732
404
при просмотре карты за пределами границ мира.TileLayer
в IE 7-8 (авторы @javisantana & @danzel). #1084 #1396 #1371
click
на WinPhone8/IE10 Touch (автор @danzel). #1694
click
при одном нажатии в Android (авторы @jerel & @mourner). #1227 #1263 #1785 #1694
Исправлено поведение, при котором слушатель событий продолжал вызываться даже если он был удален на том же событии в другом слушателе (автор @spamdaemon). #1661 #1654
Исправлено поведение, при котором фабрики L.point
и L.latLng
не передавали значения null
и undefined
.
Исправлено цепочное выполнение функции removeListener
в DomEvent
(автор @pagameba).
Исправлено поведение, при котором removeEventListener
выбрасывал ошибку, если на объекте не было зарегистрировано событий (автор @tjoekbezoer). #1632 #1631
Исправлено поведение, при котором методы equals
и contains
класса Point
не принимали точки в виде массива.
Исправлено поведение, при котором метод extend
класса LatLngBounds
вызывал ошибку при расширении неопределенного объекта (автор @korzhyk). #1688
Исправлено поведение, при котором метод removeAttribution
класса Control.Attribution
вызывал ошибку при удалении несуществующего атрибута, что приводило к повреждению текста атрибуции. #1410com/Leaflet/Leaflet/issues/1410)
Исправлено поведение, при котором вызов метода setView
на невидимой карте вызывал ошибку (автор @jfire). #1707
Исправлена совместимость с Browserify (автор @jfirebaugh). #1572##### Исправления в API слоев
Исправлена ошибка, при которой путь к умолчанию иконке маркера не всегда корректно определялся в некоторых случаях в IE6-7 (автор @calvinmetcalf). #1294
Исправлена ошибка, при которой параметры TileLayer.WMS
не экранировались в URL (автор @yohanboniface). #1317
Исправлена ошибка, при которой слои, принадлежащие к нескольким группам объектов, не корректно распространяли события (автор @danzel). #1359
Исправлена ошибка, при которой опция tileSize
для TileLayer.WMS
игнорировалась (автор @brianhatchl). #1080
Исправлена ошибка, при которой конструктор Polyline
мог перезаписывать исходный массив (авторы @snkashis и @danzel). #1439 #1092 #1246 #1426
Исправлена ошибка, при которой отключение/включение перетаскивания маркеров не всегда работало корректно (авторы @snkashis и @escaped). #1471 #1551
Исправлен TileLayer
, чтобы предотвратить некорректное поддоменное имя в случае отрицательных координат плит (автор @malexeev). #1532* Исправлены полигоны для нормализации отверстий (удаление последней точки, если она равна первой) (автор @jfirebaugh). # #1459
Исправлена опция html
для DivIcon
, чтобы она принимала значение 0
(автор @stuporglue). #1633
Исправлена ошибка с Canvas-базированными путями, выбрасывающими ошибку при событии mousemove
в определённых условиях. #1615
Исправлена ошибка, при которой копии мира не загружались, если вы задаёте bounds
для TileLayer
(автор @ansis). #1618
Исправлена ошибка, при которой событие load
для TileLayer
не всегда корректно срабатывало. #1565
TileLayer.WMS
с некоторыми старыми серверами, которые принимают параметры запроса только в верхнем регистре. #1751
L.Icon.Default.imagePath
в некоторых случаях. #1657
onRemove
слоя вызывался даже если слой никогда не добавлялся (от @jfirebaugh). #1729
setRadius
на слое CircleMarker
, использующем Canvas, приводил к бесконечному циклу (от @snkashis). #1712 #1713com/Leaflet/Leaflet/issues/1713) #1728
marker-icon@2x.png
в marker-icon-2x.png
для устранения проблемы совместимости с Google AppEngine. #1552 #1553
popupclose
и popupopen
не вызывались для мультиполигонов и мультиполилиний (от @tmcw). #1681
Map
fitBounds
не работала корректно с большими границами (спасибо @MaZderMind). #1069
Исправлена ошибка, при которой Map
hasLayer
не обрабатывала null
объекты (от @rvlasveld). #1282 #1302
Исправлена ошибка, при которой событие Map
moveend
срабатывало до события dragend
при перетаскивании (от @oslek). #1374
Исправлена ошибка, при которой панорамирование с инерцией вызывало избыточное событие Map
movestart
при начале инерции (от @oslek). #1374
Исправлена ошибка, при которой событие Map
moveend
срабатывало повторно при изменении размера окна, даже если размер карты не изменился (от @oslek). #1374
Исправлена ошибка, при которой событие Map
moveend
иногда не срабатывало после перетаскивания (часто при использовании трекпада).
Исправлена ошибка, которая вызывала ошибку при попытке получить состояние карты в обработчике события Map
load
. #962
Возвращено событие Map
autopanstart
(оно было удалено в предыдущих версиях). #1375
Исправлена ошибка при удалении ранее установленных Map
maxBounds
(от @jec006). #1749 #1750## 0.5.1 (2013-02-06)
Исправлена регрессия, при которой GeoJSON
не принимала массивы FeatureCollection
(от @snkashis). #1299 #1298
Исправлена регрессия, при которой CircleMarker
setRadius
не работала, если была вызвана до добавления слоя на карту (от @danzel). #1342 #1297
Убедитесь, что прочитали эти изменения, чтобы избежать проблем при обновлении с более старых версий:
LatLng
(-180, -90
до 180, 90
), обертывание перемещено в явный метод (LatLng.wrap
).worldCopyJump
для Map
(перемещение обратно к оригинальному копию мира при панорамировании за его пределы). Включите его явно, если вам это нужно.Улучшена панорамирование с инерцией для более естественного и плавного перемещения.
Улучшены указатели мыши для перетаскивания в Chrome, Safari и Firefox (теперь используются указатели в виде хватательной руки).
Улучшена кривая анимации масштабирования для лучшего ощущения в целом.
Улучшена реактивность масштабирования с помощью колеса мыши.
Улучшена производительность анимации панорамирования в IE6-8.##### Управление
Улучшен дизайн управления масштабом для более приятного, нейтрального и соответствующего другим управлениям вида, что делает его легче кастомизировать и подстроить под различные веб-дизайны. Изображения +/- заменены на текст.
Улучшено управление масштабом для масштабирования на 3 уровня, если вы удерживаете Shift при нажатии на кнопку.
Улучшено управление масштабом для отключения визуально кнопок при достижении минимального/максимального масштаба. #917
Улучшены стили управления масштабом.
Улучшены стили запасного управления для IE6-8.##### Другое
Добавлена поддержка retina для маркеров (через опции iconRetinaUrl
и shadowRetinaUrl
в классе Icon
) (внесено @danzel). #1048 #1174
Добавлено retina-размерное изображение маркера по умолчанию вместе с стандартным (включая SVG-источник и с некоторыми улучшениями дизайна) (внесено @danzel). #1048 #1174
Улучшена производительность обновления/удаления векторов на Canvas-бэкенде (внесено @danzel). #961
Общий размер изображений сокращен с 10КБ до 3.2КБ с помощью Yahoo Smush. it. Благодарим Петера Ронса за предложение.
L.Transition
на более простое и лучшее L.PosAnimation
.Class
addInitHook
для добавления конструкторных хуков к любым классам (хорошая точка расширения для авторов плагинов). #1123
Map
whenReady
(внесено @jfirebaugh). #1063
delta
к методам zoomIn
и zoomOut
класса Map
(по умолчанию 1).isValid
к классам LatLngBounds
и Bounds
(внесено @domoritz). #972
equals
к классу Point
.getSize
к классу Bounds
.* Улучшена обработка событий клика для маркеров и векторов, теперь событие распространяется на карту, если нет слушателей (внесено @danzel). #834 #1033
unbindPopup
и closePopup
к классу Path
.add
и remove
к классу Path
.riseOnHover
и riseOffset
к классу Marker
(для перемещения маркеров на передний план при наведении мыши, отключены по умолчанию) (внесено jacobtoye). #914 #920
move
и remove
к классу Marker
.contextmenu
к классу Marker
. #223
zoomAnimation
к классу Popup
(полезно отключать при отображении контента Flash внутри попапов #999).layeradd
и layerremove
к классу FeatureGroup
(внесено @jacobtoye). #1122
baselayerchange
к классу Control. Layers
(внесено @jfirebaugh). #1064
Control. Layers
(внесено @aparshin). #1055 #1099
CRS. Simple
в список встроенных CRS и улучшен для более удобного использования (теперь у него другие стандартные масштабы и преобразования), см. пример в debug/map/simple-proj.html
.* Удалены свойства Browser.ua
, Browser.gecko
, Browser.opera
(больше не нужны).L.extend
, L.bind
, L.stamp
, L.setOptions
для соответствующих методов L.Util
.L.Util.isArray
(автор @oslek). #1279
mouseover
и mouseout
для векторных слоев на основе canvas (автор @snkashis). #1403
Map.eachLayer
для перебора всех слоев, добавленных на карту (автор @jfirebaugh). #1457
bounds
для TileLayer
для ограничения загрузки плиток определенной областью (автор @adimitrov). #991
Исправлена ошибка с анимацией панорамирования, когда она прыгала к конечному положению при попытке перетащить карту.
Исправлена ошибка, при которой одинарный щелчок с нажатой клавишей Shift увеличивал масштаб карты до максимального уровня.
Исправлена ошибка, при которой увеличение масштаба происходило во время выполнения анимации панорамирования.
Исправлена ошибка, при которой перетаскивание карты происходило во время выполнения анимации изменения масштаба.
Исправлена ошибка, при которой небольшое скроллинг с помощью тачпада или одноосного колеса мыши не всегда приводило к изменению масштаба. #1039
Исправлена ошибка, при которой panBy
не округлял значения смещения (поэтому было возможно сделать карту размытой). #1085
Исправлена ошибка, при которой невозможно было прокручивать панель управления слоями с помощью колеса мыши.
Исправлена регрессия, при которой плитки WMS не обрабатывались на линиях даты. #970
Исправлена ошибка, при которой взаимодействие с мышью влияло на ширину границ контейнера карты (автор @mohlendo). #1204 #1205com/Leaflet/Leaflet/pull/1205)
Исправлена ошибка, когда метод bringToBack
класса TileLayer
не работал корректно в некоторых случаях (внесено @danzel). #963 #959
Исправлена ошибка, когда удаление слоя плиток во время перетаскивания приводило к ошибке (внесено @danzel). #965 #968
Исправлена ошибка, когда средний маркер не удалялся после удаления двух конечных узлов из полилинии (внесено @Svad). #1022 #1023
Исправлена ошибка, когда событие load
класса Map
происходило слишком поздно (после moveend
, и т. д.) (внесено @jfirebaugh). #1027
Исправлен метод getBounds
класса Circle
, чтобы он возвращал правильные границы и работал без добавления круга на карту. #1068
Исправлена ошибка, когда удаление Popup
на событии viewreset
приводило к ошибке (внесено fnicollet и @danzel). #1098 #1094
Исправлена ошибка, когда метод drawTile
класса TileLayer.Canvas
не получал уровень масштабирования плитки в аргументах.
Исправлена ошибка, когда метод resetStyle
класса GeoJSON
не полностью сбрасывал слой на его исходный стиль. #1112* Исправлена ошибка, которая приводила к бесконечной рекурсии при использовании фабрики latLngBounds
с координатами в виде строковых значений. #933
Исправлено цепное выполнение методов setIcon
, setZIndexOffset
, update
класса Marker
. #1176
Исправлена ошибка с взаимодействием мыши, когда контейнер карты содержал дочерние элементы с позиционированием, отличным от абсолютного. #278
Исправлена ошибка с конфликтами прозрачности заливки/линии при использовании Canvas для рендеринга (внесено @danzel). #1186 #1889
Исправлена ошибка, когда метод bindPopup
класса FeatureGroup
не учитывал опции. #1273
Исправлена ошибка, при которой слои на основе Canvas не правильно очищали событие клика при удалении (автор @snkashis). #1006 #1273
Исправлена ошибка, при которой CircleMarker
setStyle
не учитывал radius
(автор @fdlk). #1012 #1013
Исправлена ошибка, при которой null геометрии GeoJSON вызывали ошибку вместо пропуска (автор @brianherbert). #1240
Исправлена ошибка, при которой слои на основе Canvas передавали неверное свойство события layer
при клике (автор @snkashis). #1215com/Leaflet/Leaflet/issues/1215) #1243
Исправлена ошибка, при которой TileLayer.WMS
не работала корректно, если базовый URL содержал параметры запроса (автор @snkashis). #973 #1231
Исправлена ошибка, при которой удаление полилинии в режиме редактирования не очищало редактирующиеся обработчики (автор @mehmeta). #1233
Исправлена ошибка, при которой удаление векторного слоя с привязанным попапом не очищало событие клика корректно (автор @yohanboniface). #1229
Исправлена ошибка, при которой GeoJSON
объекты с GeometryCollection
не передавали свойства в функцию pointToLayer
(автор @calvinmetcalf). #1097
Исправлено цепочное выполнение метода eachLayer
класса FeatureGroup
. #1452
TileLayer
bringToFront/Back()
выбрасывали ошибку в IE6-8. #1168
-
в Firefox 15+ (спасибо @mattesCZ). #869
GeoJSON
setStyle
, теперь она также принимает функцию (как соответствующий параметр).GeoJSON
resetStyle(layer)
, полезная для сброса состояния наведения.feature
для слоев, созданных с помощью GeoJSON
(содержащее данные GeoJSON-фичи).bringToFront
и bringToBack
для FeatureGroup
(чтобы они работали для мультиполигонов).animate
к методу Map
invalidateSize
(автор: @ajbeaven). #857
bringToFront
и bringToBack
класса Path
не возвращали this
.Исправлена ошибка, при которой метод removeLayer
класса FeatureGroup
удалял попапы удаленных слоев, даже если они не были добавлены группой (влияло на плагин Leaflet.markercluster) (автор @danzel). #861## 0.4.1 (2012-07-31)
Исправлена ошибка, при которой тени маркеров отображались как полностью черные в IE6-8. #850
Исправлена ошибка, при которой вычисление масштаба контролем масштаба было некорректным. #852
Исправлено повреждение класса-фабрики L.tileLayer.wms
(автор @mattcurrie). #856
Улучшено обнаружение Retina для опции detectRetina
класса TileLayer
(автор @sxua). #854
Версия Leaflet 0.4 содержит несколько улучшений API, которые позволяют использовать более простую, jQuery-подобную синтаксис (пример), при этом оставаясь совместимым с предыдущим подходом (так что вы можете использовать оба стиля):
LatLng
, LatLngBounds
, Point
и Bounds
в виде массива (например, map.panTo([lat, lng])
будет таким же, как map.panTo(new L.LatLng(lat, lng))
)addTo
ко всем классам слоев, например, marker.addTo(map)
эквивалентен map.addLayer(marker)
new
, названные так же, как классы, но начинающиеся с маленькой буквы, например, L.map('map')
эквивалентно new L.Map('map')
+
и -
(автор @ericmmartinez). #663 #646
box-shadow
на border
для элементов управления на мобильных устройствах для улучшения производительности.detectRetina
для класса TileLayer
(по умолчанию false
), которая позволяет изображениям отображаться в более высоком разрешении на дисплеях iOS с Retina (автор @Mithgol). #586#### Изменения в API GeoJSONAPI GeoJSON улучшен для упрощения и повышения гибкости (пример). Изменения не совместимы с предыдущими версиями, поэтому убедитесь, что обновили старый код. Добавлена опция style
для стилизации векторных слоев, которая может быть передана либо как объект, либо как функция (для стилизации векторных слоев в соответствии с свойствами GeoJSON).
Добавлена опция filter
для исключения объектов, которые не соответствуют определённым критериям (например, на основе свойств).
Добавлена опция onEachFeature
для выполнения определённого кода на каждом слое объектов на основе его свойств (привязка всплывающих окон и т.д.).
Изменена сигнатура функции pointToLayer
, чтобы предоставлять geojson
в дополнение к latlng
при создании точечных слоев для большей гибкости.
API иконок был улучшен для большей гибкости, но одно из изменений несовместимо с предыдущими версиями: теперь вам нужно передавать различные свойства иконок (например, iconUrl
) внутри объекта опций (пример).* Свойства Icon
были преобразованы в опции, сигнатура конструктора изменена на Icon(options)
.
Опции по умолчанию для маркерной иконки были перемещены в класс L.Icon.Default
(который наследуется от L.Icon
).
Добавлена опция className
для Icon
для назначения пользовательского класса иконке.
Добавлена опция shadowAnchor
для Icon
для установки точки прикрепления тени.
Все опции Icon
, кроме iconUrl
, стали необязательными (если они не указаны, они будут выбраны автоматически или реализованы с помощью CSS). Центральная точка по умолчанию находится в центре (если указан размер), и в противном случае может быть установлена через CSS с помощью отрицательных отступов.#### Изменения в API управления
Добавлены методы setPosition
и getPosition
ко всем элементам управления, а также возможность передачи определённой позиции как опции при создании элемента управления.
Упрощена реализация управления (теперь больше "магии" происходит под капотом).
Заменены уродливые константы позиции управления (например, L.Control.Position.TOP_LEFT
) на более удобные строки ('topleft'
, 'bottomright'
, и т.д.).
TileLayer
для интерполяции значений шаблона URL из опций (удалён третий аргумент urlParams
).scheme: 'tms'
на tms: true
.Map
locateAndSetView
(используйте locate
с опцией setView: true
).minWidth
и maxWidth
всплывающих окон для применения к элементу содержимого, а не к целому всплывающему окну.prefix
в options
конструктора Control. Attribution
.L. VERSION
на L. version
.on
и off
, чтобы они также принимали (eventHash[, context])
, а также несколько событий, разделённых пробелами (спасибо @Guiswa). #770
off
, чтобы он удалял все слушатели события, если не было указано конкретное функциональное выражение (спасибо @Guiswa). #770 #691
setZIndex
для TileLayer
для управления порядком слоёв (спасибо @mattcurrie). #837
autoZIndex
для Control. Layers
(включена по умолчанию), чтобы сохранять порядок слоёв при переключении.redraw
для TileLayer
для перезапроса плиток (спасибо @greeninfo). #719
setUrl
для TileLayer
для динамического изменения шаблона URL плиток.bringToFront
и bringToBack
для TileLayer
, ImageOverlay
и векторных слоёв. #185com/Leaflet/Leaflet/issues/185) #505
loading
для TileLayer
, которое срабатывает, когда плитки начинают загружаться (спасибо @lapinos03). #177
setParams
для TileLayer.WMS
для установки параметров WMS в реальном времени (спасибо @greeninfo). #719
TileLayer.WMS
({s}
в URL) (спасибо @greeninfo). #735
originalEvent
для MouseEvent
(спасибо @k4). #521
containerPoint
для MouseEvent
. #413
contextmenu
для векторных слоёв (спасибо @ErrorProne). #500
eachLayer
для LayerGroup
для перебора его элементов.mousemove
и contextmenu
для FeatureGroup
(спасибо @jacobtoye). #816
DomEvent
.on
и off
для методов addListener
и removeListener
класса DomEvent
.L_NO_TOUCH
, которая отключает обнаружение касаний (установите её до подключения Leaflet), полезна для приложений для настольных компьютеров, созданных с использованием QT. #572* Добавлена опция dashArray
для векторных слоёв для создания пунктирных линий (внесено @jacobtoye). #821 #165
getBounds
для класса Circle
. #440
getLatLng
и getRadius
для класса Circle
(внесено @Guiswa). #655
openPopup
для всех векторных слоёв. #246
redraw
для векторных слоёв (полезен, если вы напрямую изменяете их точки LatLng
).opacity
и метод setOpacity
для класса Marker
.update
для класса Marker
. #392
openPopup
для класса Marker
, чтобы он не вызывал ошибку, если попап не существует. #507
opacity
и метод setOpacity
для класса ImageOverlay
. #438
maxHeight
для класса Popup
, которая прокручивает содержимое попапа, если оно не помещается в заданную максимальную высоту.openOn(map)
для класса Popup
(аналогичен методу openPopup
для класса Map
).getContainer
для класса Map
(внесено @Guiswa). #654
containerPointToLatLng
и latLngToContainerPoint
для класса Map
. #474
addHandler
для класса Map
.* Добавлены события mouseup
и autopanstart
для класса Map
.pad
для класса LatLngBounds
, который возвращает расширенные границы на заданный процент (внесено @jacobtoye). #492
Исправлена ошибка, при которой карта увеличивалась некорректно внутри контейнера с position: fixed
(автор @chx007). #602
Исправлена ошибка, при которой масштабированные плитки не удалялись после увеличения в некоторых случаях (автор @cfis). #683
Исправлена ошибка, при которой карта не могла быть перетащена над многоугольником с обработчиком событий mousedown
. #834#### Исправления ошибок API
Исправлена регрессия, при которой метод removeLayer
не удалял соответствующую атрибуцию. #488
Исправлена ошибка, при которой кнопка закрытия попапа не работала для вручную добавленных попапов. #423
Исправлена ошибка, при которой событие клика на маркере переставало работать, если маркер был перемещен и затем отключено перемещение. #434
Исправлена ошибка, при которой метод setOpacity
для TileLayer
не работал, когда значение прозрачности устанавливалось обратно в 1.
Исправлена ошибка, при которой метод setStyle({stroke: false})
для векторного слоя не удалял линию и заливку. #441
Исправлена ошибка, при которой метод bindPopup
для Marker
не учитывал опцию offset
.
Исправлена ошибка, при которой событие load
для TileLayer
не срабатывало, если некоторые плитки не загружались (внесено @lapinos03 и @cfis). #682
Исправлена ошибка, при которой удаление слоя GeoJSON
вызывало ошибку. #685
Исправлена ошибка, при которой вызов метода clearLayer
для GeoJSON
вызывал ошибку (внесено @runderwood). #617
Исправлена ошибка, при которой метод setPosition
для Control
не всегда работал корректно (внесено @ericmmartinez). #657com/Leaflet/Leaflet/pull/657)
Исправлена ошибка, при которой метод Util.bind
иногда терял аргументы (внесено @johtso). #588
Исправлена ошибка, при которой событие drag
иногда срабатывало после события dragend
. #555
Исправлена ошибка, при которой событие load
для TileLayer
срабатывало только один раз (внесено @lapinos03 и shintonik). #742 #177
Исправлена ошибка, при которой события попапа для FeatureGroup
не очищались после удаления слоя из группы (внесено @danzel). #775
Исправлена ошибка, при которой метод DomUtil.removeClass
не удалял пробелы в конце строки (внесено @jieter). #784
Исправлена ошибка, при которой попап маркера не учитывал смещение попапа.
Исправлена ошибка, приводившая к появлению ошибки при удалении полилинии внутри слушателя moveend
.
Исправлена ошибка, при которой метод LayerGroup.addLayer
не проверял, добавлен ли слой уже (от @danzel). 798
Control.Layers
не работал на IE7. #652com/Leaflet/Leaflet/issues/652)mousemove
при клике в Chrome (автор @stsydow). #757
setStyle
могло сломать карту. #641
setOpacity
в IE, при котором он не работал корректно, если использовался более одного раза на одном и том же элементе (автор @ajbeaven). #827
Исправлена ошибка, которая часто приводила к мерцанию векторных слоев при окончании перетаскивания на iOS (автор @krawaller). #18
Исправлена ошибка с ложными событиями клика на карте при сжатии-растяжении и клике на контроле слоев. #485
Исправлена ошибка, при которой одновременное касание карты двумя или более пальцами вызывало ошибку.
Исправлена ошибка, при которой контроль масштабирования не всегда был видимым на Android 3. #335
Исправлена ошибка, при которой открытие контрола слоев приводило к передаче клика на карту (автор @jacobtoye). #638
Исправлена ошибка, при которой ImageOverlay
не растягивался правильно при масштабировании на Android 2. #651
Исправлена ошибка, при которой clearLayers
для векторных слоев на базе Canvas (например, на Android 2) занимал неоправданно много времени. #785
Исправлена ошибка, при которой setLatLngs
и подобные методы для векторных слоев на базе Canvas не обновляли слои сразу. #732## 0.3.1 (2012-02-14)
Исправлена регрессия, при которой стандартные иконки маркеров не работали, если URL включения Leaflet содержал строку запроса.
Исправлена регрессия, при которой плитки иногда мерцали черным при панорамировании на iOS.
Control.Layers
) для удобного переключения слоев.При прокрутке на другую копию мира (что возможно бесконечно горизонтально), картографические слои теперь прыгают на соответствующие позиции. #273
Ограничен максимальное изменение масштаба за одно движение колеса мыши (чтобы вы не увеличивали масштаб на весь диапазон в одном прокрутке). #149
Значительно улучшена производительность упрощения линий (заметна при рендеринге полилиний/полигонов с десятками тысяч точек).
Улучшена производительность кругов за счет того, что они не рисуются, если они находятся вне области обрезки.
Улучшена стабильность анимации масштабирования (меньше мерцания плиток).#### Улучшения API
Добавлена возможность добавления слоя плиток под всеми другими (map.addLayer(layer, true)
), полезна для переключения базовых слоев плиток.
Добавлено событие zoomstart
для класса Map
(спасибо @Fabiz). #377
Улучшена методика locate
для класса Map
, добавлена возможность непрерывного отслеживания местоположения и больше опций. #212
Добавлен второй аргумент inside
для метода getBoundsZoom
класса Map
, который позволяет получить соответствующий уровень масштабирования, чтобы область вписывалась внутрь заданных границ.
Добавлен метод hasLayer
для класса Map
.
Добавлено опциональное третье аргумент urlParams
для конструктора TileLayer
для удобства: объект с свойствами, которые будут оцениваться в шаблоне URL.
Добавлена опция continuousWorld
для класса TileLayer
для отключения проверки/обертывания координат плиток.
Добавлено событие tileunload
для класса TileLayer
, срабатывает при удалении плитки после панорамирования (спасибо @CodeJosch). #256
Добавлена опция zoomOffset
для класса TileLayer
, полезна для плиток, размер которых не 256 пикселей (спасибо @msaspence).
Добавлена опция zoomReverse
для класса TileLayer
, которая позволяет перевернуть нумерацию масштабирования (спасибо @Majiir). #406
Добавлен метод redraw
для класса TileLayer
.Canvas` (спасибо @mortenbekditlevsen). #459
Добавлен метод closestLayerPoint
для класса Polyline
, полезен для функций взаимодействия (спасибо @anru). #186
Добавлен метод setLatLngs
для классов MultiPolyline
и MultiPolygon
(спасибо @anru). #194
Добавлен метод getBounds
для классов Polyline
и Polygon
(спасибо @JasonSanford). #253
Добавлен метод getBounds
для класса FeatureGroup
(спасибо @JasonSanford). #557
Добавлен метод setStyle
для класса FeatureGroup
(также наследуется классами MultiPolyline
и MultiPolygon
). #353
Добавлен метод invoke
для FeatureGroup
, который позволяет вызвать определенный метод на всех слоях группы с указанными аргументами.
Добавлено событие load
для ImageOverlay
. #213
Улучшен конструктор LatLng
для большей терпимости (и вывод ошибки с описанием, если широта или долгота не могут быть интерпретированы как число). #136
Добавлен метод distanceTo
для LatLng
(расстояние по большому кругу) (внесено @mortenbekditlevsen). #462
Добавлен метод toBBoxString
для LatLngBounds
для удобства (внесено @JasonSanford). #263
Добавлен метод intersects(otherBounds)
для LatLngBounds
(спасибо @pagameba). #350
Метод extend
для LatLngBounds
теперь принимает другие LatLngBounds
в дополнение к LatLng
(внесено @JasonSanford). #553
Добавлен метод intersects(otherBounds)
для Bounds
. #461
Добавлен метод L.Util.template
для простой оценки строковых шаблонов.
Добавлен метод DomUtil.removeClass
(внесено @anru).
Улучшена браузерная специфическая кодировка для большей зависимости от обнаружения функций, а не от строки агента пользователя.
Улучшена механика доступа к суперклассу для работы с цепочками наследования из трех или более классов; теперь следует использовать Klass.superclass
вместо this.superclass
(внесено @anru). #179
Добавлены события boxzoomstart
и boxzoomend
для Map
(внесено @zedd45). #554
Добавлено событие contentupdate
для Popup
(внесено @mehmeta). #548
shiftDragZoom
переименована в boxZoom
.mouseEventToLatLng
удалён (возвращён в 0.4).Circle
рисовался с неправильным радиусом (не учитывалось преувеличение проекции). #331
getBounds
для Map
работала некорректно на пересечении даты. #295
pointToLayer
для GeoJSON
не работала в GeometryCollection
. #391
Circle
рисовался с неправильным радиусом (не учитывалось преувеличение проекции). #331
setIcon
для Marker
работала некорректно (спасибо @marphi). #218 #311
setLatLng
для Marker
не работала, если она устанавливалась до добавления маркера на карту. #222
setLatLng
для Marker
(спасибо @tjarratt). #272
closePopup
для всплывающего окна была сломана (спасибо @jgerigmeyer).contains
класса Bounds
(внесено @anru). #180
Polygon
с помощью new L.Polygon()
.movestart
срабатывало после анимации масштабирования.setPrefix
. #195
load
класса TileLayer
не срабатывало в некоторых краевых случаях (внесено @dravnic).movestart
не срабатывало при анимации панорамирования.EPSG:3395
(внесено @Savvkin). #358
setView
или panTo
к текущему центру. #231
requestAnimationFrame
), спасибо Chris Martens.Исправлена ошибка аварийного завершения работы на Android 3+ при панорамировании или масштабировании (внесено @florian). #137
Исправлена ошибка на Android 2/3, при которой карта иногда исчезала после масштабирования. #69
Исправлена ошибка на Android 3, при которой плитки смещались на большой карте.
Исправлена ошибка, при которой карта панорамировалась при касании внутри всплывающего окна. #452
Исправлена ошибка, при которой задерживались клики на контроле масштабирования.## 0.2.1 (2011-06-18)
Исправлена регрессия, вызывающая ошибку в TileLayer.Canvas
.
TileLayer.WMS
слой).EPSG:3857
, EPSG:4326
и EPSG:3395
из коробки (через опцию crs
в Map
). Спасибо @Miroff & @Komzpa за отличные советы и объяснения по этому поводу.requestAnimationFrame
. #130
locateAndSetView
. #61
Circle
на зависимость от масштаба (радиус в метрах); круг постоянного размера теперь называется CircleMarker
.mouseover
и mouseout
для карты, маркеров и путей; добавлено событие mousemove
для карты.setLatLngs
, spliceLatLngs
, addLatLng
, getLatLngs
для полилиний и полигонов.setLatLng
и setRadius
для Circle
и CircleMarker
.LatLngBounds contains
возможность принимать LatLng
в дополнение к LatLngBounds
, то же самое для Bounds contains
и Point
.LatLngBounds
и Bounds
для возможности их инициализации без аргументов (от @snc).scheme: 'tms'
в TileLayer
(от @tmcw).noWrap
в TileLayer
для отключения обёртки x
координаты плитки (от @jasondavies).opacity
и метод setOpacity
для TileLayer
.setLatLng
и setIcon
для Marker
.title
для Marker
.maxZoom
для метода map.locateAndSetView
.locate
и locateAndSetView
карты (от @JasonSanford).Popup
принимать HTML элементы в дополнение к строкам в качестве содержимого.#### Улучшения рабочего процесса разработкиMakefile
для сборки leaflet.js
на неВиндовских машинах (автор @tmcw).debug/leaflet-include.js
, чтобы его можно было использовать вне папки debug
(автор @antonj).L
, чтобы оно было совместимо с CommonJS. #122
Исправлена ошибка, при которой закрытые полилинии не отображаются на карте.
Исправлена ошибка, при которой маркер, добавленный, удаленный и затем добавленный снова, не отображается на карте. #66
Исправлена ошибка, при которой слой плиток, добавленный, удаленный и затем добавленный снова, не отображается на карте.
Исправлена ошибка, при которой некоторые плитки не загружаются при панорамировании через линию дат. #97
Исправлена ошибка, при которой div карты с position: absolute
сбрасывается на relative
. #100
Исправлена ошибка, при которой добавление маркера без тени в его иконке вызывает ошибку.
Исправлена ошибка, при которой содержимое попапа не обновляется при вызове setContent
. #94
Исправлена ошибка, при которой двойное щелчок для масштабирования не работает, если попап открыт при щелчке на карте.
Исправлена ошибка с распространением клика на кнопке закрытия попапа. #99
Исправлена невозможность удаления слоя ImageOverlay.#### Исправления ошибок для браузеров
Исправлена ошибка, при которой пути не отображаются в IE8.
Исправлена ошибка, при которой были периодические замедления перед анимацией масштабирования в WebKit. #123
Исправлена некорректная анимация масштабирования и стили попапов в Opera 11.11.
Исправлена анимация затухания попапов в Firefox и Opera.
Исправлена ошибка, при которой карта не отображается в Firefox при наличии правила img { max-width: 100% }
.#### Исправления ошибок для мобильных браузеров
Исправлена ошибка, которая препятствовала панорамному скроллу на некоторых устройствах с Android 2.1 (и, возможно, более старых). #84
Отключена анимация приближения/отдаления по умолчанию на устройствах с Android из-за ошибок на некоторых устройствах (будет включена обратно, когда будет достаточно стабильной). #32
Исправлена ошибка, при которой карта иногда ломалась при многотачечном масштабировании на iOS. #32
Исправлена ошибка, которая препятствовала панорамному скроллу/кликам на планшетах с Android 3. #121
Исправлена ошибка, которая препятствовала панорамному скроллу/кликам на устройствах с Opera Mobile. #138
Исправлен потенциальный утечка памяти на WebKit при удалении плиток, благодаря @Scalar4eg. #107
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )