diff --git a/controls/maps/src/maps/layers/layer-panel.ts b/controls/maps/src/maps/layers/layer-panel.ts index 20ebe749ee..019d4ac658 100644 --- a/controls/maps/src/maps/layers/layer-panel.ts +++ b/controls/maps/src/maps/layers/layer-panel.ts @@ -674,6 +674,9 @@ export class LayerPanel { if (baseLayer.layerType === 'Bing') { let key: string = baseLayer.key; tile.src = bing.getBingMap(tile, key, baseLayer.bingMapType, userLang, bing.imageUrl, bing.subDomains); + } else if (baseLayer.layerType.toLowerCase() === 'tms') { + tile.src = this.urlTemplate.replace('level', zoomLevel.toString()).replace('tileX', tile.x.toString()) + .replace('tileY', (Math.pow(2, zoomLevel) - tile.y - 1).toString()); } else { tile.src = this.urlTemplate.replace('level', zoomLevel.toString()).replace('tileX', tile.x.toString()) .replace('tileY', tile.y.toString()); @@ -688,11 +691,14 @@ export class LayerPanel { if (!(layer.type === 'SubLayer' && layer.visible)) { continue; } - if (layer.layerType === 'OSM' || layer.layerType === 'Bing') { + if (layer.layerType === 'OSM' || layer.layerType === 'Bing' || layer.layerType.toLowerCase() === 'tms') { for (let baseTile of proxTiles) { let subtile: Tile = extend(baseTile, {}, {}, true) as Tile; if (layer.layerType === 'Bing') { subtile.src = bing.getBingMap(subtile, layer.key, layer.bingMapType, userLang, bing.imageUrl, bing.subDomains); + } else if (layer.layerType.toLowerCase() === 'tms') { + subtile.src = layer.urlTemplate.replace('level', zoomLevel.toString()).replace('tileX', baseTile.x.toString()) + .replace('tileY', (Math.pow(2, zoomLevel) - baseTile.y - 1).toString()); } else { subtile.src = layer.urlTemplate.replace('level', zoomLevel.toString()).replace('tileX', baseTile.x.toString()) .replace('tileY', baseTile.y.toString()); diff --git a/controls/maps/src/maps/maps.ts b/controls/maps/src/maps/maps.ts index 3f1e750082..dbb72c7526 100644 --- a/controls/maps/src/maps/maps.ts +++ b/controls/maps/src/maps/maps.ts @@ -791,7 +791,7 @@ export class Maps extends Component implements INotifyPropertyChang private createTile(): void { let mainLayer: LayerSettings = this.layersCollection[0]; let padding: number = 0; - if (mainLayer.isBaseLayer && (mainLayer.layerType === 'OSM' || mainLayer.layerType === 'Bing')) { + if (mainLayer.isBaseLayer && (mainLayer.layerType === 'OSM' || mainLayer.layerType === 'Bing' || mainLayer.layerType.toLowerCase() === 'tms')) { removeElement(this.element.id + '_tile_parent'); // let elementRect: ClientRect = this.element.getBoundingClientRect(); // let parentRect: ClientRect = this.element.parentElement.getBoundingClientRect();