1,arcgis_for_javascript的使用方式
arcgis_for_javascript有两种使用方式,AMD和ES
其中AMD方式是用的require(),适合于dojo或者没使用前端框架
如果使用VUE等前端框架,则需要使用ES的方式,用的是import方式
2,在vue中使用arcgis_for_javascript
安装 :
npm install @arcgis/core
使用:
import "@arcgis/core/assets/esri/themes/light/main.css"
import Map from "@arcgis/core/Map"
import TileLayer from "@arcgis/core/layers/TileLayer"
import MapImageLayer from "@arcgis/core/layers/MapImageLayer"
import MapView from "@arcgis/core/views/MapView"
import FeatureLayer from "@arcgis/core/layers/FeatureLayer"
3,初始化的Map,无法赋值给data属性
可以看出,赋值后,变成了Proxy对象,解决的办法是不要在data中提前声明。
4.内网部署
以上虽然可以打开地图,但是,我的需求是部署在内网中,在内网中部署后发现会报错误,请求的还是arcgis的在线地址。问了朋友才知道,还需进行以下操作
1.在package.json包中 安装依赖包 "ncp": "^2.0.0";npm install [email protected] --save
2.在package.json中加入script命令 "copy": "ncp ./node_modules/@arcgis/core/assets ./public/assets"
运行ncp命令,会将arcgis的包拷贝到项目目录 npm run ncp
3.在main.js主程序中引入配置文件,设置配置目录
import esriConfig from "@arcgis/core/config.js"
esriConfig.assetsPath = "./assets"
以上就完成了内网配置
在显示选项卡上,将图层在内容列表中向上或者向下拖动。
将要放置图层的位置处会显示一条黑线。
释放鼠标键将图层放置到新的位置。
通常,各注记图层将按照它们在内容列表中的显示顺序绘制到地图中,这可能会导致注记被隐藏在其他图层之下。但是,您也可以选择将注记图层始终绘制到其他图层上方。要执行此操作,请打开该注记图层的图层属性对话框,单击显示选项卡,然后取消选中以此图层在内容列表中相对于其他图层的顺序绘制此图层。如果取消选中此选项,则即使注记图层位于内容列表的底部,也会始终将其绘制在其他图层之上。如果地图中存在多个注记图层,则这些注记图层的绘制顺序将取决于它们在内容列表中的相对位置。