Я использую OpenLayers для сопоставления землетрясений с использованием набора данных USGS, доступного по адресу:
https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson
Я добавляю слои и настраиваю вид следующим образом:
var map = new Map({
target: 'map',
layers: [
new TileLayer({
source: new OSM()
}),
new ImageLayer({
opacity: 0.3,
source: raster
}),
new WebGLPointsLayer({
source: new VectorSource({
url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson",
format: new GeoJSON(),
attributions: 'USGS'
})
})
],
view: new View({
center: fromLonLat([103.8198, 1.3521]),
zoom: 1
})
});
Мой вид установлен так что на уровне масштабирования 1 строка даты включается в экстент. Данные USGS не отображаются справа от строки даты. Я понимаю, что это потому, что экстент VectorSource по умолчанию [-180, -90, 180, 90]. У меня вопрос: как я могу изменить этот экстент до экстента вида карты, чтобы данные отображались на другой стороне линии даты?
Похоже, что лучшим подходом было бы перехватить координаты данных USGS и добавить преобразование к координате lon, возможно, через ol / proj.transform или ol / proj.transformExtent , но мне не удалось найти объект данных openlayers, содержащий координаты, ни способ применить к ним карту или преобразование.