1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. xmlns:tools="http://schemas.android.com/tools"
  3. android:layout_width="match_parent"
  4. android:layout_height="match_parent">
  5.  
  6. <com.esri.android.map.MapView
  7. android:id="@+id/map"
  8. android:layout_width="fill_parent"
  9. android:layout_height="fill_parent"
  10. url="http://www.arcgis.com/home/webmap/viewer.html?webmap=fab9925c7c974a0aa47ea0f463535367" >
  11. </com.esri.android.map.MapView>
  12. </RelativeLayout>

java

  1. package yanlei.example.com.querydata;
  2.  
  3. import android.graphics.Color;
  4. import android.os.AsyncTask;
  5. import android.os.Bundle;
  6. import android.support.v7.app.AppCompatActivity;
  7.  
  8. import com.esri.android.map.GraphicsLayer;
  9. import com.esri.android.map.MapView;
  10. import com.esri.android.map.event.OnSingleTapListener;
  11. import com.esri.android.map.event.OnStatusChangedListener;
  12. import com.esri.core.geometry.Point;
  13. import com.esri.core.geometry.SpatialReference;
  14. import com.esri.core.map.Feature;
  15. import com.esri.core.map.FeatureResult;
  16. import com.esri.core.map.Graphic;
  17. import com.esri.core.renderer.SimpleRenderer;
  18. import com.esri.core.symbol.SimpleFillSymbol;
  19. import com.esri.core.tasks.query.QueryParameters;
  20. import com.esri.core.tasks.query.QueryTask;
  21.  
  22. public class MainActivity extends AppCompatActivity {
  23.  
  24. MapView mMapView;
  25. GraphicsLayer graphicsLayer;
  26. Graphic fillGraphic;
  27. String queryLayer;
  28. boolean boolQuery = true;
  29.  
  30. @Override
  31. protected void onCreate(Bundle savedInstanceState) {
  32. super.onCreate(savedInstanceState);
  33. setContentView(R.layout.activity_main);
  34. mMapView = (MapView) findViewById(R.id.map);
  35. queryLayer = "http://services.arcgisonline.com/ArcGIS/rest/services/Demographics/USA_Average_Household_Size/MapServer/3";
  36. mMapView.setOnStatusChangedListener(new OnStatusChangedListener() {
  37.  
  38. private static final long serialVersionUID = 1L;
  39.  
  40. @Override
  41. public void onStatusChanged(Object source, STATUS status) {
  42. // TODO Auto-generated method stub
  43. if (source == mMapView && status == STATUS.INITIALIZED) {
  44. graphicsLayer = new GraphicsLayer();
  45. SimpleRenderer sr = new SimpleRenderer(
  46. new SimpleFillSymbol(Color.RED));
  47. graphicsLayer.setRenderer(sr);
  48. mMapView.addLayer(graphicsLayer);
  49. }
  50. }
  51. });
  52. mMapView.setOnSingleTapListener(new OnSingleTapListener() {
  53.  
  54. private static final long serialVersionUID = 1L;
  55.  
  56. @Override
  57. public void onSingleTap(float x, float y) {
  58. // TODO Auto-generated method stub
  59.  
  60. AsyncQueryTask ayncQuery = new AsyncQueryTask();
  61. ayncQuery.execute(x, y);
  62.  
  63. }
  64. });
  65. }
  66.  
  67. private class AsyncQueryTask extends AsyncTask<Float, Void, FeatureResult> {
  68.  
  69. @Override
  70. protected FeatureResult doInBackground(Float... queryArray) {
  71. // TODO Auto-generated method stub
  72. if (queryArray == null || queryArray.length <= 1)
  73. return null;
  74. float x = queryArray[0];
  75. float y = queryArray[1];
  76. Point point = mMapView.toMapPoint(x, y);
  77. QueryParameters qParameters = new QueryParameters();
  78. SpatialReference sr = SpatialReference.create(102100);
  79. qParameters.setGeometry(point);
  80. qParameters.setOutSpatialReference(sr);
  81. qParameters.setReturnGeometry(true);
  82.  
  83. QueryTask qTask = new QueryTask(queryLayer);
  84. try {
  85. FeatureResult results = qTask.execute(qParameters);
  86. return results;
  87. } catch (Exception e) {
  88. e.printStackTrace();
  89. }
  90. return null;
  91. }
  92.  
  93. @Override
  94. protected void onPostExecute(FeatureResult results) {
  95.  
  96. if (results != null) {
  97. for (Object element : results) {
  98. if (element instanceof Feature) {
  99. Feature feature = (Feature) element;
  100. // turn feature into graphic
  101. Graphic graphic = new Graphic(feature.getGeometry(),
  102. feature.getSymbol(), feature.getAttributes());
  103. // add graphic to layer
  104. graphicsLayer.removeAll();
  105. graphicsLayer.addGraphic(graphic);
  106. }
  107. }
  108. }
  109. }
  110. }
  111.  
  112. @Override
  113. protected void onPause() {
  114. super.onPause();
  115. mMapView.pause();
  116. }
  117.  
  118. @Override
  119. protected void onResume() {
  120. super.onResume();
  121. mMapView.unpause();
  122. }
  123.  
  124. }

