之前有一次用到过高德的地图,当时折腾了好几天才加到Arcgis中,这次把其中的代码分享出来,希望对正在研究这个的朋友们有些帮助

package com.baixin.main;
/*** * @ClassName:   MapAbcToArcGISTLayer* @Description:    ArcGIS访问MapAbc地图服务* @author:        Zrd* @version:       v1.0  * @Date:          2012-8-11 上午10:18:17 */
import java.util.HashMap;
import com.esri.android.map.TiledServiceLayer;
import com.esri.core.geometry.Envelope;
import com.esri.core.geometry.Point;
import com.esri.core.geometry.SpatialReference;
import com.esri.core.internal.b.a.a;public class MapAbcToArcGISTLayer extends TiledServiceLayer {private int WKID = 2436;private String layername = null;private String layerurl = null;private static final double[] c = { 896.0859375, 548.04296875,224.02148437, 112.0107421875, 56.00537109375, 28.002685546875,14.0013427734375, 7.00067138671875, 3.50033569335937,1.75016784667968, 0.875083923339843, 0.4375419616699215,0.2187709808349608 };private static final double[] d = { 3386781.496062992D, 1693390.748031496D,846695.374015748D, 423347.687007874D, 211673.843503937D,105836.92175196858D, 52918.46087598425D, 26459.23043799213D,13229.61521899604D, 6614.807609498003D, 3307.403804749013D,1653.701902374507D, 826.8509511872533D };private static final double[] res = { 0.0011159643937610616,0.0032319287875221232, 0.0044638575750442465, 0.008927715150088493,0.017855430300176986, 0.03571086060035397, 0.07142172120070794,0.1428434424014159, 0.2856868848028318, 0.5713737696056635,1.143547539211327, 2.287295078422654, 4.574490156845308 };public static final int initWithDpi = 96;public MapAbcToArcGISTLayer(String layerurl,String layername) {super(layerurl);this.layerurl = layerurl;this.layername = layername;initLayer();}protected void initLayer() {if(getID()==0){this.nativeHandle = create();}try {SpatialReference localSpatialReference = SpatialReference.create(WKID);setDefaultSpatialReference(localSpatialReference);Envelope localEnvelope = new Envelope(371987.18333999999D,252920.58593D, 624459.12035999994D, 423400.07714000001D);setFullExtent(localEnvelope);Point localPoint = new Point(0.0D, 458793.07714);double[] arrayOfDoublescale = d;double[] arrayOfDoubleres = c;int k = d.length;TiledServiceLayer.TileInfo localTileInfo = new TiledServiceLayer.TileInfo(localPoint, arrayOfDoublescale, arrayOfDoubleres, k, 96,256, 256);setTileInfo(localTileInfo);super.initLayer();return;} catch (Exception localException) {localException.printStackTrace();}}@Overrideprotected byte[] getTile(int level, int col, int row) throws Exception {// TODO Auto-generated method stubint nrow  = (int) (Math.floor((458400.07714) * res[level] / 256) - row);String strUrl = layerurl + "x=" + col + "&y=" + nrow + "&z=" + level+ "&type=ic&layer="+layername+"";HashMap<String, String> localHashMap = new HashMap<String, String>();byte[] bytes = a.a(strUrl, localHashMap);return bytes;}
}

重写TiledServiceLayer实现Arcgis访问Mapabc地图服务相关推荐

  1. arcgis中如何导出奥维可识别的图_如何在奥维中加载ArcGIS发布的地图服务

    在工作中,您可能有大量的航拍图需要在奥维中加载显示,但直接导入航拍图的数据处理量较大.对电脑硬件的要求较高.因此,您可以通过ArcGIS将航拍图发布成地图服务,在奥维中以在线自定义地图的形式加载. 1 ...

  2. Arcgis搭建离线地图服务WMTS

    Arcgis搭建离线地图服务WMTS 发布时间:2021-03-04 版权: ARCGIS搭建离线地图服务器,进行离线地图二次开发 2.     离线地图服务发布(WMTS服务) (详细教程:添加离线 ...

  3. arcgis server发布地图服务中文标注不能显示

    现象:需要发布服务的mxd文件在arcmap中可以看到中文标注,在linux下arcgis server中发布成地图服务后中文标注无法显示. 原因: 没有中文字体 解决方法: 1.在/usr/shar ...

  4. ArcGIS Server发布地图服务

    1.打开ArcCatalog软件,选择要发布的地图文件MXD,右键点击[Share As Service],此时会自动打开ArcMap软件. 2.在弹出的[Share As Service]窗体中,选 ...

  5. ArcSDE与SQL sevrver的连接、ArcSDE导入数据、ArcGIS Server发布地图服务

    本文主要是关于ArcSDE的使用. 一.软件环境 ArcGIS10.2,ArcSDE10.2,数据库为SQL Server 2008R2 及以后版本(本人电脑上是2012版本). 二.软件安装 1.S ...

  6. 内网环境下预览ArcGIS地图服务

    内网环境下预览ArcGIS地图服务 文章目录 内网环境下预览ArcGIS地图服务 1.背景 2.解决方案 2.1下载ArcGIS API for JavaScript 2.2本地部署ArcGIS AP ...

  7. 发布和使用ArcGIS Server 服务之--地图服务(Mapserver)

    发布和使用 ArcGIS Server 服务之--地图服务(Mapserver) 1.什么是地图服务? 1.1地图服务的数据源和支持方式 1.2如何开始创建地图服务? 1.3为什么要使用地图服务 1. ...

  8. ArcGIS Server 10.1发布结果地图服务——与10.0的区别及过程

    之前一直在研究ArcGIS Server插值,以及删格数据在Web端的展示,很多人问了我同一个问题,就是如何在Web端展示插值后的删格数据呢? 我们知道插值很多地方都会用到,它能教准确的预测和模拟事物 ...

  9. 内网服务器(不通外网)访问高德在线地图服务的方法

    在项目部署过程中,若部署服务器处于内网环境,则无法调用高德服务.需要通过搭建代理实现请求的转发,从而获取到在线服务内容.下面的记录解决了内网服务器访问高德地图服务的问题. 一.所需设备 内网服务器(项 ...

最新文章

  1. 市民调取公共场所监控影像为何如此之难?
  2. python经典题库和答案_吐血总结,Python经典面试题及答案
  3. 对象之function
  4. PaperWeekly给您拜年啦!
  5. python 网盘上传_python学习笔记 day32 实现网盘上传下载功能
  6. fibonacci数列的题目——剑指Offer
  7. 二分法的应用:POJ1064 Cable master
  8. 数据库扩容 mysql_mysql数据库怎么扩容
  9. 【MYSQL权限】数据库权限部署
  10. Transact-SQL编程规范
  11. 尺取法---poj3601
  12. 华泰证券 python 自动交易软件_量化自动交易软件开发,搬砖交易机器人系统开发...
  13. 分享几个手机和电脑上的百宝箱工具
  14. pandas(综合测试)
  15. ERROR: configuration failed for package ‘stringi’
  16. MySQL的Workbench中pk nn uq等的含义
  17. windows10系统纯净版下载地址
  18. 判断windows系统类型和IE浏览器版本
  19. fastdfs安装部署整理
  20. OpenSSL编译说明:Linux结合libcurl库编程实现人脸识别和车牌识别

热门文章

  1. 验证码组件,上传下载组件
  2. XML各层对象的方法
  3. API测试| 了解API接口测试| API接口测试指南
  4. 04.区块链的那些事儿-以太坊中的 Patricia Tree
  5. c语言作业查询,C语言大作业学生成绩查询系统源代码.doc
  6. java list contains_Java List containsAll()用法及代码示例
  7. dayz服务器显示存续关闭,《DayZ》开发工作并未停止!官方再关一个开发工作室_游侠网 Ali213.net...
  8. 最全的大数据技术大合集:Hadoop家族、Cloudera系列、spark
  9. git上传GitHub时报Please tell me who you are错误
  10. 《筱静观察》第三季第8期丨区块链如何与实体经济融合