ArcGIS Runtime SDK for Android

ArcGIS Runtime SDK for Android

Android端对于离线的支持

喝前 回复了问题 • 3 人关注 • 3 个回复 • 1857 次浏览 • 2020-09-04 14:39 • 来自相关话题

Android端对于离线的支持

arcgis runtime sdk for android 系列 - 在100.X系列中实现加载福建天地图

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 239 次浏览 • 2020-05-22 16:45 • 来自相关话题

基本思路:

使用WebTiledLayer来加载福建天地图,要根据加载的地图获取正确的范围和比例尺。
 

关键技术点:

主体代码是参考张工加载国家天地图,需要将其中的范围改成福建正确范围。


具体实现步骤:

以这个福建天地图的地址作为下面讲解的示例:

http://service.fjmap.net/vec_fj/wmts/1.0.0/WMTSCapabilities.xml 

根据

arcgis runtime sdk for android 系列 - 让用户知道地图在加载的友好界面

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 174 次浏览 • 2020-05-22 15:34 • 来自相关话题

安卓开发最终呈现的是一个与用户交互很强的界面,所以让用户在使用的过程中,知道程序在做什么有时候也很重要。

拿地图加载渲染来讲,有时候用户操作过于频繁,或者网络原因延迟,可能导致地图无法即刻完成操作。这个时候可以考虑引入一个效果,让用户知道,地图在加载。

随着智能应用普及,多年的用户习惯了某些展示效果。

以下这段代码,就利用了安卓原生API的代码,展示了一个圆圈的进度条,先看展示效果:

请教android for arcgis 中编辑shape文件,删除要素后,在arcmap下查看该记录还在,但报错绘制错误

回复

Runtime SDKJimmyJi 回复了问题 • 1 人关注 • 1 个回复 • 183 次浏览 • 2020-05-12 09:24 • 来自相关话题

ArcGIS Runtime SDK for Android中删除要素,使用 deleteFeatureAsync方法,会导致shp数据无法再加载到arcmap中,各位大神有解决的吗?

arcgis runtime sdk for android 系列 - 加载地形数据小结

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 378 次浏览 • 2020-04-07 17:13 • 来自相关话题

三维场景中有时候需要使用地形图,展现真实感。

 这篇文章就总结一下现在安卓端支持的加载地形图的方式。
 
包括两种加载离线地形数据和一种在线地图服务方式。
 
1. 直接在安卓端加载影像数据,支持的格式:

ASRP/USRP
CIB1, 5, 10
DTED0, 1, 2
GeoTIFF
HFA
HRE
IMG
JPEG
JPEG 2000
NITF
PNG
RPF
SRTM1, 2

关键代

arcgis runtime sdk for android 系列 - 如何添加一个要素服务下的所有图层

Runtime SDK勾戈雪黎 发表了文章 • 1 个评论 • 298 次浏览 • 2020-03-09 15:11 • 来自相关话题

目的:

在安卓程序中添加一个要素服务下的所有图层。
 

实现步骤分解:
 
首先获取要素服务对应的地图服务的sublayer list;然后遍历sublayer list 初始化所有的要素图层。
 
 
实现代码:
 
//获取sublayer list

String baseUrl = "http://sampleserver6.arcgisonl ... 3B%3B

mMap

arcgis runtime sdk for android 系列 - 如何在安卓应用中使用谷歌地图

Runtime SDK勾戈雪黎 发表了文章 • 1 个评论 • 361 次浏览 • 2020-03-09 15:09 • 来自相关话题

目的:

在安卓程序中使用谷歌地图


关键技术点:
 
runtime sdk for android 中使用的关键类是 webtiledlayer;谷歌地图的加载template URI如下:
"http://{subDomain}.google.cn/vt/lyrs=s@142&hl=zh-CN&gl=CN&src=app&x={col}&y

详细解析在安卓端访问arcgis enterprise加密服务3-场景2

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 255 次浏览 • 2020-02-14 16:21 • 来自相关话题

如果理解了场景一,场景二也非常容易理解和实现。

场景二是结合使用user login 和token两个方式来实现安卓端访问加密服务。

场景二适用的要求:portal 中的数据保密,将其设置为有限的人员可见。服务器端验证走token方式。

环境满足条件:一套现有的arcgis enterpise,且给用户分配了账户。

如果你只使用arcgis server,需要用户登录才能看见加密服务,那么

使用 Arcgis Runtime SDK for Android 10.2.9 解析离线 ShapeFile .shp 文件得到的Feature中的date类型字段的值是错误的!

Runtime SDKJUSTINGBB 回复了问题 • 2 人关注 • 1 个回复 • 1248 次浏览 • 2020-01-10 11:06 • 来自相关话题

