Add map HERE
This commit is contained in:
parent
17067442ce
commit
66f07248c0
File diff suppressed because one or more lines are too long
@ -82,6 +82,8 @@ export default class TbMapWidgetV2 {
|
||||
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);
|
||||
} else if (mapProvider === 'here') {
|
||||
this.map = new TbOpenStreetMap($element, this.utils, initCallback, this.defaultZoomLevel, this.dontFitMapBounds, minZoomLevel, settings.mapProvider, settings.credentials);
|
||||
} else if (mapProvider === 'image-map') {
|
||||
this.map = new TbImageMap(this.ctx, $element, this.utils, initCallback,
|
||||
settings.mapImageUrl,
|
||||
@ -657,7 +659,10 @@ export default class TbMapWidgetV2 {
|
||||
return imageMapSettingsSchema;
|
||||
} else if (mapProvider === 'tencent-map') {
|
||||
schema = angular.copy(tencentMapSettingsSchema);
|
||||
} else if (mapProvider === 'here') {
|
||||
schema = angular.copy(hereMapSettingsSchema);
|
||||
}
|
||||
|
||||
angular.merge(schema.schema.properties, commonMapSettingsSchema.schema.properties);
|
||||
schema.schema.required = schema.schema.required.concat(commonMapSettingsSchema.schema.required);
|
||||
schema.form = schema.form.concat(commonMapSettingsSchema.form);
|
||||
@ -784,6 +789,62 @@ const tencentMapSettingsSchema =
|
||||
]
|
||||
};
|
||||
|
||||
const hereMapSettingsSchema =
|
||||
{
|
||||
"schema": {
|
||||
"title": "HERE Map Configuration",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"mapProvider": {
|
||||
"title": "Map layer",
|
||||
"type": "string",
|
||||
"default": "HERE.normalDay"
|
||||
},
|
||||
"credentials":{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"app_id": {
|
||||
"title": "HERE app id",
|
||||
"type": "string"
|
||||
},
|
||||
"app_code": {
|
||||
"title": "HERE app code",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": ["app_id", "app_code"]
|
||||
}
|
||||
},
|
||||
"required": []
|
||||
},
|
||||
"form": [
|
||||
{
|
||||
"key": "mapProvider",
|
||||
"type": "rc-select",
|
||||
"multiple": false,
|
||||
"items": [
|
||||
{
|
||||
"value": "HERE.normalDay",
|
||||
"label": "HERE.normalDay (Default)"
|
||||
},
|
||||
{
|
||||
"value": "HERE.normalNight",
|
||||
"label": "HERE.normalNight"
|
||||
},
|
||||
{
|
||||
"value": "HERE.hybridDay",
|
||||
"label": "HERE.hybridDay"
|
||||
},
|
||||
{
|
||||
"value": "HERE.terrainDay",
|
||||
"label": "HERE.terrainDay"
|
||||
}
|
||||
]
|
||||
},
|
||||
"credentials"
|
||||
]
|
||||
};
|
||||
|
||||
const openstreetMapSettingsSchema =
|
||||
{
|
||||
"schema": {
|
||||
|
||||
@ -19,7 +19,7 @@ import 'leaflet-providers';
|
||||
|
||||
export default class TbOpenStreetMap {
|
||||
|
||||
constructor($containerElement, utils, initCallback, defaultZoomLevel, dontFitMapBounds, minZoomLevel, mapProvider) {
|
||||
constructor($containerElement, utils, initCallback, defaultZoomLevel, dontFitMapBounds, minZoomLevel, mapProvider, credentials) {
|
||||
|
||||
this.utils = utils;
|
||||
this.defaultZoomLevel = defaultZoomLevel;
|
||||
@ -31,9 +31,14 @@ export default class TbOpenStreetMap {
|
||||
mapProvider = "OpenStreetMap.Mapnik";
|
||||
}
|
||||
|
||||
if (!mapProvider.indexOf("HERE.")) {
|
||||
credentials.app_id = credentials.app_id || "AhM6TzD9ThyK78CT3ptx";
|
||||
credentials.app_code = credentials.app_code || "p6NPiITB3Vv0GMUFnkLOOg";
|
||||
}
|
||||
|
||||
this.map = L.map($containerElement[0]).setView([0, 0], this.defaultZoomLevel || 8);
|
||||
|
||||
var tileLayer = L.tileLayer.provider(mapProvider);
|
||||
var tileLayer = L.tileLayer.provider(mapProvider, credentials);
|
||||
|
||||
tileLayer.addTo(this.map);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user