arcgis andriod 点击后变色的更多相关文章

  1. arcgis andriod Edit features

    来自:https://developers.arcgis.com/android/guide/edit-features.htm#ESRI_SECTION1_56C60DB71AF941E98668A ...

  2. arcgis andriod开发程序实例,有图有真相

    本程序使用Google公司最新开发工具andriod studio开发,实现了地图的加载,放大,缩小,GPS定位,画点.线,面工具,本程序有偿提供源代码 主界面,加载tpk切片 放大: 加载geoda ...

  3. arcgis andriod 长按获得当前信息

    // 长按显示鼠标点坐标及比例尺 private class myLongPressListener implements OnLongPressListener { private static f ...

  4. arcgis andriod GeometryEngine使用

    intersectionMenuItem.setChecked(true); showGeometry(GeometryEngine.intersection(inputPolygon1, input ...

  5. arcgis andriod 加载影像

    MapView mMapView;......String rasterPath = Environment.getExternalStorageDirectory().getPath() + &qu ...

  6. 基于Ajax+div的“左边菜单、右边内容”页面效果实现

    效果演示: ①默认页面(index.jsp): ②:点击左侧 用户管理 标签下的 用户列表 选项后,右边默认页面内容更新为用户列表页(userList.jsp)的内容 : ③:同理,点击 产品管理.订 ...

  7. CSS实现点击改变元素背景色

    可通过使用css伪类实现点击元素变色的效果,两个伪类是:active, :focus :active :active选择器用于选择活动链接.当在一个链接上点击时,它就会成为活动的(激活的),:acti ...

  8. [寒江孤叶丶的Cocos2d-x之旅_33]RichTextEx一款通过HTML标签控制文字样式的富文本控件

    RichTextEx一款通过HTML标签控制文字样式的富文本控件 原创文章,欢迎转载.转载请注明:文章来自[寒江孤叶丶的Cocos2d-x之旅系列] 博客地址:http://blog.csdn.net ...

  9. js写guess网页

    (一)布局           猜前                            ->                         猜后 (二)明确实现功能和具体实现: 1.网页生 ...

随机推荐

  1. c#上传文件时,当选择的文件为0kb,会验证不通过

    FileUpload1.HasFile 当FileUpload1控件选择的文件为0KB时,FileUpload1.HasFile返回false

  2. C++中STL容器的比较

    基本参考 https://blog.csdn.net/qq_14898543/article/details/51381642 容器特性: vector:典型的序列容器,C++标准严格要求次容器的实现 ...

  3. Makefile系列之三 : 变量

    一.变量的基础 变量在声明时需要给予初值,而在使用时,需要给在变量名前加上“$”符号,但最好用小括号“()”或是大括号“{}”把变量给包括起来.如果你要使用真实的“$”字符,那么你需要用“$$”来表示 ...

  4. JavaScript中对象的属性类型

    JavaScript中,对象的属性有两种:数据属性和访问器属性. 数据属性 特性: 数据属性包括一个数据值的位置.在这个位置可以读取和写入值.数据属性有4个特性. [[configurable]]:可 ...

  5. django使用JWT保存用户登录信息

    在使用前必须弄明白JWT的原理,原理可以看我的另一篇博文:https://www.cnblogs.com/chichung/p/9966027.html JWT的流程 1.签发JWT 在用户正确输入账 ...

  6. HDU-1934

    Car Plates Competition Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  7. ofbiz 之minilang解析

    编写一个simple method 首先我们需要对输入参数进行验证 ,判断参数是否完整. 1. 验证 1.1. Login-required :这是一个simple-method的属性,对是否需要登陆 ...

  8. windows下rabbitmq(架构师必备神器)集群搭建

    准备2台机器,例如:computera: 10.0.0.151   computerb:10.0.0.234  都安装erlang环境和rabbitmq服务,注意otp环境和rabbitmq服务必须版 ...

  9. centos6.9 部署wordpress

    用centos6.9搭建wordpressLinux.Nginx.Mariadb(Mysql).PHP 1 yum install nginx mariadb php php-fpm php-mysq ...

  10. gvim 编辑器配置

    "关才兼容模式 set nocompatible "模仿快捷键,如:ctrt+A 全选.Ctrl+C复制. Ctrl+V 粘贴等 source $VIMRUNTIME/vimrc_ ...