我想重繪一個OpenLayers矢量。重繪openlayers矢量圖層
我的HTML按鈕:
<button id="refresh" type="button">Refresh</button>
和我的jQuery函數重繪層,該parksLayer在刷新功能被記錄爲假:
function refresh() {
parksLayer.redraw(true);
}
function bind(){
$("#refresh").bind("click", refresh);
}
,我的地圖,我想重繪在ParksLayer:
map = new OpenLayers.Map({
div: "map",
layers: [
new OpenLayers.Layer.OSM(),
parksLayer
]
});
UPDATE
感謝您的幫助,我的矢量圖層的定義是這樣的:
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我會留下一種形式來自圖層的新選擇。
反正你確定您的刷新功能中的parksLayer變量是否真的是一個圖層?我假設你在初始化變量之前使用它,因爲你顯示我們的代碼不能工作... – 2012-08-06 17:59:29
我已經嘗試了兩種方式,有和沒有真實,但沒有骰子 – Bwyss 2012-08-06 19:29:29
你可以發佈多一點你的代碼看看你如何創建你的ParkLayer變量? – 2012-08-06 19:48:27