根据属性查询出对应的要素是一个比较经典和实用的功能,下面就使用超图的iClient for javascript来实现二维地图上的这个功能。
预期效果:在文本框输入某个值,点击查询,则进行查询,并在符合要求的要素上添加一个marker点,点位于该要素质心,并缩放到该要素。点击marker可以显示该要素的属性信息。
前端文本框id为sqlText,button的点击事件为queryBySQL()。
输入如图的查询语句就能查询到对应的要素。因为图文解说看起来不直观,直接上代码,解说文字都在注释里。
function queryBySQL(){
queryLayer.removeAllFeatures();
map.addLayer(queryLayer);
var queryParam,queryBySQLParams,queryBySQLService;
var sql=document.getElementById("sqlText").value;
//FilterParameter必设name(查询地图图层名),attribute(SQL条件语句)也为必设,sql形式为“字段名&