UI: Fix double click zooming on map widgets

This commit is contained in:
fe-dev 2022-07-06 15:03:25 +03:00
parent f57a74366d
commit 2aa68155ae
9 changed files with 12 additions and 1 deletions

View File

@ -219,6 +219,7 @@ export interface CommonMapSettings {
defaultZoomLevel: number; defaultZoomLevel: number;
defaultCenterPosition?: string; defaultCenterPosition?: string;
disableScrollZooming: boolean; disableScrollZooming: boolean;
disableDoubleClickZooming: boolean;
disableZoomControl: boolean; disableZoomControl: boolean;
fitMapBounds: boolean; fitMapBounds: boolean;
useDefaultCenterPosition: boolean; useDefaultCenterPosition: boolean;
@ -242,6 +243,7 @@ export const defaultCommonMapSettings: CommonMapSettings = {
defaultZoomLevel: null, defaultZoomLevel: null,
defaultCenterPosition: '0,0', defaultCenterPosition: '0,0',
disableScrollZooming: false, disableScrollZooming: false,
disableDoubleClickZooming: false,
disableZoomControl: false, disableZoomControl: false,
fitMapBounds: true, fitMapBounds: true,
useDefaultCenterPosition: false, useDefaultCenterPosition: false,

View File

@ -37,6 +37,7 @@ export class GoogleMap extends LeafletMap {
this.loadGoogle(() => { this.loadGoogle(() => {
const map = L.map($container, { const map = L.map($container, {
attributionControl: false, attributionControl: false,
doubleClickZoom: !this.options.disableDoubleClickZooming,
zoomControl: !this.options.disableZoomControl, zoomControl: !this.options.disableZoomControl,
tap: L.Browser.safari && L.Browser.mobile tap: L.Browser.safari && L.Browser.mobile
}).setView(options?.parsedDefaultCenterPosition, options?.defaultZoomLevel || DEFAULT_ZOOM_LEVEL); }).setView(options?.parsedDefaultCenterPosition, options?.defaultZoomLevel || DEFAULT_ZOOM_LEVEL);

View File

@ -24,6 +24,7 @@ export class HEREMap extends LeafletMap {
super(ctx, $container, options); super(ctx, $container, options);
const map = L.map($container, { const map = L.map($container, {
tap: L.Browser.safari && L.Browser.mobile, tap: L.Browser.safari && L.Browser.mobile,
doubleClickZoom: !this.options.disableDoubleClickZooming,
zoomControl: !this.options.disableZoomControl zoomControl: !this.options.disableZoomControl
}).setView(options?.parsedDefaultCenterPosition, options?.defaultZoomLevel || DEFAULT_ZOOM_LEVEL); }).setView(options?.parsedDefaultCenterPosition, options?.defaultZoomLevel || DEFAULT_ZOOM_LEVEL);
const tileLayer = (L.tileLayer as any).provider(options.mapProviderHere || 'HERE.normalDay', options.credentials); const tileLayer = (L.tileLayer as any).provider(options.mapProviderHere || 'HERE.normalDay', options.credentials);

View File

@ -224,7 +224,7 @@ export class ImageMap extends LeafletMap {
maxZoom, maxZoom,
scrollWheelZoom: !this.options.disableScrollZooming, scrollWheelZoom: !this.options.disableScrollZooming,
center, center,
doubleClickZoom: !this.options.disableZoomControl, doubleClickZoom: !this.options.disableDoubleClickZooming,
zoomControl: !this.options.disableZoomControl, zoomControl: !this.options.disableZoomControl,
zoom: 1, zoom: 1,
crs: L.CRS.Simple, crs: L.CRS.Simple,

View File

@ -23,6 +23,7 @@ export class OpenStreetMap extends LeafletMap {
constructor(ctx: WidgetContext, $container, options: WidgetUnitedMapSettings) { constructor(ctx: WidgetContext, $container, options: WidgetUnitedMapSettings) {
super(ctx, $container, options); super(ctx, $container, options);
const map = L.map($container, { const map = L.map($container, {
doubleClickZoom: !this.options.disableDoubleClickZooming,
zoomControl: !this.options.disableZoomControl, zoomControl: !this.options.disableZoomControl,
tap: L.Browser.safari && L.Browser.mobile tap: L.Browser.safari && L.Browser.mobile
}).setView(options?.parsedDefaultCenterPosition, options?.defaultZoomLevel || DEFAULT_ZOOM_LEVEL); }).setView(options?.parsedDefaultCenterPosition, options?.defaultZoomLevel || DEFAULT_ZOOM_LEVEL);

View File

@ -25,6 +25,7 @@ export class TencentMap extends LeafletMap {
super(ctx, $container, options); super(ctx, $container, options);
const txUrl = 'http://rt{s}.map.gtimg.com/realtimerender?z={z}&x={x}&y={y}&type=vector&style=0'; const txUrl = 'http://rt{s}.map.gtimg.com/realtimerender?z={z}&x={x}&y={y}&type=vector&style=0';
const map = L.map($container, { const map = L.map($container, {
doubleClickZoom: !this.options.disableDoubleClickZooming,
zoomControl: !this.options.disableZoomControl, zoomControl: !this.options.disableZoomControl,
tap: L.Browser.safari && L.Browser.mobile tap: L.Browser.safari && L.Browser.mobile
}).setView(options?.parsedDefaultCenterPosition, options?.defaultZoomLevel || DEFAULT_ZOOM_LEVEL); }).setView(options?.parsedDefaultCenterPosition, options?.defaultZoomLevel || DEFAULT_ZOOM_LEVEL);

View File

@ -70,6 +70,9 @@
<mat-slide-toggle formControlName="disableScrollZooming" class="slide-block"> <mat-slide-toggle formControlName="disableScrollZooming" class="slide-block">
{{ 'widgets.maps.disable-scroll-zooming' | translate }} {{ 'widgets.maps.disable-scroll-zooming' | translate }}
</mat-slide-toggle> </mat-slide-toggle>
<mat-slide-toggle formControlName="disableDoubleClickZooming" class="slide-block">
{{ 'widgets.maps.disable-double-click-zooming' | translate }}
</mat-slide-toggle>
<mat-slide-toggle formControlName="disableZoomControl" class="slide-block"> <mat-slide-toggle formControlName="disableZoomControl" class="slide-block">
{{ 'widgets.maps.disable-zoom-control-buttons' | translate }} {{ 'widgets.maps.disable-zoom-control-buttons' | translate }}
</mat-slide-toggle> </mat-slide-toggle>

View File

@ -83,6 +83,7 @@ export class CommonMapSettingsComponent extends PageComponent implements OnInit,
defaultZoomLevel: [null, [Validators.min(0), Validators.max(20)]], defaultZoomLevel: [null, [Validators.min(0), Validators.max(20)]],
defaultCenterPosition: [null, []], defaultCenterPosition: [null, []],
disableScrollZooming: [null, []], disableScrollZooming: [null, []],
disableDoubleClickZooming: [null, []],
disableZoomControl: [null, []], disableZoomControl: [null, []],
fitMapBounds: [null, []], fitMapBounds: [null, []],
useDefaultCenterPosition: [null, []], useDefaultCenterPosition: [null, []],

View File

@ -4371,6 +4371,7 @@
"default-map-zoom-level": "Default map zoom level (0 - 20)", "default-map-zoom-level": "Default map zoom level (0 - 20)",
"default-map-center-position": "Default map center position (0,0)", "default-map-center-position": "Default map center position (0,0)",
"disable-scroll-zooming": "Disable scroll zooming", "disable-scroll-zooming": "Disable scroll zooming",
"disable-double-click-zooming": "Disable double click zooming",
"disable-zoom-control-buttons": "Disable zoom control buttons", "disable-zoom-control-buttons": "Disable zoom control buttons",
"fit-map-bounds": "Fit map bounds to cover all markers", "fit-map-bounds": "Fit map bounds to cover all markers",
"use-default-map-center-position": "Use default map center position", "use-default-map-center-position": "Use default map center position",