Example #1
0
 def set_layer(self, layer, applyvalues=True):
     self.layer = layer
 
     if applyvalues:
         #check to make sure tiletype is in spinner. add if this is not true
         index = self.maptypeSpinner.findData(layer.tiletype)
         if index == -1:
             self.add_custom_type(layer.tiletype, "imported from project")
         self.autorefresh.setChecked(layer.autorefresh is True)
         self.set_selected_type(layer.tiletype)
         self.customUrl.setText("")
         
         if not self.layer.specifiedzoom is None:
             self.fixedZoom.setValue(self.layer.specifiedzoom)
             self.hasFixedZoom.setChecked(True)
         else:
             if self.layer.actualzoom is None:
                 self.fixedZoom.setValue(tm.maxzoom(self.layer.tiletype))
             else:
                 self.fixedZoom.setValue(self.layer.actualzoom)
                 
         if not self.layer.maxzoom is None:
             self.maxZoom.setValue(self.layer.maxzoom)
             self.hasMaxZoom.setChecked(True)
         else:
             self.maxZoom.setValue(tm.maxzoom(self.layer.tiletype))
         
         self.set_summarystats()
     else:
         self.statusText.setText("")
Example #2
0
 def zoom(self, widthpx, extll):
     if self.specifiedzoom is None:
         maxzoom = tm.maxzoom(self.tiletype) if self.maxzoom is None else self.maxzoom
         autozoom = osm.autozoom(widthpx/(extll.xMaximum()-extll.xMinimum()))
         return min(max((tm.minzoom(self.tiletype), autozoom)),
                    maxzoom)
     else:
         numtiles = len(osm.tiles(extll.xMinimum(), extll.xMaximum(), 
                       extll.yMinimum(), extll.yMaximum(), self.specifiedzoom))
         if numtiles > qosmsettings.get(qosmsettings.MAX_TILES):
             log("too many tiles for fixed zoom layer!: %s" % numtiles)
             self.rendererrors += 1
             return None
         else:
             return self.specifiedzoom