我设法通过其属性搜索功能..问题是,它没有突出显示功能..
弹出窗口会显示,但所选功能不会突出显示...这是我的代码:
this.showparcel = function(getpin){
for(var f=0;f<layer_agao.features.length;f++) {
if(layer_agao.features[f].attributes.newpin === getpin) {
featsel = layer_agao.features[f];
selectControl.select(featsel);
break;
}
else{
selectControl.unselect(featsel);
}
}
}
答案 0 :(得分:0)
使用jquery并将selectControl.select(featsel);
更改为selectControl.clickFeature(featsel);
可以正常工作,以避免在搜索时多次选择功能。
以下是代码:
$("#forminput").change(function(){
for (var f = 0; f < layer_agao.features.length; f++) {
if (layer_agao.features[f].attributes.newpin == this.value) {
featsel = layer_agao.features[f];
$("#mybutton").click(function(){
selectControl.clickFeature(featsel);
});
break;
}
}
});
它应该放在你init()
函数里面,下面是html标记。
<form class="navbar-form navbar-right">
{% csrf_token %}
<select name="q" class="form-control" id="forminput">
<option type="text" value=""><b>Select Land PIN</b></option>
{% for getlandpins in query_map %}
<option type="text" value="{{ getlandpins.newpin }}">{{ getlandpins.newpin }}</option>
{% endfor %}
</select>
<input type="button" class="btn btn-primary" value="Show Info" id="mybutton">
</form>