放纵了几天,又有了学习的动力。今天实现了利用对 FeatureLayer 进行属性查询在地图上进行跳转。

  一、我下载了一幅浙江省的县界面地图,存在NAME字段,利用Name就能进行查询了:

var name = tb.value;
if(name!="")
{
var query = new esri.tasks.Query();
query.where = "NAME = '"+name+"'";
fl.queryFeatures(query, function (featureset) {
var a =featureset.features[0].geometry.getExtent();
map.setExtent(a);
});
}

  备注:FeatureLayer.queryFeatures 返回的不是 Feature 的一个集合,需要注意的是它本身就是单独的一个 Object ,而不是单纯的 Arry[] ,一开始没仔细看,半天取不出数据。不知道能不能进行模糊查询,希望可以,不然真的不方便啊。再试试...

  二、很简单的例子给大家看看:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Query Demo</title>
<link rel="stylesheet" href="http://js.arcgis.com/3.10/js/dojo/dijit/themes/tundra/tundra.css">
<link rel="stylesheet" href="http://js.arcgis.com/3.10/js/esri/css/esri.css">
<script type="text/javascript" charset="utf-8" src="http://js.arcgis.com/3.10/"></script>
<script type="text/javascript" charset="utf-8" src="js/dojo.js"></script>
<script type="text/javascript" charset="utf-8">
require([
"esri/map", "esri/layers/FeatureLayer",
"esri/tasks/query", "esri/TimeExtent","esri/tasks/query",
"dojo/number", "dojo/date/locale", "dojo/dom","dojo/on",
"dojo/_base/array", "dojo/store/Memory",
"dgrid/OnDemandGrid", "dojo/domReady!"
], function()
{
//初始化地图控件
var map = new esri.Map("mapdiv");
map.setBasemap("osm");
var bounds = new esri.geometry.Extent({
"xmin":118.363523,"ymin":29.219302,"xmax":119.508848,"ymax":30.073848,
"spatialReference":{"wkid":4326}});
map.setExtent(bounds);
//初始化图层
var durl = "http...MapServer";
var dl = new esri.layers.ArcGISDynamicMapServiceLayer(durl);
var furl = "http...MapServer/0";
var fl = new esri.layers.FeatureLayer(furl,{outFields: ["*"],opacity: 0});
map.addLayer(dl);
map.addLayer(fl);
//注册Go点击事件
var btn = document.getElementById("query");
btn.onclick = function(){
var tb = document.getElementById("val");
var name = tb.value;
if(name!="")
{
var query = new esri.tasks.Query();
query.where = "NAME = '"+name+"'";
fl.queryFeatures(query, function (featureset) {
var a =featureset.features[0].geometry.getExtent();
map.setExtent(a);
});
}
}
});
</script>
</head>
<body>
<div id="tolbox">
Name:
<input type="text" name="val" id="val" />
<input type="button" name="query" id="query" value="Go" />
</div>
<div id="mapdiv" style="width: 600px; height: 600px; background-color: #FF8F8F;"></div>
</body>
</html>

效果:

利用 Task\Query 实现定位 , FeatureLayer 的属性查询的更多相关文章

  1. html利用锚点实现定位代码实例

    本章节介绍介绍一下如何利用锚点实现定位,使用锚点实现定位是html固有的功能,当然比较简单,也实现了基本的功能,但是功能相对简单一些,如果想要实现平滑的定位可以参阅jquery实现的点击页面动画方式平 ...

  2. 利用media query让背景图适应不同分辨率的设备

    随着上网方式的多样化,用户选择上网的工具不再仅是PC,而可以是手机,或者平板电脑.随之而来的问题是如何让网页适应不同分辨率,这给前端工程师们带来了新的挑战,其中重要的一点是如何让图片能在不同的分辨率下 ...

  3. Arcgis for Js之featurelayer实现空间查询和属性查询

    空间查询和属性查询是常用的两种对数据的检索与查询方式,在本节,将讲述Arcgis for Js下如何实现featurelayer的这两种查询方式,先贴图给大家看看: 实现界面 属性查询 空间查询 看完 ...

  4. 【框架】利用Spring的BeanPostProcessor来修改bean属性

    一.BeanPostProcessor是什么?什么时候触发?可以用来做什么? 1.它是什么? 首先它是一个接口,定义了两个方法: public interface BeanPostProcessor ...

  5. 利用flashback query 恢复表数据

    flashback query可以查询过去某个时间点对象的状态,从而可以利用此来进行恢复数据 1 准备测试数据 用普通用户创建一个表,表中插入部分数据: SQL> show user USER ...

  6. C#利用反射来判断对象是否包含某个属性的实现方法

    本文实例展示了C#利用反射来判断对象是否包含某个属性的实现方法,对于C#程序设计人员来说有一定的学习借鉴价值. 具体实现代码如下: /// <summary> /// 利用反射来判断对象是 ...

  7. AE开发—利用IQueryFilter接口进行属性查询

    在ArcGis Engine二次开发过程中,经常会需要用到查询统计的功能,而IQueryFilter是最常见的属性字段查询接口,可以用来做一些简单的查询工作. 现在有一些公交站点和公交路线的数据,可视 ...

  8. ArcGIS Engine开发之属性查询

    属性查询即基于空间数据的属性数据的查询,通过用户提交SQL语言中的where语句定义的查询条件,对属性数据进行搜索,从而得到查询结果的操作. 相关的类与接口 与属性查询功能相关的类主要有QureyFi ...

  9. <五>JDBC_利用反射及JDBC元数据编写通用的查询方法

    此类针对javaBean类写了一个通用的查询方法,List<javaBean> 通用查询更新中...:通过学习,深刻体会到学会反射就等于掌握了java基础的半壁江山! 一.使用JDBC驱动 ...

随机推荐

  1. 海思hi35xx 开发学习(3):视频输入

    视频输入(VI)模块实现的功能:通过 MIPI Rx(含 MIPI 接口.LVDS 接口和 HISPI 接口),SLVS-EC,BT.1120,BT.656,BT.601,DC 等接口接收视频数据.V ...

  2. 【http协议】浅谈

    [http协议]浅谈 一. 概述 http,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议. 请求与响应: 客户端发送请求,服务器端响应数 ...

  3. TensorFlow GPU 的使用

    一.TensorFlow 设备分配 1.设备分配规则 If a TensorFlow operation has both CPU and GPU implementations, the GPU d ...

  4. 针对ACM输出格式的一个小技巧(对格式错误说不!)

    printf("%d%c",bmax," \n"[i==n]); 上文中bmax为题目中需要输出的整形变量,可以脑补很多ans,max之类的,重点在于%c和后面 ...

  5. 论文阅读 | Region Proposal by Guided Anchoring

    论文阅读 | Region Proposal by Guided Anchoring 相关链接 论文地址:https://arxiv.org/abs/1901.03278 概述 众所周知,anchor ...

  6. Python3.0版本 从听说python可以做爬虫到自己第一成功做出爬虫的经历

    前言 我自己是个python小白,工作也不是软件行业,但是日常没事时喜欢捣鼓一些小玩意,自身有点C语言基础. 听说python很火,可以做出爬虫去爬一些数据图片视频之类的东东,我的兴趣一下子就来了.然 ...

  7. 第六次 Scrum Meeting

    第六次 Scrum Meeting 写在前面 会议时间 会议时长 会议地点 2019/4/10 22:00 30min 大运村1号楼6F 附Github仓库:WEDO 例会照片 工作情况总结(4.10 ...

  8. python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据

    python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据 最近工作太忙了,有一个星期没有更新文章了,本来这一期打算分享一些对龙虎榜数据的分析结果的,现在还没有把数据内的价值很好 ...

  9. 递归迭代vector三种方法实现二路归并排序

    https://mp.csdn.net/mdeditor/84933084# 附链接

  10. ORACLE迁移GP实践

    最近在做oracle到greenplum的迁移实践,步骤如下: 1. 使用ora2pg实现Oracle的数据结构迁移到GP的实现过程 2. Oracle的数据迁移到GP的实现过程   1. ora2p ...