2
2秒ごとにKMLファイルをリロードするコードを削除しました。各更新時に、カメラのレイヤーの機能の範囲をパンしたいのですが、コールバックを設定する場所を特定できません。要求が完了する前にmap.panTo(trackLayer.getDataExtent().getCenterLonLat());
と呼ばれている:OpenLayers httpリフレッシュコールバック関数
//set up ajax
var protocol = new OpenLayers.Protocol.HTTP({
url: "feed.kml",
format: new OpenLayers.Format.KML(),
callback: function(){
alert("here"); //never called
}
});
//create refresher
var refresh = new OpenLayers.Strategy.Refresh({force: true, active: true});
//create layer for kml
var trackLayer = new OpenLayers.Layer.Vector("KML", {
strategies: [new OpenLayers.Strategy.Fixed(), refresh],
protocol: protocol,
});
//add to map
map.addLayer(trackLayer);
//refresh the kml every 2 seconds
setInterval(function(){
refresh.refresh();
//pan to extent
map.panTo(trackLayer.getDataExtent().getCenterLonLat());
},2000);
問題は、この行があることです。
ここでのドキュメントです:私はそれを得た
- http://dev.openlayers.org/docs/files/OpenLayers/Strategy/Refresh-js.html
- http://dev.openlayers.org/docs/files/OpenLayers/Layer/Vector-js.html
- http://dev.openlayers.org/docs/files/OpenLayers/Protocol/HTTP-js.html