sourcepole / qgis-openlayers-plugin

Openlayers plugin for QGIS
GNU General Public License v2.0
174 stars 108 forks source link

Fix for Google Maps issue https://hub.qgis.org/issues/11700 #21

Closed gvellut closed 9 years ago

gvellut commented 9 years ago

Tested on QGIS 2.4 (Windows 7 64bit and Linux) + QGIS 2.6 (Linux)

It seems updating to the latest OpenLayers 2.13.1 version fixed the issue. I also had to make a small update to the html for layers other than Google Maps (or they would not display anything when zoomed out at the whole Earth level)

mwa commented 9 years ago

I didn't include the following fixes:

Disabling the wrapDateLine shows the layers on higher scales, but other QGIS layers won't match anymore if the map is panned outside a small center zone, as OpenLayers clamps the map to the image borders.

Setting the loadend on the second tilesloaded event with Google Maps layers helps a bit with partially faded out tiles, but sometimes I still get the same behaviour regardless.

gvellut commented 9 years ago

OK. For the full extent thing, something like the following could be done to have the same behaviour as before i.e. allow maximum zoom with wrapDateLine=True (which is the default), without clamping (override the adjustZoom method as mentioned here http://osgeo-org.1560.x6.nabble.com/Disable-zoom-limitations-without-disabling-wrapDateLine-td5022327.html):

map = new OpenLayers.Map('map', {
            theme: null,
            controls: [],
            units: "m",
            maxResolution: 156543.0339,
            maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
            adjustZoom: function(zoom) { return zoom; }
        });