使用 Arcgis Runtime SDK for Android 10.2.9 解析离线 ShapeFile文件得到的Feature中的date类型字段的值是错误的,比正常值大。
在pc上使用ArcMap 10.3打开.shp文件,打开属性表,发现 date 类型的字段 CLRQ 值为 2018/7/26:







在Android app代码中使用SDK中的 FeatureTable.

ArcGIS Runtime SDK for Android 100.3.0 怎么加载涉密非公开图层!!!!

Runtime SDK李文华 回复了问题 • 2 人关注 • 2 个回复 • 978 次浏览 • 2019-06-03 21:05 • 来自相关话题

有没有类似ArcGIS API for JavaScript 带token加载方式,如下代码:esriId.registerToken({
     token: tokens.token,
     expires: tokens.expires,
     ssl: tokens.ssl,
     server: token.server
});

android 线边界压盖不显示改变颜色

Mobile天空树快递 回复了问题 • 2 人关注 • 1 个回复 • 1331 次浏览 • 2019-05-14 19:15 • 来自相关话题

图层中图斑边框默认是蓝色边框,选中图斑时,图斑边框变为红色,但是有条边也属于另一个图斑,导致这个边不能变为红色颜色(实际上是蓝色覆盖红色,导致不能显示)

arcgis for android 100.5 FeatureTable.addFeaturesAsync 无效

回复

Runtime SDKljk761626336 发起了问题 • 1 人关注 • 0 个回复 • 762 次浏览 • 2019-04-29 16:12 • 来自相关话题

在使用arcgis for androidd 100.5 是两个图层中间进行复制数据 调用FeatureTable.addFeaturesAsync 无效  新增图斑可以   原有图斑不能复制
条新动态, 点击查看
以 ArcGIS for Server 10.1中启用了默认的自签名的Server站点中的服务为例,具体操作步骤如下:
Step 1:登录 ArcGIS for Server 的 Admin 页面导出默认的自签名证书
1) 登录 Admin 页面;
... 显示全部 »
以 ArcGIS for Server 10.1中启用了默认的自签名的Server站点中的服务为例,具体操作步骤如下:
Step 1:登录 ArcGIS for Server 的 Admin 页面导出默认的自签名证书
1) 登录 Admin 页面;
2)点击 Machines -> [机器名] -> sslcertificates -> selfsignedcertificate -> export 导出默认的自签名证书 SelfSignedCertificate.cer
Step 2:利用 KeyTool IUI 将 Step1中导出的自签名证书转换为 Android支持的BKS编码格式
1)打开 KeyTool IUI;
2)点击 View -> Select Task -> Create -> Keystore 打开 Create keystore 界面,选择 BKS 编码格式,选择 Keystore 文件的保存位置,可选地设置密码,完毕后点击 OK;
3)点击 View -> Select Task -> Import Keystore'entry -> Trusted certificate -> Regular certificate 在打开的对话框中设置 Source 和 Target。对于 Source,选择 DER,输入Step1 中导出的 cer 文件;对于 Target,勾选 BKS 编码格式,选择2)中创建的空的Keystore文件,可选地输入对应的密码;
4)点击Ok,一路确定获得最后的 bks 文件,如 myserversite.bks
在 ArcGIS for Android 应用程序中,将 myserversite 放置在 res下的 raw 新建文件夹中, 输入如下代码片段:
KeyStore keyStore = KeyStore.getInstance("BKS");
InputStream is = this.getResources().openRawResource(R.raw.myserversite);
keyStore.load(is, "***".toCharArray()); //此处的***是创建 bks 文件时所输入的密码。如果未设置密码,此处直接设为""
UserCredentials.setTrustStore(keyStore);
而后即可执行服务的加载。
【解决办法】:
由于Android客户端在向服务器端发送请求时,提交的图片格式的形式是format=png,这种形式下无法获取透明度的通道,因而导致无法获取具有透明度的返回结果。
建议
1)调用ArcGISDynamicMapServieLayer中的setO... 显示全部 »
【解决办法】:
由于Android客户端在向服务器端发送请求时,提交的图片格式的形式是format=png,这种形式下无法获取透明度的通道,因而导致无法获取具有透明度的返回结果。
建议
1)调用ArcGISDynamicMapServieLayer中的setOpacity方法。
2)重写ArcGISDynamicMapServiceLayer这个类的getImage(int width, int height, Envelope extent)方法。在这一方法中,重新发送请求,并确保请求参数中的png设置为png32。如下所示:
http://192.168.100.83:6080/arcgis/rest/services/chinas/MapServer/export?f=image&transparent=true&bboxSR=102100&imageSR=102100&bbox=1.1033475686340982E7%2C1588466.7357099324%2C1.3761912825307174E7%2C5505698.583164514&format=png32&size=407.75208%2C585.4118&dpi=96
张赛

