Какой тип файла требуется для openLayer / TileLayer / source? - PullRequest
0 голосов
/ 19 июня 2019
import { Component, OnInit } from '@angular/core';
import {Map} from'ol';
import TileLayer from 'ol/layer/Tile';
import Stamen from 'ol/source/Stamen';
import View from 'ol/View';
import {transform} from 'ol/proj';
import Zoomify from 'ol/source/Zoomify';
import Projection from 'ol/proj/Projection';
const hongkong =  transform([114.15769,22.28552], 'EPSG:4326', 'EPSG:3857');

@Component({
  selector: 'app-own-tile',
  templateUrl: './own-tile.component.html',
  styleUrls: ['./own-tile.component.css']
})
export class OwnTileComponent implements OnInit {  
  map: Map;
  width = 512;
  height = 512;

constructor() 
{ 
}

  ngOnInit() {    
let url = '/assets/jp2';    
this.map = new Map({
      target: 'map',
      layers: [
        new TileLayer({
          source: url
    })  
      ],
      view: new View({
        center: [0, 0],
        zoom: 0
      })
    });

  }

}

Мой вопрос касается исходной части TileLayer: источник, какой тип файла мне нужно предоставить, в настоящее время у меня есть папка с различными растровыми изображениями с именем папки в следующем порядке: (zoomlevel, X-координата, Y-координата), но это дает мне ошибку, и ошибка:

TypeError: Невозможно создать свойство 'ol_lm' для строки '/ assets / jp2'

Чтобы решить эту проблемуОшибка Мне нужен тип, который я должен предоставить в источнике, и было бы полезно, если бы я мог получить представление об этом.

1 Ответ

1 голос
/ 23 июня 2019

Объекту Layer требуется объект "source" из библиотеки OpenLayers, который в вашем случае должен быть источником xyz:


import TileLayer from 'ol/layer/Tile'
import XYZSource from 'ol/source/XYZ'

layers: [
    new TileLayer({
        source: new XYZSource({
            url: 'path/to/tiles/{z}/{x}/{y}.[png/jpg/etc]'
        })
    })
]
...