Я получаю данные в lat/lon. Мне нужно построить все это на статическом изображении в OpenLayers 3. Я не использую OSM или что-то еще, мое изображение должно быть базовым слоем с векторным слоем (точками) сверху. Я получил его работу, добавив статический слой изображения, установив, чтобы степень была четырьмя углами в lat/lon, а затем построила мои функции поверх нее. Однако это работает в браузере очень медленно, и на мобильных устройствах он выведет браузер через пару секунд. Каков правильный способ сделать это? Должен ли я использовать другой тип слоя? Нужно ли преобразовывать координаты lat/lon в пиксели? Если да, то как бы это сделать?Проблемы с производительностью статического изображения - Открытые слои 3
я сузил рухнуть к статическому слоя изображения, а когда я поставил его проекцию мне нужно, он падает на мобильной (моей целевой платформе):
var ovProj = ol.proj.get('EPSG:4326');
var myStaticImageLayer = new ol.layer.Image({
source: new ol.source.ImageStatic({
url: '../_images/mallSitePlan.png',
imageExtent: [-121.90320739419553, 37.409945396290674, -121.89234011506653, 37.41962634032544],
projection: ovProj
})
});
var view = new ol.View({
center: ol.proj.transform([-121.90320739419553, 37.409945396290674], 'EPSG:4326', 'EPSG:3857'),
zoom: 18,
enableRotation: false
});
var map = new ol.Map({
target: 'map',
layers: [myStaticImageLayer],
view: view
})
Если я запускаю его в этой проекции , это не сбой, но я не могу нарисовать свои точки в правильных местах, поскольку я получаю их в EPSG: 4326.
var extent = [0, 0, 1024, 968];
var projection = new ol.proj.Projection({
code: 'xkcd-image',
units: 'pixels',
extent: extent
});
var imageLayer = new ol.layer.Image({
source: new ol.source.ImageStatic({
attributions: '© <a href="http://xkcd.com/license.html">xkcd</a>',
url: '../_images/mallSitePlan.png',
projection: projection,
imageExtent: extent
})
});
var map = new ol.Map({
layers: [imageLayer, myVectorLayer],
target: 'mymap',
view: new ol.View({
projection: projection,
center: ol.extent.getCenter(extent)
})
});
Можете ли вы настроить скрипку? Я не могу понять, почему вы используете также EPSG: 3857 в первом примере. – fradal83