יותר

Openlayers 3 מעגלים מ geojson לא עובדים עם מקור אריחי שכבות שונה מ- TileWMS


אני עובד עם openlayers 3 עם שכבה מתוך mapbox או openstreetmap ואני צריך לצייר עליו כמה עיגולים.

אני מסוגל להדפיס את העיגולים עם נוף עם הקרנה EPSG: 4326, אבל אז אין לי מפה. שינוי ההקרנה באמצעות טרנספורמציה המפה מוצגת, אך הנקודות כולן יחד. הדרך היחידה לגרום לי לפעול היא להשתמש ב- TileWMS כמקור, אך אינני מסוגל להשתמש בו בסביבת הייצור.

הנה הקוד שלי:

גרסה 1: עבודה עם TileWMS

var source = ol.source.GeoJSON חדש ({url: 'geojson url'}); var pointsLayer = new ol.layer.Vector ({source: source, style: new ol.style.Style ({image: new ol.style.Circle ({radius: 15, fill: new ol.style.Fill ({color : 'rgba (170,33,33, 0.8)'}), שבץ: new ol.style.Stroke ({color: 'rgba (170,33,33, 0.3)', רוחב: 8})})))) }); var map = new ol.Map ({target: 'map', שכבות: [new ol.layer.Tile ({title: "Global Imagery", מקור: new ol.source.TileWMS ({url: 'http: // maps.opengeo.org/geowebcache/service/wms ', מצלמות: {LAYERS:' bluemarble ', VERSION:' 1.1.1 '}})}), pointsSource], view: new ol.View ({הקרנה:' EPSG : 4326 ', מרכז: [-82.3, -10.65], זום: 3})});

זו התוצאה

שימוש ב- mapbox או osm, נכשל:

var map = new ol.Map ({target: 'map', שכבות: [new ol.layer.Tile ({מקור: new ol.source.XYZ ({url: 'http://api.tiles.mapbox.com) /v4/XXXXX.kcp9cpdn/{z}/{x}/{y} .png ">

ולבסוף, שינוי התצוגה המפה מוצגת אך העיגולים

var map = new ol.Map ({target: 'map', שכבות: [new ol.layer.Tile ({מקור: new ol.source.XYZ ({url: 'http://api.tiles.mapbox.com) /v4/XXXXX.kcp9cpdn/{z}/{x}/{y} .png ">

האם יש דרך לגרום לזה לעבוד?


מצאתי את הפתרון, הנה הוא בגלל שהוא עוזר לכל אחד

בעקבות תשובה זו/a/118818/42868 קיימת אפשרות לא יציבה לאובייקט ol.source.GeoJSON, כך שהוספתו בצורה זו גרמה לו לפעול

var source = ol.source.GeoJSON חדש ({url: 'geojson url', הקרנה: 'EPSG: 3857'});


צפו בסרטון: Openlayers 6 Tutorial #1 - Introduction to Openlayers (סֶפּטֶמבֶּר 2021).