portal mapviewer中如何自定义符号?

已邀请:

lihubadboy

赞同来自:

Portal中对于地图注释模板有一个专门的Portal Item 类型 叫做 Feature Collection Template,但是不能在portal的界面上直接创建这种类型,所以需要编码调用addItem接口来创建。
这个类型在Portal的REST接口文档里面明确说了就是Text/JSON类型,所以就是个文本类型。
 

附件的template.py文件是创建模板Item的一个简单脚本,这里面的关键就是JSON的内容,也就是创建完以后通过<item-url>/data获取到的实际的模板内容。所以最后定制的就是这个JSON里面的内容。

能定制的内容包括:
1. 显示的分组,每个分组在JSON里面是一个Feature Layer
2. 每个分组里面的要素,包括名称,Symbol,如果是点Symbol还可以定制图片图标
3. 每个要素Popup出来的可编辑的Fields

定制的SimpleMarkerSymbol 图片放到<Portal安装目录>/webapps/docroot/images/Symbols下面,我在nanping服务器上创建了一个目录叫Custom,JSON里面的图片路径指向自己的图片就行了。
路径是: http://nanping.arcgisonline.cn ... stom/**.png
Portal在添加地图注释的Dialog里面是查询的一个内置的group,属于用户esri_zh,我尝试过,没办法把自己创建的template共享到这个分组里面去,所以,定制的地图注释模板不能直接加到Portal原生的窗口里面去。
需要开发自己的UI,不过好在这都不算事,因为最终调用定制的template只需要一句代码:
arcgisonline.map.mapNotes.getMapNotesConfig('1a307c2c7edf41e298b8b87c282cebd1', '测试面包蛋糕')
后面的编辑,保存,包括修改符号都走Portal自己的逻辑,完全兼容。

要回复问题请先登录注册