简单易用的ArcGIS runtime for Android 10.2

来源:互联网 发布:水果音乐制作软件mac 编辑:程序博客网 时间:2024/05/21 22:41

 (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)简单的标签

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

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



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



第二步,写入代码,引用库文件的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) 还没有被转载 喜欢打印
已投稿到:
排行榜圈子
加载中,请稍候......
前一篇:[转]ArcGIS Runtime SDKs 10.2 for iOS & Android& 
评论 重要提示:警惕虚假中奖信息| 美艳少妇薄纱床照诱人
[发评论]
  • 做第一个评论者吧! 抢沙发>>
    发评论 闽湖尤溪之秋美若天堂|螃蟹?饼干?你敢吃吗
    因梦而飞 :
    • 灌水
    • 赞
    • 美好
    • 顶
    • 顶
    • 顶
    • 开心
    • 路过

    登录名: 密码:找回密码注册

    昵   称:

       

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

    发评论

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

    < 前一篇[转]ArcGIS Runtime SDKs 10.2 for iOS & Android& 
      

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

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

    新浪公司 版权所有

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




      原创粉丝点击