I suggest taking a look at the source of the QuickMapServices plugin to see how they do it. Make sure to get the extra datasets from the plugin settings dialog.
Regards Tim > On 9 Apr 2019, at 08:54, Erik Polzin <erikt...@gmail.com> wrote: > > I'm busy developing an app using the QGIS Python api, PyQGIS, and am noticing > some strange behaviour when loading WMS tiles: Running the python script on > Linux Mint loads xyz layers from Google Maps and Google Satellite just fine. > On Windows, only the Google Maps layer loads. > > Here is a test script I wrote to demonstrate the problem: > > from qgis.core import QgsApplication, QgsProject, QgsRasterLayer > from qgis.gui import QgsMapCanvas, QgsLayerTreeMapCanvasBridge > > from PyQt5.QtWidgets import QMainWindow > import os > > GOOGLE_MAPS_SOURCE = > "type=xyz&url=https://mt1.google.com/vt?lyrs%3Dm%26x%3D%7Bx%7D%26y%3D%7By%7D%26z%3D%7Bz%7D&zmax=19&zmin=0 > > <https://mt1.google.com/vt?lyrs%3Dm%26x%3D%7Bx%7D%26y%3D%7By%7D%26z%3D%7Bz%7D&zmax=19&zmin=0>" > GOOGLE_SATELLITE_SOURCE = > "type=xyz&url=https://mt1.google.com/vt?lyrs%3Ds%26x%3D%7Bx%7D%26y%3D%7By%7D%26z%3D%7Bz%7D&zmax=19&zmin=0 > > <https://mt1.google.com/vt?lyrs%3Ds%26x%3D%7Bx%7D%26y%3D%7By%7D%26z%3D%7Bz%7D&zmax=19&zmin=0>" > > class WMSTestApp(QMainWindow): > > def __init__(self): > super().__init__() > > self.canvas = QgsMapCanvas(self) > self.bridge = > QgsLayerTreeMapCanvasBridge(QgsProject.instance().layerTreeRoot(), > self.canvas) > > layer = QgsRasterLayer(GOOGLE_SATELLITE_SOURCE, "Test WMS Layer", > "wms") > > QgsProject.instance().addMapLayer(layer) > self.canvas.setLayers([layer]) > > self.setCentralWidget(self.canvas) > > > QgsApplication.setPrefixPath(os.environ.get("QGIS_PREFIX_PATH", "C:\Program > Files\QGIS 3.4\apps\qgis"), True) > qgs = QgsApplication([], True) > qgs.initQgis() > > app = WMSTestApp() > app.show() > qgs.exec_() > qgs.exitQgis() > > Interestingly, the layers (from the same sources!) both load from the Windows > QGIS app. > So I did some digging and noticed that the default Google Maps url returns > PNG files, while the Satellite url returns JPEGs. I tested a couple of other > links, and it seems like only PNG tile servers have any effect on windows > systems. > > Have tested this on Windows 7 and 10, with the same results. > > Does PyQgis need to be reconfigured in some way to get this to work? Or is it > a known issue with the version (3.4) I'm using? > > Cheers and thanks, > Erik > _______________________________________________ > QGIS-Developer mailing list > QGIS-Developer@lists.osgeo.org > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer — Tim Sutton Co-founder: Kartoza Ex Project chair: QGIS.org Visit http://kartoza.com <http://kartoza.com/> to find out about open source: Desktop GIS programming services Geospatial web development GIS Training Consulting Services Skype: timlinux IRC: timlinux on #qgis at freenode.net I'd love to connect. Here's my calendar link <https://calendly.com/timlinux> to make finding time easy.
_______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer