折腾一天准备搞个android客户端访问自己搭建的arcgis服务器,结果遇到这么一个问题,经过各种排错方法搞了几乎一天才找到原因。

12-14 17:02:48.476: E/ArcGIS(6730): java.lang.NullPointerException
12-14 17:02:48.476: E/ArcGIS(6730): at com.esri.android.map.ags.ArcGISTiledMapServiceLayer.initLayer(Unknown Source)
12-14 17:02:48.476: E/ArcGIS(6730): at com.esri.android.map.ags.ArcGISTiledMapServiceLayer$1.run(Unknown Source)
12-14 17:02:48.476: E/ArcGIS(6730): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
12-14 17:02:48.476: E/ArcGIS(6730): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)

解决:

错误:tiledMapServiceLayer = new ArcGISTiledMapServiceLayer(mapURL);

正确:dynamicLayer = new ArcGISDynamicMapServiceLayer(mapURL);

为什么呢?因为arcgis for anroid里面服务器分两类,一类是瓦片服务器 cached (tiled) map services,另一类是动态图 dynamic map services,相应的在加载地图时,要判断服务器发布地图类型是什么,根据具体情况使用相应API函数。

更多相关文章

  1. Android(安卓)四种加载方式详解(standard singleTop singleTask .
  2. 去掉安装地图
  3. android 百度地图长按弹出气泡 popupWindow
  4. Android(安卓)百度地图地位指针
  5. 高德地图自定义marker图片相关
  6. 用百度地图API实现Android定位功能(2.6版本为例)
  7. Android向node.js编写的服务器发送数据并接收请求
  8. Android(安卓)如何将Canvas上绘制的内容保存成本地图片
  9. Android(安卓)利用 Webservice 获取手机号码归属地

随机推荐

  1. 如何使用ajax GET或POST方法将数据传递到
  2. 如何从SQL SELECT查询中的c#变量创建jQuer
  3. 在Chrome中使用AJAX发送选项而不是GET/PO
  4. jQuery实现点击全选和取消全选
  5. 适用于prettyPhoto的FLV播放器(基于jQuery
  6. 使用Ajax+JQuery构造分页查询列表
  7. 通过jQuery设置全局Ajax加载时呈现Loadin
  8. [求助]如何用JQuery来实现Ctrl+Space完成
  9. 在jQuery返回的HTML中找到控件
  10. 2017.4.9 JQuery学习续写