summaryrefslogtreecommitdiff
path: root/chimere/static/leaflet-plugins/control/Permalink.Marker.js
diff options
context:
space:
mode:
Diffstat (limited to 'chimere/static/leaflet-plugins/control/Permalink.Marker.js')
-rw-r--r--chimere/static/leaflet-plugins/control/Permalink.Marker.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/chimere/static/leaflet-plugins/control/Permalink.Marker.js b/chimere/static/leaflet-plugins/control/Permalink.Marker.js
new file mode 100644
index 0000000..360f06f
--- /dev/null
+++ b/chimere/static/leaflet-plugins/control/Permalink.Marker.js
@@ -0,0 +1,29 @@
+//#include "Permalink.js
+
+L.Control.Permalink.include({
+ /*
+ options: {
+ useMarker: true,
+ markerOptions: {}
+ },
+ */
+
+ initialize_marker: function() {
+ this.on('update', this._set_marker, this);
+ },
+
+ _set_marker: function(e) {
+ var p = e.params;
+ //if (!this.options.useMarker) return;
+ if (this._marker) return;
+ if (p.marker !== 1) return;
+ if (p.mlat !== undefined && p.mlon !== undefined)
+ return this._update({mlat: null, mlon: null,
+ lat: p.mlat, lon: p.mlon, marker: 1});
+ this._marker = new L.Marker(new L.LatLng(p.lat, p.lon),
+ this.options.markerOptions);
+ this._marker.bindPopup('<a href="' + this._update_href() + '">' + this.options.text + '</a>');
+ this._map.addLayer(this._marker);
+ this._update({marker: null});
+ }
+});