ArcGIS for JS argis地图限度显示不规则区域
dojoRequire(["esri/map", "esri/geometry/Point", "esri/layers/ImageParameters", "esri/layers/ArcGISDynamicMapServiceLayer", "esri/layers/GraphicsLayer", ], (Map, Point, ImageParameters, ArcGISDynamicMapServiceLayer,GraphicsLayer) => { //办法一 var map = new Map("map", { basemap: "satellite", center: [113.36112, 23.12467], zoom: 11, }); var imageParameters = new ImageParameters(); imageParameters.format = "PNG24"; var dynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer("http://cache1.arcgisonline.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer", { "opacity" :1.0, "imageParameters":imageParameters }); map.addLayer(dynamicMapServiceLayer); var canvas=document.getElementById("myCanvas"); var context=canvas.getContext("2d"); canvas.width = width canvas.height = height context.fillStyle="#fff"; context.fillRect(0,0,width,height); axios.get(`/borderAll/test.json`).then( function (gzJson) { var data=gzJson.data; context.globalCompositeOperation='destination-out'; for (var item of data) { var [lon, lat] = item var [left,top] = this.lngLat2Vector2(lon,lat) context.lineTo(left, top); } context.fillStyle="green"; context.fill(); }.bind(this) ); })<div> <div id='map' style={{height:window.innerHeight-50,width:'100%',position:'relative'}}></div> <canvas id="myCanvas" className='shadediv' /> </div>
test.json为不规则门路的边界经纬度