Daha çox

Min / maxResolution istifadə edərək vektor təbəqəsi görünürlüğü Openlayers 2-də işləmir

Min / maxResolution istifadə edərək vektor təbəqəsi görünürlüğü Openlayers 2-də işləmir


OpenLayers 2 və Geoserver istifadə edirəm.
Bazilayer kimi bir neçə WFS təbəqəm və OpenStreetMap var. Vektor qatlarını dəyişdirmək istəyirəm ' min / maxScale və ya min / maxResolution istifadə edərək müəyyən zoom səviyyələrində görünürlük, amma işə yaramır. Aşağıdakı nümunədə bir test olaraq təbəqələrdən yalnız birini istifadə edirəm.

Min / maxScale istifadə kodum:

Min / max Scale istifadə etsəm, heç bir şey olmaz, qatlar bütün zoom səviyyələrində görünür. Ayrıca brauzer konsolunda vahidlərin dəyişmədiyini görürəm, seçimlərimdə "metr" göstərsəm də, yenə də "dərəcələrin" istifadə olunduğunu görürəm.

Burada sadalanan həll variantını sınadım: "Maksimum miqyaslı kiçik ölçülü işləmə qabiliyyəti istifadə olunmur" - min / maxResolution istifadə olunur, amma yenə də işləmir.

"maxScale və ya minScale vektor (wfs-dən) qatında işləmir" də işləmir.

Min / maxResolution istifadə edən kodum:

// Basemap var osm = yeni OpenLayers.Layer.OSM ("Sadə OSM Xəritə"); map.addLayer (osm); // Layer var test = new OpenLayers.Layer.Vector ("xName", {strategies: [new OpenLayers.Strategy.Fixed (), saveStrategy], minResolution: 14.035643, maxResolution: 7.01782148, protokol: new OpenLayers.Protocol.WFS ( {url: SETTINGS.BASE_URL, featurePrefix: 'xNS', featureNS: "xNS", // extractAttributes: true, featureType: "xName",}), styleMap: new OpenLayers.StyleMap ({"default": new OpenLayers.Style ({"pointRadius": 2, doldurun: true, fillColor: "# 8d006a", strokeColor: "# 000000", strokeWidth: 0.2})})}); // Layer map.addLayer əlavə edin (test);

Min / maxResolution istifadə edərkən qatlar artıq heç bir zoom səviyyəsində görünmür. LayerSwitcher-da görünə bilər, lakin seçilə bilməzlər. Güman edirəm ki, müəyyən bir qətnamədə (göstərilən qərarda) onlar görünməli və seçilməli olmalıdır, amma bu belə deyil.


Bir neçə saatdan sonra nəhayət cavab tapdım. Xəritədəki miqyasın brauzer konsolundakı miqyasdan fərqli dəyərlər göstərdiyi ortaya çıxdı (mən bunu qəribə hesab edirəm), buna görə min / maxResolution-a səhv dəyərlər əlavə etdim.

İş kodu:

var test = yeni OpenLayers.Layer.Vector ("xName", {strategies: [new OpenLayers.Strategy.Fixed (), saveStrategy], minResolution: 0.001, maxResolution: 200 ,ocol: new OpenLayers.Protocol.WFS ({url: SETTINGS.BASE_URL, featurePrefix: 'xNS', featureNS: "xNS", // extractAttributes: true, featureType: "xName",}),

Videoya baxın: Style Web Map Vector Layers with OpenLayers