graphicslayer 中的graphic如何随map缩放的同时缩放?

graphicslayer 中的graphic如何随map缩放的同时缩放?现在arcgis api for js 3.X中是默认的map先缩放(动态图层 瓦片图层等先缩放),缩放后graphicslayer 中的graphic再跟着缩放,如何设置使绘制图层随map实时缩放呢?
已邀请:

swaggyP - 网络粉刷匠

赞同来自:

本身就是随map缩放的,因为本身他是前端进行绘制,所以会比瓦片等慢,之所以你会看到是本身arcgis js 的一个设计,会让你有一种不突兀的缩放感,不会先消失后绘制、

风雨里追赶 - 90后it男

赞同来自:

遮罩.gif

 

邵明升

赞同来自:

试试这个方法:1.生成mask图片
     
     1).在ArcMap中加载要当面mask图层的面要素类;

     2).在ArcMap中使用polygon to raster工具,将面要素类转换为栅格数据,Cellsize参数的值设置的小一点,否者生成的栅格数据单元格太大,非常粗糙;

     3).在ArcMap中加载转换好的栅格数据,进行符号化,例如可以进行分级渲染,分为一个级别,整个栅格图层设置为同一种颜色;

     4). 在渲染好的图层上右键,选择数据 -》 导出数据,在export raster data窗口中,勾选Use Render和Force RGB, 导出的图片格式设置为png, 如图:https://www.screencast.com/t/6s2M1qVW17o

     5). 在ArcMap中加载png数据,右键图层,选择属性,在Extent选项卡中获取extent信息(程序中会用到此信息);
     
     6).可以将png图片拷贝至web服务器或者应用程序目录中,以获得图片的url;
  

2.在JavaScript API中使用 MapImageLayer 对象调用mask图片

     代码示例如下:
    

    require([
    "esri/map",
    "esri/layers/MapImage",
    "esri/layers/MapImageLayer"
], function (Map, MapImage, MapImageLayer) {

   var map = new Map("mapDiv", {
        sliderOrientation: "horizontal"
    });

    var mi = new MapImage({
        'extent': {
            'xmin': 70.36501693725586,
            'ymin': 11.6401254937456,
            'xmax': 138.16777420043945,
            'ymax': 79.4428827569292,
            'spatialReference': {'wkid': 4214}
        },
        'href': "http://192.168.100.117/mask.png"
    });

    var mil = new MapImageLayer();

    mil.addImage(mi);
    
    map.addLayer(mil);
    
});

要回复问题请先登录注册