def add_google_layergroup(self): try: self._olLayerTypeRegistry = WebLayerTypeRegistry(self) except: return self._olLayerTypeRegistry.register(OlGooglePhysicalLayer()) self._olLayerTypeRegistry.register(OlGoogleStreetsLayer()) self._olLayerTypeRegistry.register(OlGoogleHybridLayer()) self._olLayerTypeRegistry.register(OlGoogleSatelliteLayer()) for group in self._olLayerTypeRegistry.groups(): groupMenu = group.menu() for layer in self._olLayerTypeRegistry.groupLayerTypes(group): layer.addMenuEntry(groupMenu, self.iface.mainWindow()) add_api_key_action = QAction("Set api Key", groupMenu) add_api_key_action.triggered.connect(self.showGoogleApiKeyDialog) groupMenu.addAction(add_api_key_action) self.addMenu(groupMenu) # Register plugin layer type self.pluginLayerType = OpenlayersPluginLayerType( self.iface, self.setReferenceLayer, self._olLayerTypeRegistry) QgsApplication.pluginLayerRegistry().addPluginLayerType( self.pluginLayerType)
def __init__(self, iface, parent=None): QMenu.__init__(self, parent) self.iface = iface self._olLayerTypeRegistry = WebLayerTypeRegistry(self) self._olLayerTypeRegistry.register(OlGooglePhysicalLayer()) self._olLayerTypeRegistry.register(OlGoogleStreetsLayer()) self._olLayerTypeRegistry.register(OlGoogleHybridLayer()) self._olLayerTypeRegistry.register(OlGoogleSatelliteLayer()) self._olLayerTypeRegistry.register(OlOpenStreetMapLayer()) self._olLayerTypeRegistry.register(OlOSMHumanitarianDataModelLayer()) self._olLayerTypeRegistry.register(OlOpenCycleMapLayer()) self._olLayerTypeRegistry.register(OlOCMLandscapeLayer()) self._olLayerTypeRegistry.register(OlOCMPublicTransportLayer()) self._olLayerTypeRegistry.register(OlOCMOutdoorstLayer()) self._olLayerTypeRegistry.register(OlOCMTransportDarkLayer()) self._olLayerTypeRegistry.register(OlOCMSpinalMapLayer()) self._olLayerTypeRegistry.register(OlOCMPioneerLayer()) self._olLayerTypeRegistry.register(OlOCMMobileAtlasLayer()) self._olLayerTypeRegistry.register(OlOCMNeighbourhoodLayer()) self._olLayerTypeRegistry.register(OlBingRoadLayer()) self._olLayerTypeRegistry.register(OlBingAerialLayer()) self._olLayerTypeRegistry.register(OlBingAerialLabelledLayer()) self._olLayerTypeRegistry.register(OlOSMStamenTonerLayer()) self._olLayerTypeRegistry.register(OlOSMStamenWatercolorLayer()) self._olLayerTypeRegistry.register(OlOSMStamenTerrainLayer()) # self._olLayerTypeRegistry.register(OlMapQuestOSMLayer()) # self._olLayerTypeRegistry.register(OlMapQuestOpenAerialLayer()) self._olLayerTypeRegistry.register(OlAppleiPhotoMapLayer()) for group in self._olLayerTypeRegistry.groups(): groupMenu = group.menu() for layer in self._olLayerTypeRegistry.groupLayerTypes(group): layer.addMenuEntry(groupMenu, self.iface.mainWindow()) self.addMenu(groupMenu) # Register plugin layer type self.pluginLayerType = OpenlayersPluginLayerType( self.iface, self.setReferenceLayer, self._olLayerTypeRegistry) QgsApplication.pluginLayerRegistry().addPluginLayerType( self.pluginLayerType)