张赛 回答了问题 • 2015-12-05 03:17 • 2 个回复 不感兴趣

2G网络服务访问延迟的情况下背景是黑色

赞同来自:

【解决办法】:
2G网络下,由于网速的问题,导致服务无法快速请求,从而在未获取到地图范围和空间参考的情况下,地图背景显示为黑色。 
这一情况可通过断网的方式浮现。在断网的情况下,地图控件可以正确加载,但是由于未实现地图的初始化从而导致整个背景未能正确显示白色格... 显示全部 »
【解决办法】:
2G网络下,由于网速的问题,导致服务无法快速请求,从而在未获取到地图范围和空间参考的情况下,地图背景显示为黑色。 
这一情况可通过断网的方式浮现。在断网的情况下,地图控件可以正确加载,但是由于未实现地图的初始化从而导致整个背景未能正确显示白色格网。 这一黑色背景的问题,已经以软件改进的类别向Esri提交过Incident,但是目前一直未得到修改。 
关于这一问题的折中方案如下: 
在网络无法得到保障的情况下,仅在本地放置低级别的缓存,以直接加载本地的离线缓存。或通过对网络处于2G\3G状态的信息进行判断,以对用户做出提示。关于2G、3G或WIFI等网络状态的获取,请利用Android SDK自身的ConnectivityManager来获取。
张赛

张赛 回答了问题 • 2015-12-24 00:43 • 3 个回复 不感兴趣

Android端对于离线的支持

赞同来自:

【解决办法】:
Android端对于离线的支持主要分为两大方面:(1)离线的底图数据和(2)离线的业务数据。

对于离线的底图数据,通常以离线缓存包的形式即tpk方式提供,通过ArcGIS Runtime SDK for Android 中的ArcGISLoc... 显示全部 »
【解决办法】:
Android端对于离线的支持主要分为两大方面:(1)离线的底图数据和(2)离线的业务数据。

对于离线的底图数据,通常以离线缓存包的形式即tpk方式提供,通过ArcGIS Runtime SDK for Android 中的ArcGISLocalTiledLayer类进行加载;

对于离线的矢量数据,可以通过shapefile和离线.geodatabase两种形式提供。Shapefile方式下,只能进行离线的查看和查询,而且需要以代码的方式在前端进行渲染,数据的加载可通过ShapefileFeatureTable类实现;geodatabase方式下,如果以桌面模式创建的geodatabse,则只能进行查看和查询,而以服务模式创建的geodatabase,则可进一步实现编辑和同步的功能,两者都是通过GeodatabaseFeatureTable类来加载对应的图层或数据。而且,geodatabase形式下,可直接应用用于生成geodatabase的mxd中各图层的符号,以实现各layer的渲染,无需代码的方式完成渲染。

