יותר

OpenLayers 3 מציג WFS EPSG: 4326 במפת EPSG: 3857


האם אפשרי ב- OpenLayers 3 להקרין שכבת וקטור EPSG: 4326 WFS על אמירת מפת MapQuest EPSG: 3857?

ניסיתי את הקוד הבא (שינוי דוגמה זו דוגמא OpenLayers 3 WFS, אך קואורדינטות השכבה EPSG: 4326 מתפרשות כ- EPSG: 3857 וכך אני מקבל ציור זעיר הממוקם סביב 0 ארוך, 0 lat.

    

ברור שיש צורך בדחייה איפשהו, אבל איפה?


העבר את שם ה- srsk לבקשת האייאקס שלך. שקול את הדברים הבאים

sourceVector = ol.source.Vector חדש ({loader: function (omfang) {// מקם כאן כל פעולה בהתחלת טעינת שכבת cosnole.log ("התחל בטעינה ..."); $ .ajax ('http: //demo.opengeo .org/geoserver/wfs ', {type:' GET ', data: {service:' WFS ', גרסה:' 1.1.0 ', בקשה:' GetFeature ', סוג שם:' water_areas ', srsname:' EPSG: 3857 ', bbox: omfang.join (', ') +', EPSG: 3857 '}}). done (loadFeatures) .fail (function () {// הצב כאן כל פעולה בהתרעה של שכבת טעינת שכבה ("טעינת וקטור שגיאה שכבה ");});}, אסטרטגיה: ol.loadingstrategy.bbox

});

זה אמור לאפשר ל- geoserver לבצע את הדחייה מחדש. סיים אז לנתח את התגובה

function loadFeatures (תגובה) {var formatWFS = ol.format.WFS חדש (), sourceVector.addFeatures (formatWFS.readFeatures (תגובה)); }

בדוק את הכינור הזה. זוהי דוגמה עובדת, למרות שמטרתה שונה אך צריכה להתאים למקרה שלך


צפו בסרטון: Leaflet get feature info (אוֹקְטוֹבֶּר 2021).