예제 #1
0
def scaleDependentLabelScript(layer, layerName):
    pal = QgsPalLayerSettings()
    pal.readFromLayer(layer)
    sv = pal.scaleVisibility
    if sv:
        min = scaleToZoom(pal.scaleMin)
        max = scaleToZoom(pal.scaleMax)
        scaleDependentLabel = """
            if (map.hasLayer(layer_%(layerName)s)) {
                if (map.getZoom() <= %(min)d && map.getZoom() >= %(max)d) {
                    layer_%(layerName)s.eachLayer(function (layer) {
                        layer.openTooltip();
                    });
                } else {
                    layer_%(layerName)s.eachLayer(function (layer) {
                        layer.closeTooltip();
                    });
                }
            }""" % {
            "min": min,
            "max": max,
            "layerName": layerName
        }
        return scaleDependentLabel
    else:
        return ""
예제 #2
0
def scaleDependentLayerScript(layer, layerName):
    min = layer.minimumScale()
    max = layer.maximumScale()
    scaleDependentLayer = """
    if (map.getZoom() <= {min} && map.getZoom() >= {max}) {{
        feature_group.addLayer(json_{layerName}JSON);
    }} else if (map.getZoom() > {min} || map.getZoom() < {max}) {{
        feature_group.removeLayer(json_{layerName}JSON);
    }}""".format(min=scaleToZoom(min), max=scaleToZoom(max), layerName=layerName)
    return scaleDependentLayer
예제 #3
0
def scaleDependentLayerScript(layer, layerName):
    min = layer.minimumScale()
    max = layer.maximumScale()
    scaleDependentLayer = """
    if (map.getZoom() <= {min} && map.getZoom() >= {max}) {{
        feature_group.addLayer(json_{layerName}JSON);
    }} else if (map.getZoom() > {min} || map.getZoom() < {max}) {{
        feature_group.removeLayer(json_{layerName}JSON);
    }}""".format(min=scaleToZoom(min), max=scaleToZoom(max),
                 layerName=layerName)
    return scaleDependentLayer
예제 #4
0
def scaleDependentLayerScript(layer, layerName, cluster):
    min = layer.minimumScale()
    max = layer.maximumScale()
    if cluster:
        layerType = "cluster"
    else:
        layerType = "layer"
    scaleDependentLayer = """
            if (map.getZoom() <= {min} && map.getZoom() >= {max}) {{
                map.addLayer({layerType}_{layerName});
            }} else if (map.getZoom() > {min} || map.getZoom() < {max}) {{
                map.removeLayer({layerType}_{layerName});
            }}""".format(min=scaleToZoom(min), max=scaleToZoom(max),
                         layerName=layerName, layerType=layerType)
    return scaleDependentLayer
예제 #5
0
def scaleDependentLabelScript(layer, layerName):
    pal = QgsPalLayerSettings()
    pal.readFromLayer(layer)
    sv = pal.scaleVisibility
    if sv:
        min = scaleToZoom(pal.scaleMin)
        max = scaleToZoom(pal.scaleMax)
        scaleDependentLabel = """
            if (map.hasLayer(layer_%(layerName)s)) {
                if (map.getZoom() <= %(min)d && map.getZoom() >= %(max)d) {
                    layer_%(layerName)s.eachLayer(function (layer) {
                        layer.showLabel();
                    });
                } else {
                    layer_%(layerName)s.eachLayer(function (layer) {
                        layer.hideLabel();
                    });
                }
            }""" % {"min": min, "max": max, "layerName": layerName}
        return scaleDependentLabel
    else:
        return ""