Вам нужно будет указать проекцию данных, а также проекцию объекта.featurePprojection
- это проекция вашей карты.dataProjection
- проекция координат в json.Я вижу, что dataProjection для layer-ind - это «EPSG: 4326», dataProjection для layer-us, похоже, использует координаты локальной проекции.Знаете ли вы, какая проекция или где находится остров?
const vectorSource = new VectorSource({
features: (new GeoJSON()).readFeatures(geojson, {
dataProjection: 'xxxx',
featureProjection: 'yyyy'
})
});
На основе приведенного вами определения проекции приведен рабочий пример (для запуска здесь используется полный синтаксис сборки)
proj4.defs('NAD_1983_California_Teale_Albers', 'PROJCS["NAD_1983_California_Teale_Albers",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",-4000000.0],PARAMETER["Central_Meridian",-120.0],PARAMETER["Standard_Parallel_1",34.0],PARAMETER["Standard_Parallel_2",40.5],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]');
ol.proj.proj4.register(proj4);
geojson = {
"type": "FeatureCollection",
"features": [
{
"type":"Feature",
"geometry":{
"type":"LineString",
"coordinates":[
[-349771.1875,445307.8125],
[-349789.6875,445314.375],
[-349796.5625,445321.5625],
[-349792.78119999915,445341.4375],
[-349786.53119999915,445351.71880000085],
[-349771.1875,445307.8125]]},
"properties":{
"TYPE":"ISLAND","RuleID":3,
"Shape_Leng":544.475438955
}
}
]
}
var map = new ol.Map({
layers: [ new ol.layer.Tile({ source: new ol.source.OSM() }) ],
target: 'map',
view: new ol.View()
});
const vectorSource = new ol.source.Vector({
features: (new ol.format.GeoJSON()).readFeatures(geojson, {
dataProjection: 'NAD_1983_California_Teale_Albers',
featureProjection: map.getView().getProjection()
})
});
map.addLayer(new ol.layer.Vector({source: vectorSource}));
map.getView().fit(vectorSource.getExtent());
<link href="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/css/ol.css" rel="stylesheet" />
<script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.5.0/proj4.js"></script>
<div id="map" class="map"></div>