我想重绘一个 OpenLayers 向量。
我的html按钮:
<button id="refresh" type="button">Refresh</button>
和我的 jquery 函数来重绘图层,刷新函数中的 parksLayer 记录为 false:
function refresh() {
parksLayer.redraw(true);
}
function bind(){
$("#refresh").bind("click", refresh);
}
和我的地图,我想重绘 ParksLayer:
map = new OpenLayers.Map({
div: "map",
layers: [
new OpenLayers.Layer.OSM(),
parksLayer
]
});
更新
感谢您的帮助,我的矢量图层定义如下:
function changeme(avalue){
parksLayer = new OpenLayers.Layer.Vector("Parks", {
projection: new OpenLayers.Projection("EPSG:4326"),
strategies: [new OpenLayers.Strategy.Fixed()],
protocol: new OpenLayers.Protocol.Script({
url: "http://my.cartodb.com/api/v2/sql",
params: {
q: "SELECT * FROM activities where type_code is not null"+" "+avalue,
format: "geojson"
},
format: new OpenLayers.Format.GeoJSON({
ignoreExtraDims: true
}),
callbackKey: "callback"
}),
});
}
我有一个avalue
动态变化的表单,它会改变 GeoJSON 查询,所以如果我可以重绘 parksLayer,我会从图层中得到一个新的选择。