Browse Source

Merge pull request #1627 from Terny22/custom-map-provider

Added custom-provider option for openStreet maps
pull/1646/head
Igor Kulikov 7 years ago
committed by GitHub
parent
commit
4399f6ad43
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      ui/package-lock.json
  2. 25
      ui/src/app/widget/lib/map-widget2.js
  3. 6
      ui/src/app/widget/lib/openstreet-map.js

28
ui/package-lock.json

@ -5239,14 +5239,12 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@ -5261,20 +5259,17 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"core-util-is": {
"version": "1.0.2",
@ -5391,8 +5386,7 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"ini": {
"version": "1.3.5",
@ -5404,7 +5398,6 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@ -5419,7 +5412,6 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@ -5427,14 +5419,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
@ -5453,7 +5443,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
@ -5534,8 +5523,7 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"object-assign": {
"version": "4.1.1",
@ -5547,7 +5535,6 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"wrappy": "1"
}
@ -5669,7 +5656,6 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",

25
ui/src/app/widget/lib/map-widget2.js

@ -81,7 +81,14 @@ export default class TbMapWidgetV2 {
if (mapProvider === 'google-map') {
this.map = new TbGoogleMap($element, this.utils, initCallback, this.defaultZoomLevel, this.dontFitMapBounds, minZoomLevel, settings.gmApiKey, settings.gmDefaultMapType);
} else if (mapProvider === 'openstreet-map') {
this.map = new TbOpenStreetMap($element, this.utils, initCallback, this.defaultZoomLevel, this.dontFitMapBounds, minZoomLevel, settings.mapProvider);
let openStreetMapProvider = {};
if (settings.useCustomProvider && settings.customProviderTileUrl) {
openStreetMapProvider.name = settings.customProviderTileUrl;
openStreetMapProvider.isCustom = true;
} else {
openStreetMapProvider.name = settings.mapProvider;
}
this.map = new TbOpenStreetMap($element, this.utils, initCallback, this.defaultZoomLevel, this.dontFitMapBounds, minZoomLevel, openStreetMapProvider);
} else if (mapProvider === 'image-map') {
this.map = new TbImageMap(this.ctx, $element, this.utils, initCallback,
settings.mapImageUrl,
@ -800,7 +807,17 @@ const openstreetMapSettingsSchema =
"title": "Map provider",
"type": "string",
"default": "OpenStreetMap.Mapnik"
}
},
"useCustomProvider": {
"title": "Use custom provider",
"type": "boolean",
"default": false
},
"customProviderTileUrl": {
"title": "Custom provider tile URL",
"type": "string",
"default": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
}
},
"required": []
},
@ -839,7 +856,9 @@ const openstreetMapSettingsSchema =
"label": "CartoDB.DarkMatter"
}
]
}
},
"useCustomProvider",
"customProviderTileUrl"
]
};

6
ui/src/app/widget/lib/openstreet-map.js

@ -28,12 +28,14 @@ export default class TbOpenStreetMap {
this.tooltips = [];
if (!mapProvider) {
mapProvider = "OpenStreetMap.Mapnik";
mapProvider = {
name: "OpenStreetMap.Mapnik"
};
}
this.map = L.map($containerElement[0]).setView([0, 0], this.defaultZoomLevel || 8);
var tileLayer = L.tileLayer.provider(mapProvider);
var tileLayer = mapProvider.isCustom ? L.tileLayer(mapProvider.name) : L.tileLayer.provider(mapProvider.name);
tileLayer.addTo(this.map);

Loading…
Cancel
Save