From b3a5d2678a19896ca85f9d2dc2fecaa9bff0548b Mon Sep 17 00:00:00 2001 From: relikd Date: Thu, 27 Jun 2024 00:41:07 +0200 Subject: [PATCH] Initial --- .gitignore | 5 + LICENSE | 7 + MANIFEST.in | 4 + Makefile | 27 + README.md | 94 +++ map_location/__init__.py | 0 map_location/apps.py | 7 + map_location/fields.py | 78 +++ .../static/leaflet/images/layers-2x.png | Bin 0 -> 1259 bytes map_location/static/leaflet/images/layers.png | Bin 0 -> 696 bytes .../static/leaflet/images/marker-icon-2x.png | Bin 0 -> 2464 bytes .../static/leaflet/images/marker-icon.png | Bin 0 -> 1466 bytes .../static/leaflet/images/marker-shadow.png | Bin 0 -> 618 bytes map_location/static/leaflet/leaflet.css | 661 ++++++++++++++++++ map_location/static/leaflet/leaflet.js | 6 + map_location/static/leaflet/leaflet.js.map | 1 + .../leaflet/locate/L.Control.Locate.css | 63 ++ .../leaflet/locate/L.Control.Locate.min.js | 4 + .../locate/L.Control.Locate.min.js.map | 1 + map_location/static/map-location.js | 59 ++ .../templates/forms/map-location.html | 8 + screenshot.jpg | Bin 0 -> 130716 bytes setup.py | 33 + 23 files changed, 1058 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 MANIFEST.in create mode 100644 Makefile create mode 100644 README.md create mode 100644 map_location/__init__.py create mode 100644 map_location/apps.py create mode 100644 map_location/fields.py create mode 100644 map_location/static/leaflet/images/layers-2x.png create mode 100644 map_location/static/leaflet/images/layers.png create mode 100644 map_location/static/leaflet/images/marker-icon-2x.png create mode 100644 map_location/static/leaflet/images/marker-icon.png create mode 100644 map_location/static/leaflet/images/marker-shadow.png create mode 100644 map_location/static/leaflet/leaflet.css create mode 100644 map_location/static/leaflet/leaflet.js create mode 100644 map_location/static/leaflet/leaflet.js.map create mode 100755 map_location/static/leaflet/locate/L.Control.Locate.css create mode 100755 map_location/static/leaflet/locate/L.Control.Locate.min.js create mode 100755 map_location/static/leaflet/locate/L.Control.Locate.min.js.map create mode 100644 map_location/static/map-location.js create mode 100644 map_location/templates/forms/map-location.html create mode 100644 screenshot.jpg create mode 100644 setup.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..51c6747 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.DS_Store +__pycache__/ + +dist-env/ +dist/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..56c7317 --- /dev/null +++ b/LICENSE @@ -0,0 +1,7 @@ +Copyright 2024 relikd + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..71a44bf --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,4 @@ +include LICENSE +include README.md +recursive-include map_location/static * +recursive-include map_location/templates * \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6d974c9 --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +.PHONY: help +help: + @echo 'commands:' + @echo ' install, dist' + +.PHONY: install +install: + [ -z "$${VIRTUAL_ENV}" ] \ + && python3 -m pip install -e . --user \ + || python3 -m pip install -e . + +dist-env: + @echo Creating virtual environment... + @python3 -m venv 'dist-env' + @source dist-env/bin/activate && pip install twine + +.PHONY: dist +dist: dist-env + [ -z "$${VIRTUAL_ENV}" ] # you can not do this inside a virtual environment. + rm -rf dist + @echo Building... + python3 setup.py sdist bdist_wheel + @echo + rm -rf ./*.egg-info/ ./build/ + @echo Publishing... + @echo "\033[0;31mEnter your PyPI token:\033[0m" + @source dist-env/bin/activate && export TWINE_USERNAME='__token__' && twine upload dist/* diff --git a/README.md b/README.md new file mode 100644 index 0000000..62c8c89 --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ +# Django: Map-Location + +Adds a fully-static location field (Leaflet) to manage location-based data without the need for a full-fledged GeoDjango installation. ... when all you need is a visual position chooser. + +![screenshot](screenshot.jpg) + + +## Install + +1. Add to your INSTALLED_APPS + +```py +INSTALLED_APPS = [ + ..., + 'map_location', +] +``` + +2. Create Map-Location field + +```py +from map_location.fields import LocationField + +class Place(models.Model): + location = LocationField('Pos', blank=True, null=True, options={ + 'map': { + 'center': [52.52, 13.40], + 'zoom': 12, + }, + # 'markerZoom': 18 + # 'tileLayer': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', + # 'tileOptions': { + # attribution: '© OpenStreetMap', + # }, + }) +``` + + +## Options Paramter + +| Key | Info +|-------------|------------------ +| map | [Map Options](https://leafletjs.com/reference.html#map-option) (default: `{center: [20, -25], zoom: 2}`) +| markerZoom | Initial zoom scale (on load) – if a marker is set. (default: `18`) +| tileLayer | [TileLayer](https://leafletjs.com/reference.html#tilelayer) urlTemplate (default: `"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"`) +| tileOptions | [TileLayer Options](https://leafletjs.com/reference.html#tilelayer-option) (default: `{}`) + + +## Usage + +You can access the location by its parts (`place.location.lat` & `place.location.long`) or by its string value (`str(place.location)` or just `place.location`) which will return a comma-separated string (`lat,long`). This string format is also used for database storage (with a precision of 6 digits, or up to 11 cm). + + +## Example + +If you export your location as json, you can use a fully static map: + +```py +_JSON_ = {'loc': [place.location.lat, place.location.long]} +``` + +```html + + + + +... +
+... + +``` + +See [Leaflet](https://leafletjs.com/) docs for configuration options. + + +## License + +This project is licensed under MIT and includes: + +- v1.9.4 [Leaflet](https://github.com/Leaflet/Leaflet) (BSD 2-Clause License) +- v0.81.1 [Leaflet.Locate](https://github.com/domoritz/leaflet-locatecontrol) (MIT) diff --git a/map_location/__init__.py b/map_location/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/map_location/apps.py b/map_location/apps.py new file mode 100644 index 0000000..ccec4a0 --- /dev/null +++ b/map_location/apps.py @@ -0,0 +1,7 @@ +from django.apps import AppConfig + + +class MapLocationConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'map_location' + verbose_name = 'Map Location' diff --git a/map_location/fields.py b/map_location/fields.py new file mode 100644 index 0000000..df6097a --- /dev/null +++ b/map_location/fields.py @@ -0,0 +1,78 @@ +from typing import NamedTuple +from django.db import models +from django.forms import Widget + + +class Position(NamedTuple): + lat: float + long: float + + def __str__(self): + return f'{self.lat:.6f},{self.long:.6f}' + + +class MapLocationWidget(Widget): + template_name = 'forms/map-location.html' + + class Media: + # @see https://github.com/Leaflet/Leaflet + # @see https://github.com/domoritz/leaflet-locatecontrol + css = {'all': [ + 'leaflet/leaflet.css', + 'leaflet/locate/L.Control.Locate.css']} + js = ['leaflet/leaflet.js', + 'leaflet/locate/L.Control.Locate.min.js', + 'map-location.js'] + + # def get_context(self, name, value, attrs): + # context = super().get_context(name, value, attrs) + # context['id'] = attrs.get('id') + # return context + + +class LocationField(models.Field): + description = 'Choose location on map' + + def __init__(self, *args, options={}, **kwargs): + self.options = options + kwargs['max_length'] = 22 # e.g. "-180.123456,-90.123456" + super().__init__(*args, **kwargs) + + def deconstruct(self): + name, path, args, kwargs = super().deconstruct() + del kwargs['max_length'] + return name, path, args, kwargs + + @property + def non_db_attrs(self): + return super().non_db_attrs + ('options',) # type: ignore + + def formfield(self, **kwargs): + return super().formfield(**{ + 'widget': MapLocationWidget({'options': self.options}), + **kwargs + }) + + def from_db_value(self, value: str, expression, connection) \ + -> 'Position|None': + if not value: + return None + lat, lon = value.split(',') + return Position(float(lat), float(lon)) + + def to_python(self, value) -> 'Position|None': + # throw django.core.exceptions.ValidationError + if isinstance(value, Position): + return value + if not value: + return None + lat, lon = value.split(',') + return Position(float(lat), float(lon)) + + def get_prep_value(self, value) -> str: + if isinstance(value, Position): + return f'{value.lat},{value.long}' + return value + + def db_type(self, connection): + return 'char(22)' diff --git a/map_location/static/leaflet/images/layers-2x.png b/map_location/static/leaflet/images/layers-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..200c333dca9652ac4cba004d609e5af4eee168c1 GIT binary patch literal 1259 zcmeAS@N?(olHy`uVBq!ia0y~yU@!q;4i*LmhWx_I2@DJ@n><|{Ln;`Pe)y|cT4BSrpMM7AKE|dn|XR+k!t#k(tv`Q zFW(sEd!8~#>$+9`f9l__#fF!KZ}B_rzo8eC{r}xGzO@x)!A}C+%Y(`<1s-2^LiGH- zNefThzU1_3Qe}!q>B&sRiQ8E#H9j`Wp1zeElOM1<_xPqG{7q&i{}sRA|NWDBa`yhi zf4~1}Z!&l?D{`K~v~Df`g0pk31-#L={QUP&^~BTfPt276eJZ4F#OLLkrWm<1w?G}$K(_Zg>&?>%7rSDWy?-oPVGDw+3f6ddKzommMznMtmE1m^mE;|X)^@3r5^M>q%(7WwwkhRUVZzX zFui*B_UL;{ERE{7ySzCa{A5c-^`03^s-Cnw)fD`#!?J7Jk{=GMTBd1ws=RS{H7RMA z+lH2N3m&&zxMt!%-Q)BVRe@_$r#$1#RlV@>f}~i)v%B7(D}^uiKE0`=J9&~rL}git za^vjh=XaOCc>eeO>kuD~_nyZSSrR*HoRZ?^jT=9HS|#-C z#I0=$9oqx1b}%c7@V%LR;e=gTTa&Q*O*Q|E%7{caZdK)_+ZJf zZ?&H!g%0t3zQ`e9eahh1=NZBi3YOTd+htU}IKfpW%e~b`fYbPb(yyJ0eX|!$;Jmtc zpGlI(Uq{=OPOf@MjvXyZfAUxkxkT|?T2R1T7_4W$NpIDXdncV=-Og(5O3XcC)5tQ> zz+Ah^=e$i`pnF#TudS&IcRlWTsKE8W$-*hoo%u=2$;`|LE*k2wcM@{W?B28Hj1!|( z?&`3_D`smL6xn7gD*L#dPAd}*D+qeymA_@1k^7b7fk)o?9(Qdv5?I?{*Qdo6H_a$Z zWx4ILe&t;!1-}-TBu7TxOI@rh@5%8t*~M7);;#tq)bxD@K>`uh2LySGU20__qc2Mz zz5e8&(8Q{b_nT$qIxJK3ZwNANm$G;z+!`QW&+ygqZIXsCQ=*b?Q`wxE@t%9{h$R(y z`}7A0eZ8=B>r+-n=MV*-1+Ej;cKH>13)vbyyUbGSW~KP1V^g_>mQb1#clPCv9d}vs ze&jIq>z1(p^?bgvyl$yv;Vr)mizp0?3uUtD~sA1FSi+%x^t@XE}h@-tYzk9 zqoeJq#fQ#h%zQM#GO;LXnVpKdkC%5qo68}Ws3tQNA+-xadlV-caB*y5$@NebP0l+XkKIZj$K literal 0 HcmV?d00001 diff --git a/map_location/static/leaflet/images/layers.png b/map_location/static/leaflet/images/layers.png new file mode 100644 index 0000000000000000000000000000000000000000..1a72e5784b2b456eac5d7670738db80697af3377 GIT binary patch literal 696 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 literal 0 HcmV?d00001 diff --git a/map_location/static/leaflet/images/marker-shadow.png b/map_location/static/leaflet/images/marker-shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..9fd2979532a19a15b824ce763c76e04a8dafadfb GIT binary patch literal 618 zcmeAS@N?(olHy`uVBq!ia0y~yV9*3%4i*Lm2ByptwG0eQhMq2tAr*{oFSYhPb`W5> zz-9dRf4!`+aT{;(+DlW`OuKvh(cD`Fe?o50tvmGJPyYYkI}^-Pj=%i->5t$_?z+Eg z<0t)EHE)aXMy2F{nEjj_T;IYwdK?Rnnaqjf{1)D-;#kNmzt4GE;O+QxK@S+5(^AaU z7N=aDb)V1U?7Vn^%sUpxJr3q=Te918=e*elN$zhlHIzdXC1oeM8Mbg5Nj2o3WOPw+ zpMOwu*&gweJLb*OS~P7Ar@rLmS*ayg8lq+dZ0+?Zm6nX!yo^w|MJ60@P{_ADQggak&v`^0oPSK8g z6Zm$gzJVJ145{rKZ=dn?y=(KrV#&L&JR6VjWuMu>*SMBLWeLMd-$OHax6Mdiqt~NQ zs^Y#(?6|a*=efdFwcBoGHo3%{*nZNbWKCU{!`kM%S>CBD4~8GC3UcaXD%fwav8F%f z=oGOgmCmZ50aHZd{ svg, +.leaflet-pane > canvas, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; + } +.leaflet-container { + overflow: hidden; + } +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; + } +/* Prevents IE11 from highlighting tiles in blue */ +.leaflet-tile::selection { + background: transparent; +} +/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ +.leaflet-safari .leaflet-tile { + image-rendering: -webkit-optimize-contrast; + } +/* hack that prevents hw layers "stretching" when loading new tiles */ +.leaflet-safari .leaflet-tile-container { + width: 1600px; + height: 1600px; + -webkit-transform-origin: 0 0; + } +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; + } +/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ +/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container .leaflet-overlay-pane svg { + max-width: none !important; + max-height: none !important; + } +.leaflet-container .leaflet-marker-pane img, +.leaflet-container .leaflet-shadow-pane img, +.leaflet-container .leaflet-tile-pane img, +.leaflet-container img.leaflet-image-layer, +.leaflet-container .leaflet-tile { + max-width: none !important; + max-height: none !important; + width: auto; + padding: 0; + } + +.leaflet-container img.leaflet-tile { + /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */ + mix-blend-mode: plus-lighter; +} + +.leaflet-container.leaflet-touch-zoom { + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; + } +.leaflet-container.leaflet-touch-drag { + -ms-touch-action: pinch-zoom; + /* Fallback for FF which doesn't support pinch-zoom */ + touch-action: none; + touch-action: pinch-zoom; +} +.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { + -ms-touch-action: none; + touch-action: none; +} +.leaflet-container { + -webkit-tap-highlight-color: transparent; +} +.leaflet-container a { + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); +} +.leaflet-tile { + filter: inherit; + visibility: hidden; + } +.leaflet-tile-loaded { + visibility: inherit; + } +.leaflet-zoom-box { + width: 0; + height: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + z-index: 800; + } +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; + } + +.leaflet-pane { z-index: 400; } + +.leaflet-tile-pane { z-index: 200; } +.leaflet-overlay-pane { z-index: 400; } +.leaflet-shadow-pane { z-index: 500; } +.leaflet-marker-pane { z-index: 600; } +.leaflet-tooltip-pane { z-index: 650; } +.leaflet-popup-pane { z-index: 700; } + +.leaflet-map-pane canvas { z-index: 100; } +.leaflet-map-pane svg { z-index: 200; } + +.leaflet-vml-shape { + width: 1px; + height: 1px; + } +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; + } + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 800; + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; + } +.leaflet-top { + top: 0; + } +.leaflet-right { + right: 0; + } +.leaflet-bottom { + bottom: 0; + } +.leaflet-left { + left: 0; + } +.leaflet-control { + float: left; + clear: both; + } +.leaflet-right .leaflet-control { + float: right; + } +.leaflet-top .leaflet-control { + margin-top: 10px; + } +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; + } +.leaflet-left .leaflet-control { + margin-left: 10px; + } +.leaflet-right .leaflet-control { + margin-right: 10px; + } + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; + } +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; + } +.leaflet-zoom-animated { + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + } +svg.leaflet-zoom-animated { + will-change: transform; +} + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); + } +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile { + -webkit-transition: none; + -moz-transition: none; + transition: none; + } + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; + } + + +/* cursors */ + +.leaflet-interactive { + cursor: pointer; + } +.leaflet-grab { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; + } +.leaflet-crosshair, +.leaflet-crosshair .leaflet-interactive { + cursor: crosshair; + } +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; + } +.leaflet-dragging .leaflet-grab, +.leaflet-dragging .leaflet-grab .leaflet-interactive, +.leaflet-dragging .leaflet-marker-draggable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; + } + +/* marker & overlays interactivity */ +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-image-layer, +.leaflet-pane > svg path, +.leaflet-tile-container { + pointer-events: none; + } + +.leaflet-marker-icon.leaflet-interactive, +.leaflet-image-layer.leaflet-interactive, +.leaflet-pane > svg path.leaflet-interactive, +svg.leaflet-image-layer.leaflet-interactive path { + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline-offset: 1px; + } +.leaflet-container a { + color: #0078A8; + } +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); + } + + +/* general typography */ +.leaflet-container { + font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; + font-size: 12px; + font-size: 0.75rem; + line-height: 1.5; + } + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; + } +.leaflet-bar a { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; + } +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + } +.leaflet-bar a:hover, +.leaflet-bar a:focus { + background-color: #f4f4f4; + } +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; + } +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; + } + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; + } +.leaflet-touch .leaflet-bar a:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; + } +.leaflet-touch .leaflet-bar a:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + } + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; + } + +.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { + font-size: 22px; + } + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; + } +.leaflet-control-layers-toggle { + background-image: url(images/layers.png); + width: 36px; + height: 36px; + } +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(images/layers-2x.png); + background-size: 26px 26px; + } +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; + } +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; + } +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; + } +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; + } +.leaflet-control-layers-scrollbar { + overflow-y: scroll; + overflow-x: hidden; + padding-right: 5px; + } +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; + } +.leaflet-control-layers label { + display: block; + font-size: 13px; + font-size: 1.08333em; + } +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; + } + +/* Default icon URLs */ +.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ + background-image: url(images/marker-icon.png); + } + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.8); + margin: 0; + } +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; + line-height: 1.4; + } +.leaflet-control-attribution a { + text-decoration: none; + } +.leaflet-control-attribution a:hover, +.leaflet-control-attribution a:focus { + text-decoration: underline; + } +.leaflet-attribution-flag { + display: inline !important; + vertical-align: baseline !important; + width: 1em; + height: 0.6669em; + } +.leaflet-left .leaflet-control-scale { + margin-left: 5px; + } +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; + } +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + white-space: nowrap; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(255, 255, 255, 0.8); + text-shadow: 1px 1px #fff; + } +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; + } +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; + } + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; + } +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; + } + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; + margin-bottom: 20px; + } +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; + } +.leaflet-popup-content { + margin: 13px 24px 13px 20px; + line-height: 1.3; + font-size: 13px; + font-size: 1.08333em; + min-height: 1px; + } +.leaflet-popup-content p { + margin: 17px 0; + margin: 1.3em 0; + } +.leaflet-popup-tip-container { + width: 40px; + height: 20px; + position: absolute; + left: 50%; + margin-top: -1px; + margin-left: -20px; + overflow: hidden; + pointer-events: none; + } +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + pointer-events: auto; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + } +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + color: #333; + box-shadow: 0 3px 14px rgba(0,0,0,0.4); + } +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + border: none; + text-align: center; + width: 24px; + height: 24px; + font: 16px/24px Tahoma, Verdana, sans-serif; + color: #757575; + text-decoration: none; + background: transparent; + } +.leaflet-container a.leaflet-popup-close-button:hover, +.leaflet-container a.leaflet-popup-close-button:focus { + color: #585858; + } +.leaflet-popup-scrolled { + overflow: auto; + } + +.leaflet-oldie .leaflet-popup-content-wrapper { + -ms-zoom: 1; + } +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); + } + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; + } + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; + } + + +/* Tooltip */ +/* Base styles for the element that has a tooltip */ +.leaflet-tooltip { + position: absolute; + padding: 6px; + background-color: #fff; + border: 1px solid #fff; + border-radius: 3px; + color: #222; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + box-shadow: 0 1px 3px rgba(0,0,0,0.4); + } +.leaflet-tooltip.leaflet-interactive { + cursor: pointer; + pointer-events: auto; + } +.leaflet-tooltip-top:before, +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + position: absolute; + pointer-events: none; + border: 6px solid transparent; + background: transparent; + content: ""; + } + +/* Directions */ + +.leaflet-tooltip-bottom { + margin-top: 6px; +} +.leaflet-tooltip-top { + margin-top: -6px; +} +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-top:before { + left: 50%; + margin-left: -6px; + } +.leaflet-tooltip-top:before { + bottom: 0; + margin-bottom: -12px; + border-top-color: #fff; + } +.leaflet-tooltip-bottom:before { + top: 0; + margin-top: -12px; + margin-left: -6px; + border-bottom-color: #fff; + } +.leaflet-tooltip-left { + margin-left: -6px; +} +.leaflet-tooltip-right { + margin-left: 6px; +} +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + top: 50%; + margin-top: -6px; + } +.leaflet-tooltip-left:before { + right: 0; + margin-right: -12px; + border-left-color: #fff; + } +.leaflet-tooltip-right:before { + left: 0; + margin-left: -12px; + border-right-color: #fff; + } + +/* Printing */ + +@media print { + /* Prevent printers from removing background-images of controls. */ + .leaflet-control { + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + } + } diff --git a/map_location/static/leaflet/leaflet.js b/map_location/static/leaflet/leaflet.js new file mode 100644 index 0000000..a3bf693 --- /dev/null +++ b/map_location/static/leaflet/leaflet.js @@ -0,0 +1,6 @@ +/* @preserve + * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){"use strict";function l(t){for(var e,i,n=1,o=arguments.length;n=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.xe.y&&n.y=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.late.lng&&n.lng","http://www.w3.org/2000/svg"===(Wt.firstChild&&Wt.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Wt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Ft=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Ft,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Ft,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=F(e),o=0,s=n.length;othis.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!We(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;sthis.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;se.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section,e=(this._preventClick=!0,S(t,"click",O),this.expand(),this);setTimeout(function(){k(t,"click",O),e._preventClick=!1})}})),qe=B.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ge=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280'+(b.inlineSvg?' ':"")+"Leaflet"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ke).addTo(this)}),B.Layers=Ve,B.Zoom=qe,B.Scale=Ge,B.Attribution=Ke,Ue.layers=function(t,e,i){return new Ve(t,e,i)},Ue.zoom=function(t){return new qe(t)},Ue.scale=function(t){return new Ge(t)},Ue.attribution=function(t){return new Ke(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Ye=b.touch?"touchstart mousedown":"mousedown",Xe=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Xe._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Xe._dragging===this&&this.finishDrag():Xe._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Xe._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1e&&(i.push(t[n]),o=n);oe.max.x&&(i|=2),t.ye.max.y&&(i|=8),i}function ri(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||yi.prototype._containsPoint.call(this,t,!0)}});var wi=ci.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;es.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Ii=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Bi,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Bi,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ci||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof fi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Ai.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ai.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.xthis.options.maxZoom||nthis.options.maxZoom||void 0!==this.options.minZoom&&oi.max.x)||!e.wrapLat&&(t.yi.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Di=Ni.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Vi("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Vi("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Vi("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Vi("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},qi=b.vml?Vi:ct,Gi=Wi.extend({_initContainer:function(){this._container=qi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=qi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=qi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Ki(t){return b.svg||b.vml?new Gi(t):null}b.vml&&Gi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Ui(t)||Ki(t)}});var Yi=xi.extend({initialize:function(t,e){xi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Gi.create=qi,Gi.pointsToPath=dt,wi.geometryToLayer=bi,wi.coordsToLatLng=Li,wi.coordsToLatLngs=Ti,wi.latLngToCoords=Mi,wi.latLngsToCoords=zi,wi.getFeature=Ci,wi.asFeature=Zi,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Xe(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)e.getMaxZoom()&&1'); +} +.leaflet-control-locate a .leaflet-control-locate-spinner { + display: inline-block; + width: 16px; + height: 16px; + margin: 7px; + background-image: url('data:image/svg+xml;charset=UTF-8,'); + animation: leaflet-control-locate-spin 2s linear infinite; +} +.leaflet-control-locate.active a .leaflet-control-locate-location-arrow { + background-image: url('data:image/svg+xml;charset=UTF-8,'); +} +.leaflet-control-locate.following a .leaflet-control-locate-location-arrow { + background-image: url('data:image/svg+xml;charset=UTF-8,'); +} + +.leaflet-touch .leaflet-bar .leaflet-locate-text-active { + width: 100%; + max-width: 200px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + padding: 0 10px; +} +.leaflet-touch .leaflet-bar .leaflet-locate-text-active .leaflet-locate-icon { + padding: 0 5px 0 0; +} + +.leaflet-control-locate-location circle { + animation: leaflet-control-locate-throb 4s ease infinite; +} + +@keyframes leaflet-control-locate-throb { + 0% { + stroke-width: 1; + } + 50% { + stroke-width: 3; + transform: scale(0.8, 0.8); + } + 100% { + stroke-width: 1; + } +} +@keyframes leaflet-control-locate-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +/*# sourceMappingURL=L.Control.Locate.css.map */ diff --git a/map_location/static/leaflet/locate/L.Control.Locate.min.js b/map_location/static/leaflet/locate/L.Control.Locate.min.js new file mode 100755 index 0000000..6a48bbe --- /dev/null +++ b/map_location/static/leaflet/locate/L.Control.Locate.min.js @@ -0,0 +1,4 @@ +/*! Version: 0.81.1 +Copyright (c) 2016 Dominik Moritz */ +!function(t,i){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(void 0!==i&&i.L?module.exports=t(L):module.exports=t(require("leaflet"))),void 0!==i&&i.L&&(i.L.Control.Locate=t(L))}(function(l){const s=(i,s,t)=>{(t=t.split(" ")).forEach(function(t){l.DomUtil[i].call(this,s,t)})},i=(t,i)=>s("addClass",t,i),o=(t,i)=>s("removeClass",t,i);var t=l.Marker.extend({initialize(t,i){l.Util.setOptions(this,i),this._latlng=t,this.createIcon()},createIcon(){var t=this.options;let i="";void 0!==t.color&&(i+=`stroke:${t.color};`),void 0!==t.weight&&(i+=`stroke-width:${t.weight};`),void 0!==t.fillColor&&(i+=`fill:${t.fillColor};`),void 0!==t.fillOpacity&&(i+=`fill-opacity:${t.fillOpacity};`),void 0!==t.opacity&&(i+=`opacity:${t.opacity};`);t=this._getIconSVG(t,i);this._locationIcon=l.divIcon({className:t.className,html:t.svg,iconSize:[t.w,t.h]}),this.setIcon(this._locationIcon)},_getIconSVG(t,i){var s=t.radius,t=s+t.weight,o=2*t;return{className:"leaflet-control-locate-location",svg:``+'',w:o,h:o}},setStyle(t){l.Util.setOptions(this,t),this.createIcon()}}),e=t.extend({initialize(t,i,s){l.Util.setOptions(this,s),this._latlng=t,this._heading=i,this.createIcon()},setHeading(t){this._heading=t},_getIconSVG(t,i){var s=t.radius,o=t.width+t.weight,s=2*(s+t.depth+t.weight),t=`M0,0 l${t.width/2},${t.depth} l-${o},0 z`;return{className:"leaflet-control-locate-heading",svg:``+'',w:o,h:s}}}),t=l.Control.extend({options:{position:"topleft",layer:void 0,setView:"untilPanOrZoom",keepCurrentZoomLevel:!1,initialZoomLevel:!1,getLocationBounds(t){return t.bounds},flyTo:!1,clickBehavior:{inView:"stop",outOfView:"setView",inViewNotFollowing:"inView"},returnToPrevBounds:!1,cacheLocation:!0,drawCircle:!0,drawMarker:!0,showCompass:!0,markerClass:t,compassClass:e,circleStyle:{className:"leaflet-control-locate-circle",color:"#136AEC",fillColor:"#136AEC",fillOpacity:.15,weight:0},markerStyle:{className:"leaflet-control-locate-marker",color:"#fff",fillColor:"#2A93EE",fillOpacity:1,weight:3,opacity:1,radius:9},compassStyle:{fillColor:"#2A93EE",fillOpacity:1,weight:0,color:"#fff",opacity:1,radius:9,width:9,depth:6},followCircleStyle:{},followMarkerStyle:{},followCompassStyle:{},icon:"leaflet-control-locate-location-arrow",iconLoading:"leaflet-control-locate-spinner",iconElementTag:"span",textElementTag:"small",circlePadding:[0,0],metric:!0,createButtonCallback(t,i){var t=l.DomUtil.create("a","leaflet-bar-part leaflet-bar-part-single",t),s=(t.title=i.strings.title,t.href="#",t.setAttribute("role","button"),l.DomUtil.create(i.iconElementTag,i.icon,t));return void 0!==i.strings.text&&(l.DomUtil.create(i.textElementTag,"leaflet-locate-text",t).textContent=i.strings.text,t.classList.add("leaflet-locate-text-active"),t.parentNode.style.display="flex",0new l.Control.Locate(t),t},window); +//# sourceMappingURL=L.Control.Locate.min.js.map \ No newline at end of file diff --git a/map_location/static/leaflet/locate/L.Control.Locate.min.js.map b/map_location/static/leaflet/locate/L.Control.Locate.min.js.map new file mode 100755 index 0000000..c99f4ff --- /dev/null +++ b/map_location/static/leaflet/locate/L.Control.Locate.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"L.Control.Locate.min.js","sources":["../src/L.Control.Locate.js"],"names":["factory","window","define","amd","exports","L","module","require","Control","Locate","LDomUtilApplyClassesMethod","method","element","classNames","split","forEach","className","DomUtil","call","this","addClasses","el","names","removeClasses","LocationMarker","Marker","extend","initialize","latlng","options","Util","setOptions","_latlng","createIcon","opt","let","style","undefined","color","weight","fillColor","fillOpacity","opacity","icon","_getIconSVG","_locationIcon","divIcon","html","svg","iconSize","w","h","setIcon","r","radius","s","s2","setStyle","CompassMarker","heading","_heading","setHeading","width","depth","path","LocateControl","position","layer","setView","keepCurrentZoomLevel","initialZoomLevel","getLocationBounds","locationEvent","bounds","flyTo","clickBehavior","inView","outOfView","inViewNotFollowing","returnToPrevBounds","cacheLocation","drawCircle","drawMarker","showCompass","markerClass","compassClass","circleStyle","markerStyle","compassStyle","followCircleStyle","followMarkerStyle","followCompassStyle","iconLoading","iconElementTag","textElementTag","circlePadding","metric","createButtonCallback","container","link","create","title","strings","href","setAttribute","text","textContent","classList","add","parentNode","display","length","onLocationError","err","control","alert","message","onLocationOutsideMapBounds","stop","outsideMapBoundsMsg","showPopup","metersUnit","feetUnit","popup","locateOptions","maxZoom","Infinity","watch","i","onAdd","map","linkAndIcon","_container","_map","_layer","LayerGroup","addTo","_event","_compassHeading","_prevBounds","_link","_icon","DomEvent","on","ev","stopPropagation","preventDefault","_onClick","_resetVariables","_unload","_justClicked","wasFollowing","_isFollowing","_userPanned","_userZoomed","_active","behaviors","behavior","getBounds","contains","flyToBounds","fitBounds","bind","start","_updateContainerStyle","_activate","_drawMarker","_deactivate","_cleanClasses","_removeMarker","stopFollowing","locate","fire","_onLocationFound","_onLocationError","_onDrag","_onZoom","_onZoomEnd","oriAbs","_this","deviceorientation","_onDeviceOrientation","DeviceOrientationEvent","requestPermission","then","permissionState","stopLocate","off","f","_isOutsideMapBounds","latitude","longitude","panTo","_ignoreEvent","padding","requestAnimFrame","_drawCompass","cStyle","_compass","setLatLng","removeFrom","accuracy","mStyle","_circle","setRadius","circle","distance","unit","toFixed","_marker","t","getPopupText","template","bindPopup","_popup","clearLayers","_setCompassHeading","angle","isNaN","parseFloat","isFinite","Math","round","_onCompassNeedsCalibration","e","webkitCompassHeading","absolute","alpha","code","lat","lng","pad","getLatLng","maxBounds","_setClasses","state","removeClass"],"mappings":"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"} \ No newline at end of file diff --git a/map_location/static/map-location.js b/map_location/static/map-location.js new file mode 100644 index 0000000..1ae9125 --- /dev/null +++ b/map_location/static/map-location.js @@ -0,0 +1,59 @@ +function MapLocationInit(mapId, options = {}) { + const valField = document.getElementById(mapId + '_value'); + const theMap = document.getElementById(mapId + '_map'); + const resetButton = document.getElementById(mapId + '_reset'); + + function isZero(latlng) { + return latlng.lat === 0 && latlng.lng === 0; + } + + const osm = L.tileLayer(options.tileLayer || 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', options.tileOptions); + const map = L.map(mapId + '_map', { + layers: [osm], + center: [20, -25], + zoom: 2, + ...(options.map || {}) + }); + L.control.locate({ + returnToPrevBounds: true, + showPopup: false, + }).addTo(map); + + function loadPos() { + if (!valField.value) { + return [0, 0]; + } else { + return valField.value.split(','); + } + } + const marker = L.marker(loadPos(), { draggable: true }).addTo(map); + marker.on('move', function (e) { + const pos = map.wrapLatLng(e.latlng); + const flag = isZero(pos); + valField.value = flag ? null : pos.lat.toFixed(6) + ',' + pos.lng.toFixed(6); + }); + map.on('click', function (e) { + if (isZero(marker.getLatLng())) { + marker.setLatLng(e.latlng); + setMapState(false); + } + }); + resetButton.onclick = function () { + marker.setLatLng([0, 0]); + setMapState(true); + return false; + }; + + function setMapState(initial) { + theMap.style.cursor = initial ? 'crosshair' : null; + marker.setOpacity(initial ? 0 : 1); + } + + if (isZero(marker.getLatLng())) { + setMapState(true); + } else { + map.setView(valField.value.split(','), options.markerZoom || 18); + } + // re-center map + setTimeout(() => map.invalidateSize(), 300); +} diff --git a/map_location/templates/forms/map-location.html b/map_location/templates/forms/map-location.html new file mode 100644 index 0000000..a64fdde --- /dev/null +++ b/map_location/templates/forms/map-location.html @@ -0,0 +1,8 @@ +
+ +
+ Remove + +
\ No newline at end of file diff --git a/screenshot.jpg b/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f16c92d8d24de5817564fcdb6c3286a60606d41a GIT binary patch literal 130716 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 literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..6f9960d --- /dev/null +++ b/setup.py @@ -0,0 +1,33 @@ +import setuptools + +with open('README.md', 'r') as f: + long_description = f.read() + +setuptools.setup( + name='django-map-location', + description='Django Map-Location Field', + version='0.9', + author='relikd', + license='MIT', + long_description=long_description, + long_description_content_type='text/markdown', + url='https://github.com/relikd/django-map-location', + packages=['map_location'], + include_package_data=True, + install_requires=['Django>=4.0'], + keywords=['OpenStreetMap', 'OSM', 'Leaflet', 'Django', + 'Geo', 'GPS', 'Position', 'Location'], + classifiers=[ + 'Development Status :: 4 - Beta', + 'Environment :: Web Environment', + 'Framework :: Django', + 'Framework :: Django :: 4.0', + 'Intended Audience :: Developers', + 'License :: OSI Approved :: MIT License', + 'Operating System :: OS Independent', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + ], + python_requires='>=3.6', +)