Actually it is a bit more design issue than ol3js problem. Some of the
tiles are having 9mb of data size when you get them as vector. Instead
there might be some intelligent solutions not to load too much data to the
client. There might be some solutions:
1- Show the data as wms layer. Picture tiles take less data size. When user
needs to interact with feature, you can use "getfeature" of wfs and load
only 1 or required features to the client.
2- You can show wms until some zoom level and show wfs after that level if
you require all the data to be there. (check attached file from your
example)
31 Ağustos 2016 Çarşamba 17:33:15 UTC+3 tarihinde Hamadtou Hassan yazdı:
>
> Önder ALTINTAŞ,
> Thank you for the hints, none of the solutions worked for me still same
> performance. Can you test it please with my WFS url at your end..
> as a temporary solution, setting the minResolution & maxResolution this
> is working for me so far:
>
> var serverVector = new ol.layer.Vector({
> source: vectorSource,
> minResolution: 0,
> maxResolution: 4,
> style: vectorStyle
> });
>
>
>
>
>
>
> On Wednesday, August 31, 2016 at 2:42:25 AM UTC-5, Önder ALTINTAŞ wrote:
>>
>> Hello, you can solve the issue with 2 ways
>>
>> 1- Using ol.layer.Image and ol.source.ImageVector and giving your ol.
>> source.Vector to ol.source.ImageVector.
>> This way rendering performance can be increased dramatically. I guess
>> this one is what you are asking for. See the example, use
>> Example code:
>> var imageVectorSource = new ol.source.ImageVector({
>> source: vectorSource,
>> style: new ol.style.Style({
>> fill: new ol.style.Fill({
>> color: 'rgba(255, 255, 255, 0.6)'
>> }),
>> stroke: new ol.style.Stroke({
>> color: '#319FD3',
>> width: 1
>> })
>> })
>> })
>>
>> var imageLayer = new ol.layer.Image({
>> source: imageVectorSource
>> })
>>
>>
>>
>> 2- Changing visibility at certain zoom levels. I saw it from your codes
>> but I couldn't find where you bound your "zoomChanged" function (as event)
>> to map object.
>> Here is the example:
>> map.getView().on('change:resolution', zoomChanged); // this one binds
>> the map's resolution change event to zoom changed
>>
>> /**
>> * Gets executed when zoom changes on map. Shows or hides required
>> layers up to zoom values.
>> * @param {Event} event - Event object when zoom changes.
>> */
>> var zoomChanged = function(event)
>> {
>> if (map.getView().getZoom() >= 15)
>> {
>> imageLayer.setVisible(true);
>> }
>> if (map.getView().getZoom() < 15)
>> {
>> imageLayer.setVisible(false);
>> }
>> }
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups "OL3
Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/ol3-dev.
To view this discussion on the web visit
https://groups.google.com/d/msgid/ol3-dev/a262af8e-89f3-4384-9b11-28d17b8a1498%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Title: Vector Examples