@nextgis/leaflet-map-adapter 1.19.1 → 1.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- /** Bundle of @nextgis/leaflet-map-adapter; version: 1.19.1; author: NextGIS */
1
+ /** Bundle of @nextgis/leaflet-map-adapter; version: 1.19.4; author: NextGIS */
2
2
  import { EventEmitter } from 'events';
3
3
  import { Control, DomEvent, GeoJSON, DivIcon, Marker, CircleMarker, FeatureGroup, ImageOverlay as ImageOverlay$1, Layer, Util, CRS, GridLayer, DomUtil, TileLayer as TileLayer$1, Map } from 'leaflet';
4
4
  import { defined, debounce as debounce$1 } from '@nextgis/utils';
@@ -684,11 +684,22 @@ class GeoJsonAdapter extends BaseAdapter {
684
684
  }
685
685
  _updateTooltip(layerDef) {
686
686
  const { feature, layer } = layerDef;
687
- if (feature && layer && feature.properties && this.options.labelField) {
687
+ const { label, labelField, labelOnHover } = this.options;
688
+ if (layer) {
688
689
  layer.unbindTooltip();
689
- const message = feature.properties[this.options.labelField];
690
- if (message !== undefined) {
691
- const permanent = !this.options.labelOnHover;
690
+ let message;
691
+ if (feature.properties && labelField) {
692
+ message = feature.properties[labelField];
693
+ }
694
+ else if (label) {
695
+ message = label({
696
+ target: this,
697
+ ...layerDef,
698
+ ...createFeaturePositionOptions(feature),
699
+ });
700
+ }
701
+ if (message) {
702
+ const permanent = !labelOnHover;
692
703
  layer.bindTooltip(String(message), { permanent, sticky: false });
693
704
  }
694
705
  }
@@ -935,9 +946,9 @@ class GeoJsonAdapter extends BaseAdapter {
935
946
  _addMapListener() {
936
947
  const map = this.map;
937
948
  if (map) {
938
- const { labelField, labelOnHover } = this.options;
949
+ const { label, labelField, labelOnHover } = this.options;
939
950
  this._addMapClickListener();
940
- if (labelField && !labelOnHover) {
951
+ if ((labelField || label) && !labelOnHover) {
941
952
  map.on('zoomend', this.$updateTooltip);
942
953
  map.on('moveend', this.$updateTooltip);
943
954
  }