2017Esri开发竞赛ArcGIS JavaScript开发技术答疑 整理(07月12日)

0
分享 2017-07-14
1.问:请问通过ArcGIS API for JavaScript 如何实现点击一个县,能够获取到这个县的名称?
答:使用identifytask进行查询,或者使用弹出窗口。

2. 请问一下自己发布的服务如何加密啊?
答:登陆站点的manager,对服务进行安全性设置,设置为只允许某些角色访问。
追问:我可以设置密码访问码?比如我访问某个服务,必须先输入密码,角色访问的话, 
答:设置为某些角色可见之后,用户如果访问这个服务,是需要提供用户名和密码的。但是大多数时候,我们在应用程序中访问安全服务,会使用代理文件或者token,来避免用户进行登陆,这样用户体验会更好。
追问:服务器怎么知道,前台访问的角色呢?
答:前端访问服务时填写的是站点中的用户信息。 

3.问:如果我有大量的graphics,会出现卡顿的情况,在ArcGIS API for JavaScript中,如何解决这类问题啊?
答:受前端浏览器性能的限制,客户端加载显示大量的要素会出现卡顿的现象。常用的解决方法是,使用地图服务,从而把渲染放在服务器端进行;使用featurelayer,设置显示模式(如按需加载),调整要素概括的程度等。
追问:如果我这些图形会变化呢?如果使用地图服务,不就图形写死了吗?
答:服务器端支持地图服务动态更改渲染和增加新的图层。如果要更改图层中的要素,可以和要素服务结合使用 。

4.问: 我想请问一下,ArcGIS API for JavaScript能不能实现二三维场景的联动,就是我在漫游三维场景的时候,二维的地图也会实现漫游。
答:可以实现二三维地图的联动,参见在线示例:https://developers.arcgis.com/ ... .html

5.问:ArcGIS API for JavaScript能够实现查询多边形邻接这个拓扑关系的功能吗?也就是说,我的图层里有很多多边形,我在一个输入框里填写5,点击确定,则图层中五个邻接的多边形就高亮显示了 
答:你的需求其实是要完成几何查询。可以通过query完成,在query对象中设置输入要素和空间关系 。

6.问:发布地图服务失败,报错信息为:服务器未做好准备,请检查服务器上的发布工具(系统/发布工具)是否已启动,这个问题怎么解决?
答:登陆站点manager,检查下system目录中的PublishingTools服务是不是启动状态,如果没有启动,就启动一下,并查看是否能够正常启动。
追问:站点manager不能登陆,发现server系统服务是停止状态,点击启动过了两秒就自己停止了。
答:检查一下ArcGIS Server的安装日志 ,把安装目录(默认是C:\Program Files\ArcGIS\Server\framework\etc\service\logs)中的service.log和service_error.log文件删除掉,然后重新启动server系统服务,查看新产生的service.log和service_error.log文件,看一下里面的错误信息。(通过查看这两个文件,得到错误信息:ERROR: Unexpected exception: com.esri.arcgis.discovery.json.JSONException: A JSONObject text must begin with '{' at character 1 of,通过替换安装目录中出错的JSON文件后server系统服务可以启动)。

7.问:在发布featureAccess时要先连接数据库吗?
答:对,发布要素服务,数据需要存储在数据库中(该数据库需要注册到站点中)。不过,如果站点有托管的数据库,数据源不存储在数据库中也可以,发布服务时,server会自动将数据拷贝到托管的数据库中。
追问:如果我要在图层中添加一些形状,比如增加道路,那么属性表里的字段可以同时更新吗,有相关的函数方法设置吗
答:可以更新。在ArcGIS API for JavaScript中可以通过featurelayer的applyedits方法或者编辑widget进行要素的增删改,参见https://developers.arcgis.com/ ... edits

8.问:您好,使用Editor进行空间数据编辑的怎么实现用户只能修改创建的要素而不能修改全部的要素呢? 
答:可以实现,操作和介绍参考:https://server.arcgis.com/zh-c ... s.htm

9.问:想要通过ArcGIS API for JavaScript进行空间查询,是否需要使用空间数据库?
答:无论数据存储在哪里,比如文件夹,gdb,或者sde中,发布服务后都可以进行查询。

10.问:我定义了一个查询,查询返回的要素在graphicslayer中进行显示,发现点位置偏移了。
答:服务用的是自定义的坐标系吗?推测是要素的坐标没有正确转到指定的输出坐标系中。看一下rest请求返回结果中的几何信息或者在控制台输出一下要素的坐标信息检查一下。

11.问:Arcgis API for JavaScript支持影像服务动态渲染来进行时态播放吗?
答:可以,需要使用镶嵌数据集并启用时间属性,参考在线示例:https://developers.arcgis.com/ ... .html

12.问:怎么实现固定级别缩放,就是鼠标滚轮只能缩放到固定的几个级别?
答:可以在map对象的时候设置lods属性。

13.问:请问站点建立遇到这样的错误怎样解决呢?

image001.jpg

 
答:之前遇到过如果机器名使用了中文,创建站点时会出现这个错误。所以可以检查下机器名称,如果使用了中文,请删除之前产生的arcgisserver文件夹,然后修改计算机名称为英文,再创建站点。如果不是这种情况,请使用文本编辑器打开<ArcGIS Server 安装目录>usr\logs\<计算机名>\server目录中的日志,以获取有关该问题的详细信息。

14.问:在ArcGIS API for JavaScript中通过二三维切换后,平面上的点如何在三维界面上也进行展示?或者说 API 现在可以实现吗? 
答:你的问题是,二维的要素类是否可以在场景中显示?可以的。

15.问: 发布地图服务时这里显示正在停止,然后发布工具显示的已关闭。 

image002.png


答: 站点存在异常,需要通过日志确认错误信息。可以先从安装目录(默认是C:\Program Files\ArcGIS\Server\framework\etc\service\logs)中的service.log和service_error.log文件入手,检查server系统服务启动过程中是否有错误产生。

0 个评论

要回复文章请先登录注册