【问题标题】:Setting predefined zoom levels设置预定义的缩放级别
【发布时间】:2013-09-07 05:00:54
【问题描述】:

我想知道如何在 arc gis 地图中设置预定义的缩放级别。我的最终目标是如果用户缩小超过 5 级关闭标签。否则,第 4 级下的每件事都会显示标签。我已将缩放级别设置为 7,并且初始加载它可以正常工作。但是当我将缩放级别记录到控制台时,我得到 -1 和没有预定义缩放级别的描述。显然我在这里遗漏了一些东西,但是日志不会显示 7 的缩放级别,因为这是为地图定义的?

    function init() {        

    esri.config.defaults.io.proxyUrl = WebRoot + "proxy.ashx ";


    map = new esri.Map("mapDiv", {
        basemap: "gray",
        sliderStyle: "large",
        center: [-95.625, 39.243],
        nav: false,
        logo: false,
        zoom: 7
    });//end base map

    //create feature layer
    fl = new esri.layers.FeatureLayer(app.regionMap, {
        mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,            
        outFields: ["FIPS"],
        opacity: 0.3,
        visibile: true
    });//ends feature layer

    //add feature layer to map
    map.addLayer(fl);

【问题讨论】:

    标签: javascript arcgis esri arcgis-server arcmap


    【解决方案1】:

    您需要设置 LOD 或细节级别。这是初始化map时options中提供的数组,如documentation.所示

    您可以从加载的平铺地图图层中提取 LOD,如 this sample,或自己定义它们,例如:

    _LODS : [
    {"level" : 0, "resolution" : 156543.033928, "scale" : 591657527.591555}, 
    {"level" : 1, "resolution" : 78271.5169639999, "scale" : 295828763.795777}, 
    {"level" : 2, "resolution" : 39135.7584820001, "scale" : 147914381.897889}, 
    //...etc
    ]
    

    【讨论】:

    • 是的,我确实看到了,但这张地图不是平铺地图,所以正在寻找另一个解决方案
    • 在我的脑海中,我认为可能永远不会定义级别除非您加载了平铺地图服务......?啊,我们在这里:linky,假设您使用的是.getLevel()
    • 是的,使用 get level 它们从未定义,但我需要在 update-end 方法中访问该级别,然后我可以定义 maxLevel 和 minLevel 并执行我需要的任何操作。我花了一整天才弄明白。不得不回到它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    • 2011-08-23
    • 2021-10-10
    • 1970-01-01
    • 2011-05-07
    相关资源
    最近更新 更多