私は「LoadMap」と呼ばれる機能私はオンデマンドの更新でトリガするにはどうすればよい/ ol.Map
rcisWebMapLoad.prototype.LoadMap = function (param1, param2) {
//Get some vector objects and create layers
var fieldVectorObjs = rcisWebMapVectorObjs.GetFieldVectorObjects(param1, param2);
var objectVectorLines = rcisWebMapVectorObjs.GetLinesVectorObjects(param1, param2, 1);
//Create Map object and add layers then insert into map div
control.map = new ol.Map({
target: 'map',
renderer: 'canvas',
layers: layers,
view: new ol.View({
projection: 'EPSG:4326',
center: [0, 0],
zoom: 8
})
});
//******* MapServer imagery ***************
var aerial = new ol.layer.Tile({
name: 'Imagery',
source: new ol.source.TileWMS({
url: mapServerPath.ResponseString,
params: { 'LAYERS': 'aerial', 'FORMAT': 'image/png', 'TILED': true },
serverType: 'mapserver'
})
});
control.map.addLayer(aerial);
}
これは素晴らしいマップをロードを持っているの再描画!
私は、私は別のマップ、すなわちに切り替えたいときしかし問題は付属しています...マップ上の私の画像とベクトルオブジェクトを持っている(別の画像およびベクトルオブジェクト)...
UPDATE: 元々私はマップが更新されていないと思っていましたが、実際に別のマップが生成され、元のマップのすぐ下に追加されました...別のマップを表示するために既にあるマップオブジェクトを再利用したり、
私はAngularJSを使用しているため、マップパラメータをサービスに渡すので、ページをもう一度呼び出すことはできず、以前に提案されたようにクエリ文字列からパラメータを取得することはできません。
これは、オンラインマップの主な機能であると思われます。
すべてのヘルプは大幅それでは、私がやってしまったことはマップを破壊することだった
を作成する前に、マップオブジェクトを破壊します)( 'map.getViewを試してみました。変更()' ???これにより、変更イベントがマップビューに表示されます。 http://openlayers.org/ja/latest/apidoc/ol.View.html#changed。または、おそらく 'map.changed()' – pavlos
http://openlayers.org/ja/latest/apidoc/ol.Map.html#renderが地図を再描画します。同期しているhttp://openlayers.org/ja/latest/apidoc/ol.Map.html#renderSyncもあります。 – mistapink
はい、私はこれを試してみましたが、何も起こりませんか? –