2018Esri开发竞赛 移动开发技术答疑 整理(07月11日)
分享
2018Esri开发竞赛 移动开发(Android为主)技术答疑 整理(7月11日)
1. 问:ArcGIS Runtime SDK for Android可以调用在线的高德地图么?
答:这取决于高德服务是以什么方式提供的。如果是传统的栅格切片的方式,可以通过扩展实现,如果是矢栅结合的话,那就不可以。
2. 问:ArcGIS Runtime SDK for Android如果加载大批量的数据 ,会有卡慢的现象吗?
答:大批量数据的话,需要注意加载的方式。比方说,我们以矢量和栅格混合的方式,在小比例级别用tpk,在大比例级别tpk invisible,直接加载runtime geodatabase,100.x系列上提供了Scale的监听事件,所以实现起来还是比较容易的。例如你加载100w的数据,在小比例级别Android端并不会自动抽稀,那么加载后内存会立刻飙升,那么绘制必然会慢,就是所谓的卡慢现象。所以得调整加载的方式和流程。其次,你可以用vtpk的方式,但是vtpk的前期制作非常重要。可能需要手动或通过自动化处理进行前后各个比例级别的抽稀,否则,显示也是存在卡顿和异常的。另外,加载速度和设备本身存在关系。如内存,cpu等,可以通过Android端提供的监控界面查看。最后,在渲染方式上,对于单个图层,如果不经常变化的话,可以设置渲染方式为static而不是dynamic。
3. 问:目前移动地图包mmpk只能通过ArcGIS pro构建吗?
答:对的,也可以通过Arcmap单独创建你自己的runtime geodatabase,tpk,或vtpk。mmpk就是对各种格式的组合。
追问:我用arcmap10.6构建的地图包依然可以供移动端调用吧,可能性能上没有arcgis Pro的mmpk好吧?
答:如果您的mmpk包含的是同一个tpk,理论上加载方面的差别不会特别大。您可以解压mmpk看一下。另外,对比一下mmpk和tpk的文件大小以及分别运行时设备的CPU和内存的差别。
4. 问:如图是什么情况,是版本不匹配吗?直接java可以实现,用gradle却不行了。
答:应该是需要翻墙。或者您直接把这个zip包下载后,放置到C盘默认位置下;您可以去网上搜索一下手动配置gradle的教程。
5. 问:请问我自己发布的地理编码,为什么Suggestions无法出现,而官方提供的地理编码却可以。如图是我发布的地理编码,size为0。
答:Android端发送的请求必然是到服务器端的,所以我建议您配置Fiddler跟踪一下请求,从请求参数和响应中查看,看看是否能够查找到问题。
追问:Fiddler是配置在server上吗?
答:对,然后在Android设备上设置代理,通过电脑上的Fiddler监控。您可以直接到网上查Fiddler对Android应用抓包相关的主题。
感谢武汉理工大学张东同学的整理。
1. 问:ArcGIS Runtime SDK for Android可以调用在线的高德地图么?
答:这取决于高德服务是以什么方式提供的。如果是传统的栅格切片的方式,可以通过扩展实现,如果是矢栅结合的话,那就不可以。
2. 问:ArcGIS Runtime SDK for Android如果加载大批量的数据 ,会有卡慢的现象吗?
答:大批量数据的话,需要注意加载的方式。比方说,我们以矢量和栅格混合的方式,在小比例级别用tpk,在大比例级别tpk invisible,直接加载runtime geodatabase,100.x系列上提供了Scale的监听事件,所以实现起来还是比较容易的。例如你加载100w的数据,在小比例级别Android端并不会自动抽稀,那么加载后内存会立刻飙升,那么绘制必然会慢,就是所谓的卡慢现象。所以得调整加载的方式和流程。其次,你可以用vtpk的方式,但是vtpk的前期制作非常重要。可能需要手动或通过自动化处理进行前后各个比例级别的抽稀,否则,显示也是存在卡顿和异常的。另外,加载速度和设备本身存在关系。如内存,cpu等,可以通过Android端提供的监控界面查看。最后,在渲染方式上,对于单个图层,如果不经常变化的话,可以设置渲染方式为static而不是dynamic。
3. 问:目前移动地图包mmpk只能通过ArcGIS pro构建吗?
答:对的,也可以通过Arcmap单独创建你自己的runtime geodatabase,tpk,或vtpk。mmpk就是对各种格式的组合。
追问:我用arcmap10.6构建的地图包依然可以供移动端调用吧,可能性能上没有arcgis Pro的mmpk好吧?
答:如果您的mmpk包含的是同一个tpk,理论上加载方面的差别不会特别大。您可以解压mmpk看一下。另外,对比一下mmpk和tpk的文件大小以及分别运行时设备的CPU和内存的差别。
4. 问:如图是什么情况,是版本不匹配吗?直接java可以实现,用gradle却不行了。
答:应该是需要翻墙。或者您直接把这个zip包下载后,放置到C盘默认位置下;您可以去网上搜索一下手动配置gradle的教程。
5. 问:请问我自己发布的地理编码,为什么Suggestions无法出现,而官方提供的地理编码却可以。如图是我发布的地理编码,size为0。
答:Android端发送的请求必然是到服务器端的,所以我建议您配置Fiddler跟踪一下请求,从请求参数和响应中查看,看看是否能够查找到问题。
追问:Fiddler是配置在server上吗?
答:对,然后在Android设备上设置代理,通过电脑上的Fiddler监控。您可以直接到网上查Fiddler对Android应用抓包相关的主题。
感谢武汉理工大学张东同学的整理。
0 个评论
推荐内容
相关问题
- gis开发群的管理不讲理,求围观。
- 请问大家学习AE开发都参考了哪些资料?
- arcgis runtime for andriod 100.1 如何使用eclipse开发
- 怎样自学遥感和GIS一体化开发,或者说需要哪些基础?
- C#+AE开发,IFeature转IPoint失败?
- Desktop Addin(.NetFramework)开发如何读取附加的数据?
- 按照Engine+开发手册ArcEngine_10.0_C#二次开发编写的鹰眼的代码,运行时鹰眼不显示!
- ArcGIS开发的现状可以介绍下吗?无论桌面端还是Web端。
- 请问如何在C# ArcEngine开发中调用GP工具处理后将数据保存到到任意位置?并读取?
- CityEngine做的三维环境可以在移动端显示吗?
- javascript api for gis 开发环境配置