Я создал набор фрагментов изображения с использованием MapTiler. MapTiler генерирует 2 сценарий ПР, который центрирует черепичное изображение в окне просмотра с помощью следующего кода:Как преобразовать изображение MapTile для просмотра
var map, layer;
var mapBounds = new OpenLayers.Bounds(0.000000, -9350.000000, 14450.000000, 0.000000);
var mapMinZoom = 0;
var mapMaxZoom = 6;
var mapMaxResolution = 1.000000;
var gridBounds = new OpenLayers.Bounds(0.000000, -9350.000000, 14450.000000, 0.000000);
function init() {
var options = {
controls: [],
maxExtent : gridBounds,
minResolution: mapMaxResolution,
numZoomLevels: mapMaxZoom+1
};
map = new OpenLayers.Map('map', options);
layer = new OpenLayers.Layer.XYZ("MapTiler layer", "${z}/${x}/${y}.png", {
transitionEffect: 'resize',
tileSize: new OpenLayers.Size(256, 256),
tileOrigin: new OpenLayers.LonLat(gridBounds.left, gridBounds.top)
});
map.addLayer(layer);
map.zoomToExtent(mapBounds);
Я хочу использовать Ol3 для отображения плиточной карты, но не знаю, как реализовать эквивалентные Ol3 методы для достижения этой цели , Используя следующий скрипт, я могу отобразить черепичное изображение, но я не могу понять, как центрировать плитки в представлении.
map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM({
url: map_path + '{z}/{x}/{y}.png'
})
})
],
view: new ol.View({
center: [0, 0],
zoom: 2
})
});
Я проверил степень карты, которая оказывается быть:
-20037508,342789244, -20037508.342789244,20037508.342789244,20037508.342789244
Мой плиточные степени изображение приводится в коде OL2, но я не знают, как использовать эту информацию в OL3. Я думаю, что это может иметь какое-то отношение к трансформации или fitExtent, но без дальнейшего направления, кажется, я просто догадываюсь, что делать.
я не мог получить эту работу, годен (метод OpenLayers 3 Я не мог найти его в документации. – user2254532
fit - новое в версии 3.7. Ранее это был fixExtent. – ahocevar