安卓智能地图开发与实施五:在线基础底图
来源:互联网 发布:seo自然排名 编辑:程序博客网 时间:2024/05/01 12:36
基础底图
移动地图程序的基础,在于“一张图”,外业调绘、导航类、成果展示、统计应用等都需要一张基本的底图来支撑。往往底图的好坏决定了整个移动地图的根基。
在线基础底图(Online Tiled Layers)
在线基础底图包括传统GIS(ArcGIS Server)和WebGIS(Online & Portal)。使用方式上确实不同,传统GIS是通过Layer直接对接地图服务(ArcGIS Server发布的)。WebGIS是同过ArcGISMap来对接WebMap。
WebGIS(Online & Portal)
通过Online或者Portal可以便捷快速的制作出更简洁智能的地图资源,用以表达我们的目的,对于移动端而言这些Web Map可以直接应用。
package hymn.esrichina.displayamaponlineandportal;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.esri.arcgisruntime.mapping.ArcGISMap;import com.esri.arcgisruntime.mapping.Basemap;import com.esri.arcgisruntime.mapping.LayerList;import com.esri.arcgisruntime.mapping.view.MapView;public class MainActivity extends AppCompatActivity { private MapView mainMapView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { String theURLString = "http://www.arcgis.com/home/webmap/viewer.html?webmap=55c1665bcd064552944a9e8296271ec3"; mainMapView = (MapView) findViewById(R.id.mainMapView); ArcGISMap mainArcGISMap = new ArcGISMap(theURLString); Basemap mainBasemap = mainArcGISMap.getBasemap(); LayerList mainLayerList = mainArcGISMap.getOperationalLayers(); mainMapView.setMap(mainArcGISMap); } catch (Exception e) { } }}
传统GIS
对于一直使用ArcGIS Server发布地图服务的,可以直接使用地图服务(Layer)来加载在线的地图服务(ArcGIS Server)。
package hymn.esrichina.displayamaparcgisserver;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.esri.arcgisruntime.layers.ArcGISTiledLayer;import com.esri.arcgisruntime.mapping.ArcGISMap;import com.esri.arcgisruntime.mapping.Basemap;import com.esri.arcgisruntime.mapping.LayerList;import com.esri.arcgisruntime.mapping.view.MapView;public class MainActivity extends AppCompatActivity { private MapView mainMapView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { String theURLString = "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineCommunity/MapServer"; mainMapView = (MapView) findViewById(R.id.mainMapView); ArcGISTiledLayer mainArcGISTiledLayer = new ArcGISTiledLayer(theURLString); Basemap mainBasemap = new Basemap(mainArcGISTiledLayer); ArcGISMap mainArcGISMap = new ArcGISMap(mainBasemap); mainMapView.setMap(mainArcGISMap); } catch (Exception e) { } }}
在线矢量切片
ArcGIS新出的矢量切片也有在线模式,也不失为好的选择。在线的地址管理在ArcGIS Online或者ArcGIS Portal当中,参考地址如下:
https://www.arcgis.com/home/item.html?id=e19e9330bf08490ca8353d76b5e2e658
package hymn.esrichina.displayamapvtpkonline;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import com.esri.arcgisruntime.layers.ArcGISTiledLayer;import com.esri.arcgisruntime.layers.ArcGISVectorTiledLayer;import com.esri.arcgisruntime.mapping.ArcGISMap;import com.esri.arcgisruntime.mapping.Basemap;import com.esri.arcgisruntime.mapping.Viewpoint;import com.esri.arcgisruntime.mapping.view.MapView;public class MainActivity extends AppCompatActivity { private MapView mainMapView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); try { String theOfflineTiledLayers = "https://www.arcgis.com/home/item.html?id=e19e9330bf08490ca8353d76b5e2e658"; mainMapView = (MapView) findViewById(R.id.mainMapView); ArcGISVectorTiledLayer mainArcGISVectorTiledLayer = new ArcGISVectorTiledLayer(theOfflineTiledLayers); Basemap mainBasemap = new Basemap(mainArcGISVectorTiledLayer); ArcGISMap mainArcGISMap = new ArcGISMap(mainBasemap); mainMapView.setMap(mainArcGISMap); Viewpoint vp = new Viewpoint(47.606726, -122.335564, 72223.819286); mainArcGISMap.setInitialViewpoint(vp); } catch (Exception e) { } }}
结尾
源程序包含:
- DisplayAMapOnlineAndPortal
- DisplayAMapArcGISServer
- DisplayAMapVTPKOnline
请自行下载:
http://pan.baidu.com/s/1jIDlYyM 密码:6cvh
若失效,可发邮件给韩源萌(polyline@126.com)索要。
1 0
- 安卓智能地图开发与实施五:在线基础底图
- 安卓智能地图开发与实施六:离线基础底图
- 安卓智能地图开发与实施七:在线业务图层(浏览查询)
- 安卓智能地图开发与实施十六:三维地图
- 安卓智能地图开发与实施八:离线业务图层(浏览查询)
- 安卓智能地图开发与实施十:图层管理
- 安卓智能地图开发与实施十七:使用天地图
- 安卓智能地图开发与实施二十:栅格图层展示
- 安卓智能地图开发与实施四:二维地图的MapView与Layers
- 安卓智能地图开发与实施九:地图缩放与旋转
- 安卓智能地图开发与实施三:创建第一个地图程序
- 安卓智能地图开发与实施二:开发环境准备
- 安卓智能地图开发与实施十二:空间查询与模糊搜索
- 安卓智能地图开发与实施十三:空间查询与展示
- 安卓智能地图开发与实施十五:离线与同步
- 安卓智能地图开发与实施十九:符号与渲染器
- 安卓智能地图开发与实施二十五:Shapefile文件的可视化与编辑
- 安卓智能地图开发与实施一:配置离线SDK
- stm32 中空编码器tim4初始化
- extract-text-webpack-plugin 的使用及安装
- Android UI 相关开源框架
- 使用InternetCrackUrl分解url
- c++实验五
- 安卓智能地图开发与实施五:在线基础底图
- C语言中volatile关键字的作用
- Android Notification
- Go实战--实现简单的restful api(The way to go)
- 解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed(2:No such file or durectory)
- Java面向对象设计模式(八)——代理模式(Proxy)
- Linux Fedora或Ubuntu发行版清除旧的内核
- [BZOJ1049][HAOI2006]数字序列(dp)
- nsq源码阅读 nsqlookupd源码四 lookup_protocol_v1.go