除了上述功能,Android端的离线还实现了对于离线栅格数据的加载,离线网络分析,和离线地址定位器等功能。
先普及一下定位的基础知识:
定位技术大致分为GPS定位、蜂窝基站ID定位和WIFI 位置服务(WPS)定位。 
基站定位,即基于移动运营商的基站的定位,实质就是首先根据手机信号获取基站信息,而后通过第三方公开的基站信息存储库(可能以web service的方式... 显示全部 »
先普及一下定位的基础知识:
定位技术大致分为GPS定位、蜂窝基站ID定位和WIFI 位置服务(WPS)定位。 
基站定位,即基于移动运营商的基站的定位,实质就是首先根据手机信号获取基站信息,而后通过第三方公开的基站信息存储库(可能以web service的方式提供,如google数据;也可能是内置基站信息库,这需要购买第三方的数据库,数据最终是由移动运营商提供)查询到基站的经纬度值,而后再获取手机的具体位置。 
GPS通过读取来自多个卫星的微波信号确定当前位置,只要确保能准确接收到GPS信号即可,不做赘述。而A-GPS使用网络资源来改进独立GPS的性能。 
WIFI定位则根据WIFI连接的MAC地址,通过参考已知服务的提供商及服务区域的大型数据库进行定位。
 
单纯的GPS定位在城市内一般比较困难;
基站定位由于Google服务的问题也将导致很难获取。
一般情况下,通过WIFI定位更容易获取。
因此,您这里的手机定位主要是以哪种为主?
 
上面的回复可能较为片面,细节问题可以再讨论。
【解决办法】:
ArcGIS for Android 10.2.7的API提供了setOrderByFields方法实现对要素服务生成的.geodatabase进行排序,使用该方法的前提需要要素服务本身支持supportedadvancedquery。但是这种... 显示全部 »
【解决办法】:
ArcGIS for Android 10.2.7的API提供了setOrderByFields方法实现对要素服务生成的.geodatabase进行排序,使用该方法的前提需要要素服务本身支持supportedadvancedquery。但是这种方式经过测试无效。可以通过以下示例代码实现在客户端对要素进行排序,但是如果要排序的要素过多,会影响性能:

[code]
private void queryTable() {

String[] outFields = {sortField};

QueryParameters queryParams = new QueryParameters();

queryParams.setOutFields(outFields);

queryParams.setWhere(objectid > 0);

featureTable.queryFeatures(queryParams, new CallbackListener<FeatureResult>(){

@Override

public void onCallback(FeatureResult objs) {

Feature[] arrayToSort = new Feature[(int) objs.featureCount()];

int i = 0;

for(Object object : objs) {

Feature feature = (Feature) object;

arrayToSort[i] = feature;

i++;

}

Feature[] sortedArray = prepareSort(arrayToSort, sortField, true);

for(Feature feature : sortedArray) {

System.out.println(feature.getAttributeValue(sortField));

}

}



@Override

public void onError(Throwable e) {

e.printStackTrace();

}



});

}



private Feature[] prepareSort(Feature[] arrayToSort, String fieldName, boolean ascending) {

try {

Integer.valueOf((String) arrayToSort[0].getAttributeValue(fieldName).toString());

return sortNumberArray(arrayToSort, fieldName, ascending);

}

catch (Exception e){

return sortStringArray(arrayToSort, fieldName, ascending);

}

}



private Feature[] sortStringArray(Feature[] arrayToSort, String fieldName, boolean ascending) {

System.out.println(stringSort);

Feature temp;

for(int i = 0; i < arrayToSort.length; i++) {

for(int j = 1; j < (arrayToSort.length-i); j++) {

if(ascending) {

if(arrayToSort[j-1].getAttributeValue(fieldName).toString().compareToIgnoreCase(arrayToSort[j].getAttributeValue(fieldName).toString()) > 0) {

temp = arrayToSort[j-1];

arrayToSort[j-1] = arrayToSort[j];

arrayToSort[j] = temp;

}

}

else {

if(arrayToSort[j-1].getAttributeValue(fieldName).toString().compareToIgnoreCase(arrayToSort[j].getAttributeValue(fieldName).toString()) < 0) {

temp = arrayToSort[j-1];

arrayToSort[j-1] = arrayToSort[j];

arrayToSort[j] = temp;

}

}

}

}

return arrayToSort;

}



private Feature[] sortNumberArray(Feature[] arrayToSort, String fieldName, boolean ascending) {

Feature temp;

for(int i = 0; i < arrayToSort.length; i++) {

for(int j = 1; j < (arrayToSort.length-i); j++) {

if(ascending) {

if(Double.parseDouble(arrayToSort[j-1].getAttributeValue(fieldName).toString()) > Double.parseDouble(arrayToSort[j].getAttributeValue(fieldName).toString())) {

temp = arrayToSort[j-1];

arrayToSort[j-1] = arrayToSort[j];

arrayToSort[j] = temp;

}

}

else {

if(Double.parseDouble(arrayToSort[j-1].getAttributeValue(fieldName).toString()) < Double.parseDouble(arrayToSort[j].getAttributeValue(fieldName).toString())) {

temp = arrayToSort[j-1];

arrayToSort[j-1] = arrayToSort[j];

arrayToSort = temp;

}

}

}

}

return arrayToSort;

}
【解决办法】:
基于Token认证的安全服务的加载要求token信息包含在每个请求中。
在ArcGIS Runtime SDK for Android中,这类安全服务的加载方式有两种:
1 若知道访问服务所需的用户名和密码,如zssai0/zssai0 Use... 显示全部 »
【解决办法】:
基于Token认证的安全服务的加载要求token信息包含在每个请求中。
在ArcGIS Runtime SDK for Android中,这类安全服务的加载方式有两种:
1 若知道访问服务所需的用户名和密码,如zssai0/zssai0 UserCredentials creds = new UserCredentials();
creds.setUserAccount(zssai0, zssai0 );
//若采用默认的token服务,则可忽略。这里显式地引用了192.168.220.116上的ArcGIS Server自带的token服务
creds.setTokenServiceUrl(http://192.168.220.118:6080/arcgis/tokens);
ArcGISDynamicMapServiceLayer dynamicLayer = new ArcGISDynamicMapServiceLayer(
    http://192.168.220.118:6080/arcgis/rest/services/SampleWorldCities/MapServer,null,creds);




2 若知道访问服务所需的token
2.1 获取token,如下图所示
http://images.esrichina.com.cn/20160425-2.png

http://images.esrichina.com.cn/20160425-1.png
 
注:Android端的token建议唯一识别您的应用程序,可通过在ArcGIS Developer网站上注册应用程序的方式获取应用程序的唯一ID,或采用其他唯一构建的方式。ArcGIS Runtime SDK for Android端对referer的要求不是很严格。我这里采用的比较简单,仅供测试用,如ArcGIS+Android+Client+HelloWorld。 UserCredentials creds = new UserCredentials();
creds.setAuthenticationType(AuthenticationType.TOKEN);
creds.setUserToken(ggKI0tcDIbBGJTrR6W9ETW0qjTJ6eoJ69XcMEW464ymwcK7hFwUbUr4tvieA93id_61Eis8vFu0vDHF9716B1A..,ArcGIS+Android+Client+HelloWorld);
creds.setTokenServiceUrl(http://192.168.220.118:6080/arcgis/tokens/);
ArcGISDynamicMapServiceLayer dynamicLayer = new ArcGISDynamicMapServiceLayer(
http://192.168.220.118:6080/arcgis/rest/services/SampleWorldCities/MapServer, null, creds);


建议下次在知乎上发问的时候,不要像上述提交代码。知乎上主要以解决方案分享和思路提供为主,可能很难腾出时间来测试您的代码的。
对于这一问题,建议您从以下几方面进行测试
1通过调试判断是否进入Callback回调
2查询条件尽可能简化,如只设置 whereClau... 显示全部 »
建议下次在知乎上发问的时候,不要像上述提交代码。知乎上主要以解决方案分享和思路提供为主,可能很难腾出时间来测试您的代码的。
对于这一问题,建议您从以下几方面进行测试
1通过调试判断是否进入Callback回调
2查询条件尽可能简化,如只设置 whereClause为 1=1 以返回所有要素
3输出FeatureResult的个数
 
如果之前有java和android的经验,arcgis runtime sdk for android是比较好上手。
对于arcgis runtime sdk for android的学习,直接参考权威官方帮助文档: https://developers.ar... 显示全部 »
如果之前有java和android的经验,arcgis runtime sdk for android是比较好上手。
对于arcgis runtime sdk for android的学习,直接参考权威官方帮助文档: https://developers.arcgis.com/android/  
其中比较常用的是guide, api reference和sample code这三个模块。可以先从guide模块下手,其中arcgis for android 的主要功能都有提及,可以先入手做个大概的了解;如果想看guide模块里完整的应用,可以去sample code里面找。
另外,现在的成熟版本是10.2.8,但是官方即将推出quartz版本,這个版本有很多亮点,可以参考: https://blogs.esri.com/esri/arcgis/2016/06/20/the-latest-beta-releases-of-the-arcgis-runtime-quartz-sdks-are-now-live/
有一点需要你考虑的就是10.2.8的代码与quartz的代码不同,因为quartz里面的类重写了。但是quartz的最终发布时间不确定。
如果你只是自己学习,那么我建议你直接看quartz的帮助文档,学习最新的技术。
 
 
最新的100.0.0中提供了对于比例级别的监听MapScaleChangedListener。具体参见下面的链接:
https://developers.arcgis.com/android/latest/api-reference/reference/com... 显示全部 »
最新的100.0.0中提供了对于比例级别的监听MapScaleChangedListener。具体参见下面的链接:
https://developers.arcgis.com/android/latest/api-reference/reference/com/esri/arcgisruntime/mapping/view/MapScaleChangedListener.html
对于自定义投影坐标系最简单的获取方式,就是将一个具有自定义坐标系的数据发布成服务,直接从服务的REST页面中即可获取自定义坐标系的wkt形式。不过,貌似记得需要手动进行转义。辛苦你自己测试一下。
关于ArcGIS Runtime SDK对于自定义坐标系的支持方... 显示全部 »
对于自定义投影坐标系最简单的获取方式,就是将一个具有自定义坐标系的数据发布成服务,直接从服务的REST页面中即可获取自定义坐标系的wkt形式。不过,貌似记得需要手动进行转义。辛苦你自己测试一下。
关于ArcGIS Runtime SDK对于自定义坐标系的支持方面,根据我的经验,这个比较弱。至少我记得测试过identify操作就无法识别自定义坐标系。因此,建议不要用自定义坐标系。根据你的说明,建议你可以先通过ArcMap创建一个自定义坐标系下的geodatabase,先看看创建是否报错;而后再测试加载是否报错。
如果上述测试,确实存在错误,那有可能是软件本身的限制。
最后,既然ArcGIS Runtime for Android提供了以wkt方式create空间参考的方法,那么理论上说自定义坐标系是可以支持的。但是,理论和实践确实可能存在偏差,因此,特定的操作还是以测试为主。
张赛

张赛 回答了问题 • 2017-12-14 16:39 • 4 个回复 不感兴趣

arcgis runtime for andriod 100.1 如何使用eclipse开发

赞同来自:

构建Eclipse的Android开发环境;
解压100.1.0的aar文件;
将so文件所在文件夹和ArcGIS SDK 的jar包拷贝过去。

3510
 
构建Eclipse的Android开发环境;
解压100.1.0的aar文件;
将so文件所在文件夹和ArcGIS SDK 的jar包拷贝过去。

3510
 

ArcGIS Runtime SDK for Android 100.3.0加载离线.slpk文件

Runtime SDK张佳期 发表了文章 • 5 个评论 • 1365 次浏览 • 2018-08-09 20:35 • 来自相关话题

需求:
        采用ArcGIS Runtime SDK for Android 100.3.0加载离线slpk文件。关于slpk的介绍,请参考ArcGIS官方介绍http://pro.arcgis.com/zh-cn/pro-app/help/sharing/overview/scene-layer-package.htm
效果图:
ArcGIS Pro中加载slpk文件




An

Android端对于离线的支持

回复

喝前 回复了问题 • 3 人关注 • 3 个回复 • 1857 次浏览 • 2020-09-04 14:39 • 来自相关话题

Android端对于离线的支持

请教android for arcgis 中编辑shape文件,删除要素后,在arcmap下查看该记录还在,但报错绘制错误

回复

Runtime SDKJimmyJi 回复了问题 • 1 人关注 • 1 个回复 • 183 次浏览 • 2020-05-12 09:24 • 来自相关话题

ArcGIS Runtime SDK for Android中删除要素,使用 deleteFeatureAsync方法,会导致shp数据无法再加载到arcmap中,各位大神有解决的吗?

使用 Arcgis Runtime SDK for Android 10.2.9 解析离线 ShapeFile .shp 文件得到的Feature中的date类型字段的值是错误的!

回复

Runtime SDKJUSTINGBB 回复了问题 • 2 人关注 • 1 个回复 • 1248 次浏览 • 2020-01-10 11:06 • 来自相关话题

使用 Arcgis Runtime SDK for Android 10.2.9 解析离线 ShapeFile文件得到的Feature中的date类型字段的值是错误的,比正常值大。
在pc上使用ArcMap 10.3打开.shp文件,打开属性表,发现 date 类型的字段 CLRQ 值为 2018/7/26:







在Android app代码中使用SDK中的 FeatureTable.

ArcGIS Runtime SDK for Android 100.3.0 怎么加载涉密非公开图层!!!!

回复

Runtime SDK李文华 回复了问题 • 2 人关注 • 2 个回复 • 978 次浏览 • 2019-06-03 21:05 • 来自相关话题

有没有类似ArcGIS API for JavaScript 带token加载方式,如下代码:esriId.registerToken({
     token: tokens.token,
     expires: tokens.expires,
     ssl: tokens.ssl,
     server: token.server
});

android 线边界压盖不显示改变颜色

回复

Mobile天空树快递 回复了问题 • 2 人关注 • 1 个回复 • 1331 次浏览 • 2019-05-14 19:15 • 来自相关话题

图层中图斑边框默认是蓝色边框,选中图斑时,图斑边框变为红色,但是有条边也属于另一个图斑,导致这个边不能变为红色颜色(实际上是蓝色覆盖红色,导致不能显示)

arcgis for android 100.5 FeatureTable.addFeaturesAsync 无效

回复

Runtime SDKljk761626336 发起了问题 • 1 人关注 • 0 个回复 • 762 次浏览 • 2019-04-29 16:12 • 来自相关话题

在使用arcgis for androidd 100.5 是两个图层中间进行复制数据 调用FeatureTable.addFeaturesAsync 无效  新增图斑可以   原有图斑不能复制

ArcGIS Runtime SDK for Android 加载Android本地的shp数据,总是提示找不到shp文件

回复

Runtime SDK天空树快递 回复了问题 • 3 人关注 • 3 个回复 • 1853 次浏览 • 2019-04-20 22:11 • 来自相关话题

我用ArcGIS Runtime SDK for Android100.2.1加载本地的手机中的shp数据,提示找不到shp文件,但是shp数据明明在指定的位置,shp数据是下载的示例代码中的数据,必要文件都在
E/MainActivity: Shapefile feature table failed to load: com.esri.arcgisruntime.ArcGISRuntimeEx

ArcGIS Runtime SDK for Android端如何加载基于Token认证的安全服务?

回复

张赛 回复了问题 • 3 人关注 • 1 个回复 • 2649 次浏览 • 2018-11-30 16:38 • 来自相关话题

ArcGIS Runtime SDK for Android端如何加载基于Token认证的安全服务?

ArcGIS Pro 2.2.4发布的Web Scene里面的三维图层在Android手机上不显示?

回复

Runtime SDKchenshi011 发起了问题 • 2 人关注 • 0 个回复 • 964 次浏览 • 2018-11-30 13:50 • 来自相关话题

目前用的是ArcGIS Online申请的试用的,在调研ArcGIS for 三维能力。
用ArcGIS Pro 2.2.4发布到ArcGIS Online门户上面的三维场景在浏览器中能打开能正常加载。
但是用ArcGIS Runtime SDK for Android 100.4.0 在手机上加载Scene只能看到二维的矢量数据,三维模型不显示。
试了一下用Sample里面的ArcGISScen

ArcGIS Runtime SDK for Android 100.3符号大小问题

回复

Runtime SDK席西 回复了问题 • 2 人关注 • 1 个回复 • 887 次浏览 • 2018-11-08 15:32 • 来自相关话题

从移动端符号样式文件中读取的符号,由于移动端屏幕分辨率问题,符号整体显示偏小。能否在移动端设置符号放大一倍。另外移动端有没有像ArcMap中一样,设置地图或图层的参考比例尺,让符号大小随着地图缩放。

ArcGIS Runtime SDK for Android 线反向

回复

Runtime SDKls123_zh 发起了问题 • 1 人关注 • 0 个回复 • 812 次浏览 • 2018-10-19 19:39 • 来自相关话题

ArcGIS Runtime SDK for Android 有没有现成的线反向工具。对SHP进行编辑,自己写算法反向调整线的顺序,发现保存之后线的方向没有改变。试着把X坐标加上一个常量之后,可以反向了,是不是有BUG。版本是最新的100.4。

arcgis for Android能否在手机上调用server发布的地理编码服务查找某一点位置?

回复

Mobilelinjiehuihui 发起了问题 • 2 人关注 • 0 个回复 • 1085 次浏览 • 2018-09-27 21:50 • 来自相关话题

在arcgsi发布地理编码服务的时候功能当中只有地理编码和反向地理编码可选,没有mobile access,请问这样还可以在手机上调用自己server发布的地理编码服务吗?





 

arcgis runtime sdk for android 系列 - 在100.X系列中实现加载福建天地图

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 239 次浏览 • 2020-05-22 16:45 • 来自相关话题

基本思路:

使用WebTiledLayer来加载福建天地图,要根据加载的地图获取正确的范围和比例尺。
 

关键技术点:

主体代码是参考张工加载国家天地图,需要将其中的范围改成福建正确范围。


具体实现步骤:

以这个福建天地图的地址作为下面讲解的示例:

http://service.fjmap.net/vec_fj/wmts/1.0.0/WMTSCapabilities.xml 

根据

arcgis runtime sdk for android 系列 - 让用户知道地图在加载的友好界面

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 174 次浏览 • 2020-05-22 15:34 • 来自相关话题

安卓开发最终呈现的是一个与用户交互很强的界面,所以让用户在使用的过程中,知道程序在做什么有时候也很重要。

拿地图加载渲染来讲,有时候用户操作过于频繁,或者网络原因延迟,可能导致地图无法即刻完成操作。这个时候可以考虑引入一个效果,让用户知道,地图在加载。

随着智能应用普及,多年的用户习惯了某些展示效果。

以下这段代码,就利用了安卓原生API的代码,展示了一个圆圈的进度条,先看展示效果:

arcgis runtime sdk for android 系列 - 加载地形数据小结

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 378 次浏览 • 2020-04-07 17:13 • 来自相关话题

三维场景中有时候需要使用地形图,展现真实感。

 这篇文章就总结一下现在安卓端支持的加载地形图的方式。
 
包括两种加载离线地形数据和一种在线地图服务方式。
 
1. 直接在安卓端加载影像数据,支持的格式:

ASRP/USRP
CIB1, 5, 10
DTED0, 1, 2
GeoTIFF
HFA
HRE
IMG
JPEG
JPEG 2000
NITF
PNG
RPF
SRTM1, 2

关键代

arcgis runtime sdk for android 系列 - 如何添加一个要素服务下的所有图层

Runtime SDK勾戈雪黎 发表了文章 • 1 个评论 • 298 次浏览 • 2020-03-09 15:11 • 来自相关话题

目的:

在安卓程序中添加一个要素服务下的所有图层。
 

实现步骤分解:
 
首先获取要素服务对应的地图服务的sublayer list;然后遍历sublayer list 初始化所有的要素图层。
 
 
实现代码:
 
//获取sublayer list

String baseUrl = "http://sampleserver6.arcgisonl ... 3B%3B

mMap

arcgis runtime sdk for android 系列 - 如何在安卓应用中使用谷歌地图

Runtime SDK勾戈雪黎 发表了文章 • 1 个评论 • 361 次浏览 • 2020-03-09 15:09 • 来自相关话题

目的:

在安卓程序中使用谷歌地图


关键技术点:
 
runtime sdk for android 中使用的关键类是 webtiledlayer;谷歌地图的加载template URI如下:
"http://{subDomain}.google.cn/vt/lyrs=s@142&hl=zh-CN&gl=CN&src=app&x={col}&y

详细解析在安卓端访问arcgis enterprise加密服务3-场景2

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 255 次浏览 • 2020-02-14 16:21 • 来自相关话题

如果理解了场景一,场景二也非常容易理解和实现。

场景二是结合使用user login 和token两个方式来实现安卓端访问加密服务。

场景二适用的要求:portal 中的数据保密,将其设置为有限的人员可见。服务器端验证走token方式。

环境满足条件:一套现有的arcgis enterpise,且给用户分配了账户。

如果你只使用arcgis server,需要用户登录才能看见加密服务,那么

arcgis runtime sdk for android 系列 - 简单却又恼人的小问题 之修改hosts文件与接受自签名证书

Runtime SDK勾戈雪黎 发表了文章 • 0 个评论 • 681 次浏览 • 2018-11-30 18:13 • 来自相关话题

目的:

一般只有在开发测试初期才需要这么做。后期应用程序正式上线肯定不会需要这些操作的。

修改hosts目的是为了能让安卓识别到ArcGIS Enterprise域名。

接受自签名证书目的是为了接受ArcGIS Enterprise自签名证书,客户端可以继续与服务器端通信。



修改安卓hosts文件:

1 以下以模拟器为例,首先确认要启动的模拟器的名字:







2 在Andr

ArcGIS Runtime SDK for Android 100.3.0加载离线.slpk文件

Runtime SDK张佳期 发表了文章 • 5 个评论 • 1365 次浏览 • 2018-08-09 20:35 • 来自相关话题

需求:
        采用ArcGIS Runtime SDK for Android 100.3.0加载离线slpk文件。关于slpk的介绍,请参考ArcGIS官方介绍http://pro.arcgis.com/zh-cn/pro-app/help/sharing/overview/scene-layer-package.htm
效果图:
ArcGIS Pro中加载slpk文件




An

ArcGIS Runtime for Android 100.2.x 系列——丰富多彩的符号渲染之Mobile Style篇

Runtime SDK张赛 发表了文章 • 6 个评论 • 1489 次浏览 • 2018-03-09 00:00 • 来自相关话题

ArcGIS Pro提供了一种新的符号样式Mobile Style,以方便用户在ArcGIS Runtime端自由使用。本篇我们将基于ArcGIS Runtime SDK for Android 100.2.1具体探讨一下Mobile Style在移动端的简单应用。

1 制作Mobile Style

对于Mobile Style的制作,本篇将直接导入ESRI样式文件中自带的若干符号。具体步骤如

喜大普奔!!ArcGIS Runtime SDK for Android 100.2 支持本地Shapefile文件的编辑啦!!!

Runtime SDK张赛 发表了文章 • 4 个评论 • 2290 次浏览 • 2018-01-12 00:00 • 来自相关话题

对于Shapfile这一文件格式,ArcGIS Runtime SDK for Android 在100.2.0系列中推出了两大重磅利好消息: 
(1) 实现对本地 Shapfile 文件的加载、显示和查询 
(2) 实现对本地 Shapefile 文件的编辑,即增删改操作 
毋庸置疑,对于广大的ArcGIS移动端爱好者而言,支持Shapefile编辑操作绝对是一则振奋人心的好消息。
今天,我们就

安卓智能地图开发与实施二十:栅格图层展示 - ArcGIS Runtime SDK for Android(Version 100.1.0)

Runtime SDK大虾卢 发表了文章 • 0 个评论 • 1041 次浏览 • 2017-11-16 00:00 • 来自相关话题

栅格图层(RasterLayer)
用以加载展示移动端本地文件、移动镶嵌数据集、影像服务。
栅格文件(Raster)
mainMapView =(MapView) findViewById(R.id.mapView);
ArcGISMap mainArcGISMap = new ArcGISMap(new Basemap());
mainMapView.setMap(mainArcGISMap)

安卓智能地图开发与实施二十一:栅格渲染器 - ArcGIS Runtime SDK for Android(Version 100.1.0)

Runtime SDK大虾卢 发表了文章 • 0 个评论 • 1101 次浏览 • 2017-11-16 00:00 • 来自相关话题

栅格渲染器(RasterRenderer)
与矢量渲染类似, RasterRenderer能够对栅格图层( RasterLayer )进行展示和可视化。目前包括以下内容:
HillshadeRendererBlendRendererColormapRendererStretchRendererRGBRenderer

HillshadeRenderer(山体阴影渲染)
主要针对数字高程模型、单波段