arcgis runtime sdk for android 系列 - 在100.X系列中实现加载福建天地图
分享
基本思路:
使用WebTiledLayer来加载福建天地图,要根据加载的地图获取正确的范围和比例尺。
关键技术点:
主体代码是参考张工加载国家天地图,需要将其中的范围改成福建正确范围。
具体实现步骤:
以这个福建天地图的地址作为下面讲解的示例:
http://service.fjmap.net/vec_fj/wmts/1.0.0/WMTSCapabilities.xml
根据上述连接中的范围,我将范围的代码改为以下:
详细代码:
参考连接:
主要参考张工这篇如何加载国家天地图
https://blog.csdn.net/zssai201 ... 45628
使用WebTiledLayer来加载福建天地图,要根据加载的地图获取正确的范围和比例尺。
关键技术点:
主体代码是参考张工加载国家天地图,需要将其中的范围改成福建正确范围。
具体实现步骤:
以这个福建天地图的地址作为下面讲解的示例:
http://service.fjmap.net/vec_fj/wmts/1.0.0/WMTSCapabilities.xml
根据上述连接中的范围,我将范围的代码改为以下:
Envelope fullExtent = new Envelope(113.54638776785004,22.967969390150024, 121.4982643631501,29.811366914850048, SpatialReference.create(4490));
详细代码:
Map<String, String> hm = new HashMap<String, String>();
hm.put("referer","https://androidapp");
RequestConfiguration requestConfiguration = RequestConfiguration.getGlobalRequestConfiguration();
requestConfiguration.setHeaders(hm);
RequestConfiguration.setGlobalRequestConfiguration(requestConfiguration);
ArrayList<LevelOfDetail> levels = new ArrayList<LevelOfDetail>();
levels.add(new LevelOfDetail(7, 0.010986328125, 4617149.8915429693));
levels.add(new LevelOfDetail(8, 0.0054931640625, 2308574.9457714846));
levels.add(new LevelOfDetail(8, 0.00274658203125, 1154287.4728857423));
levels.add(new LevelOfDetail(10, 0.001373291015625, 577143.73644287116));
levels.add(new LevelOfDetail(11, 0.0006866455078125, 288571.86822143558));
levels.add(new LevelOfDetail(12, 0.00034332275390625, 144285.93411071779));
levels.add(new LevelOfDetail(13, 0.000171661376953125, 72142.967055358895));
levels.add(new LevelOfDetail(14, 8.58306884765625e-005, 36071.483527679447));
levels.add(new LevelOfDetail(15, 4.291534423828125e-005, 18035.741763839724));
levels.add(new LevelOfDetail(16, 2.1457672119140625e-005, 9017.8708819198619));
levels.add(new LevelOfDetail(17, 1.0728836059570313e-005, 4508.9354409599309));
levels.add(new LevelOfDetail(18, 5.3644180297851563e-006, 2254.4677204799655));
levels.add(new LevelOfDetail(19, 2.6822090148925781e-006, 1127.2338602399827));
levels.add(new LevelOfDetail(20, 1.3411045074462891e-006, 563.61693011999137));
int iDPI = 96;
int iTileWidth = 256;
int iTileHeight = 256;
tileInfo = new TileInfo(iDPI, TileInfo.ImageFormat.PNG, levels, new Point(-180, 90, SpatialReference.create(4490)), SpatialReference.create(4490), iTileHeight, iTileWidth);
Envelope fullExtent = new Envelope(113.54638776785004,22.967969390150024, 121.4982643631501,29.811366914850048, SpatialReference.create(4490));
String templateUri = "http://service.fjmap.net/vec_f ... ix%3D{level}&TileRow={row}&TileCol={col}&style=vec_fj&format=image/tile";
WebTiledLayer webTiledLayer = new WebTiledLayer(templateUri,tileInfo,fullExtent);
map.getBasemap().getBaseLayers().add(webTiledLayer);
mMapView.setMap(map);
参考连接:
主要参考张工这篇如何加载国家天地图
https://blog.csdn.net/zssai201 ... 45628
0 个评论
发起人
相关问题
- 如何优雅的使用ArcGIS知乎?
- 建设ArcGIS知乎平台的目和意义?
- ArcGIS知乎社区改进意见征集
- 【抽奖结果已出】ArcGIS知乎社区活动 之 你不知道的地理空间革命【转发分享有奖】【附奖品寄送照片】
- 有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
- 苹果系统下可以使用arcgis 吗?
- arcgis版本兼容性
- 请问ArcGIS适合在局域网内用javaweb做二次开发吗?
- 请问大神们,怎么用ArcGIS做城镇间经济联系强度的图?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- ArcGIS如何求栅格图像的“质心”