У меня есть функция, называемая «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:. Первоначально я думал, что карта не обновляется, но в реальности создается другая карта get и добавляется прямо под исходной картой ... Как повторно использовать или заменять объект карты, который уже существует, чтобы отобразить другую карту?
Поскольку я использую AngularJS и передавая параметры карт через службу, я не могу просто повторно вызвать страницу и получить параметры из строки запроса, как мне раньше предлагалось.
Это похоже на то, что будет основной функцией для онлайн-карты.
Любая помощь очень ценится
вы пытались 'map.getView(). Изменен()' ??? Это должно привести к событию изменения в виде карты. http://openlayers.org/en/latest/apidoc/ol.View.html#changed. Или, может быть, 'map.changed()' – pavlos
http://openlayers.org/en/latest/apidoc/ol.Map.html#render собирается перерисовать карту. Существует также http://openlayers.org/en/latest/apidoc/ol.Map.html#renderSync, который является синхронным. – mistapink
Да, я пробовал все это и ничего не происходит ??? –