利用 Task\Query 实现定位 , FeatureLayer 的属性查询
放纵了几天,又有了学习的动力。今天实现了利用对 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 的属性查询的更多相关文章
- html利用锚点实现定位代码实例
本章节介绍介绍一下如何利用锚点实现定位,使用锚点实现定位是html固有的功能,当然比较简单,也实现了基本的功能,但是功能相对简单一些,如果想要实现平滑的定位可以参阅jquery实现的点击页面动画方式平 ...
- 利用media query让背景图适应不同分辨率的设备
随着上网方式的多样化,用户选择上网的工具不再仅是PC,而可以是手机,或者平板电脑.随之而来的问题是如何让网页适应不同分辨率,这给前端工程师们带来了新的挑战,其中重要的一点是如何让图片能在不同的分辨率下 ...
- Arcgis for Js之featurelayer实现空间查询和属性查询
空间查询和属性查询是常用的两种对数据的检索与查询方式,在本节,将讲述Arcgis for Js下如何实现featurelayer的这两种查询方式,先贴图给大家看看: 实现界面 属性查询 空间查询 看完 ...
- 【框架】利用Spring的BeanPostProcessor来修改bean属性
一.BeanPostProcessor是什么?什么时候触发?可以用来做什么? 1.它是什么? 首先它是一个接口,定义了两个方法: public interface BeanPostProcessor ...
- 利用flashback query 恢复表数据
flashback query可以查询过去某个时间点对象的状态,从而可以利用此来进行恢复数据 1 准备测试数据 用普通用户创建一个表,表中插入部分数据: SQL> show user USER ...
- C#利用反射来判断对象是否包含某个属性的实现方法
本文实例展示了C#利用反射来判断对象是否包含某个属性的实现方法,对于C#程序设计人员来说有一定的学习借鉴价值. 具体实现代码如下: /// <summary> /// 利用反射来判断对象是 ...
- AE开发—利用IQueryFilter接口进行属性查询
在ArcGis Engine二次开发过程中,经常会需要用到查询统计的功能,而IQueryFilter是最常见的属性字段查询接口,可以用来做一些简单的查询工作. 现在有一些公交站点和公交路线的数据,可视 ...
- ArcGIS Engine开发之属性查询
属性查询即基于空间数据的属性数据的查询,通过用户提交SQL语言中的where语句定义的查询条件,对属性数据进行搜索,从而得到查询结果的操作. 相关的类与接口 与属性查询功能相关的类主要有QureyFi ...
- <五>JDBC_利用反射及JDBC元数据编写通用的查询方法
此类针对javaBean类写了一个通用的查询方法,List<javaBean> 通用查询更新中...:通过学习,深刻体会到学会反射就等于掌握了java基础的半壁江山! 一.使用JDBC驱动 ...
随机推荐
- scrapy源码分析(转)
记录一下两个讲解scrapy源码的博客: 1.http://kaito-kidd.com/2016/11/21/scrapy-code-analyze-component-initialization ...
- mysql 5.7 的 /etc/my.cnf
mysql的my.cnf文件纯净版的.随意享用. # Example MySQL config file for medium systems. # # This is for a system wi ...
- 解决GitHub下载很慢的问题
此方法参照 github下载慢,轻松提速教程 1.获取github的IP地址.访问:https://www.ipaddress.com/ 网址依次获取以下三个网址的IP github.com gith ...
- 对接京东jos遇到的坑 记录一下。方便查询
坑很多,有一些忘记了.文档乱的很,有问题可以私信我一下我看能不能想起来. 坑一.添加商品接口. {"error_response": {"code":" ...
- 常见Http协议响应码
总体总结: 1XX:信息相应类,表示接受到请求并且继续处理 2XX:处理成功响应类,表示动作被成功的接收.理解和接受 3XX:重定向响应类,为了完成指定的动作,必须完成进一步处理和操作 4XX:客户端 ...
- Android文字识别之tesseract的使用
关于tesseract识别工具有Google提供的版本有tesseract-android-tools,不过还有一个tesseract-two也是非常好用的,这里我们使用的是tesseract-two ...
- 单元测试工具 - karma
在离开上一家公司之前,team leader 在我离开前留给了我最后几个关键字:karma,断言库,JASMINE,QUNIT,MOCHA. 可一直拖拖沓沓的,没有去了解.直到今天,才终于抽出心情和时 ...
- 我是怎么一步步用go找出压测性能瓶颈
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由mariolu 发表于云+社区专栏 序言: 笔者要在线上服务器load日志并且重放来测一些机器性能指标.模拟机器资源比较少,相对的 ...
- 有标号的DAG计数 II
Description 给定一正整数n,对n个点有标号的有向无环图(可以不连通)进行计数,输出答案mod 998244353的结果 Solution 考虑 \(O(n^2)\) DP 枚举出度为 \( ...
- 网易和淘宝的rem方案剖析
以下内容到分割线前是引用前端大牛的文章,方便大家理解博主内容): 从网易与淘宝的font-size思考前端设计稿与工作流 1. 简单问题简单解决 我觉得有些web app并一定很复杂,比如拉勾网,你看 ...