简单易用的ArcGIS runtime for Android 10.2

(1)更简单的调用云GIS(ArcGIS Online)上的数据

以前我们调用ArcGIS Online上的地图,需要知道底图的URL地址:

   <string name="WORLD_STREET_MAP">http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer</string>
    <string name="WORLD_TOPO_MAP">http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer</string>
    <string name="WORLD_NATGEO_MAP">http://services.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer</string>
    <string name="OCEAN_BASEMAP">http://services.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer</string>
   
同时在代码中调用该服务地址:

//create an initial basemap
  basemapStreet = new ArcGISTiledMapServiceLayer(this.getResources()
    .getString(R.string.WORLD_STREET_MAP));
  // Add basemap to MapView
  mMapView.addLayer(basemapStreet);
  // set visibility
  basemapStreet.setVisible(true);

如果需要更改底图,我们需要以下代码:

basemapTopo = new ArcGISTiledMapServiceLayer(this.getResources()
    .getString(R.string.WORLD_TOPO_MAP));
mMapView.addLayer(basemapTopo);
basemapStreet.setVisible(false);
basemapTopo.setVisible(true);

如果采用ArcGIS runtime for Android 10.2,这一切就更简单了。

首先,你不一定要记得arcgis online上的服务地址了,用MapOptions就能轻松搞定。

在xml文档中我们可以简单的配置下:

<com.esri.android.map.MapView 
android:id="@+id/map" 
android:layout_width="fill_parent"  
android:layout_height="fill_parent"  mapoptions.MapType="topo"  
mapoptions.ZoomLevel="13"  
mapoptions.center="33.666354, -117.903557"/> 
然后在代码中简单的一句:

 MapView mMapView = (MapView) findViewById(R.id.map);
当然我们可以很简单就修改底图和范围:

MapOptions streets = new MapOptions(MapType.STREETS); 
mMapView.setMapOptions(streets);


(2)简单的标签

<wbr><wbr><wbr> 之前我们实现graphic的标签和气泡功能,需要PopupInfo和PictureMarkerSymbol,整个过程还是比较复杂,但是我们用了arcgis runtime for android 10.2的ArcGIS Android Application Framework,就能轻松实现。</wbr></wbr></wbr>

<wbr><wbr> 第一步引用ArcGIS Android Application Framework,右键项目,选择“ArcGIS Tools”,然后选择“add Application Framework to project”,如下图所示:</wbr></wbr>



然后在项目中就可以看到引用的库文件了



第二步,写入代码,引用库文件的MapViewHelper类,如下所示:

 // Using MapOptions 
 mMapView = (MapView) findViewById(R.id.map); 
// Create a MapView Helper 
 mvHelper = new MapViewHelper(mMapView);
 // Create drawable icon
 icon = getResources().getDrawable(R.drawable.route_destination); 
// Make sure map has loaded before adding geometries 
 mMapView.setOnStatusChangedListener(new OnStatusChangedListener() { 
 private static final long serialVersionUID = 1L;
 public void onStatusChanged(Object source, STATUS status) { 
// Add a graphic to represent ESRI Headquarters 
  int loaded = mvHelper.addMarkerGraphic(34.056695, -117.195693, "ESRI", "World Headquarters", null, icon, false, 0);
 if (loaded < 0) 
{ Log.d("TAG", "Marker Graphic not added to MapView"); } 
} 
});

实现效果如下图所示;





0

阅读 (1) 评论 (0) 收藏 (0) 还没有被转载 喜欢 打印
已投稿到:
加载中,请稍候......
因梦而飞:
  • 灌水
  • 赞
  • 美好
  • 顶
  • 顶
  • 顶
  • 开心
  • 路过

登录名: 密码:找回密码 注册 记住登录状态

昵称:

分享到微博

验证码: 请点击后输入验证码 收听验证码

匿名评论
发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有

X
选择其他平台 >>
分享到
  • 含“”的博文
  • 含“”的博主
  • 含“”的音乐
  • 含“”的视频
×
最近喜欢了的博主:
加载中…
为了您的账号安全,请 绑定邮箱




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值