나는 동적으로로드 된 이미지를 표시하기 위해 OpenLayers를 사용하고 있습니다. 내가 사용하고 코드입니다 : 내가 버튼을 클릭 이벤트에이 함수를 호출하고 그 시간에 strURL (이미지 출처)를 통과하고OpenLayers - clear 'map'div
var map;
function init(strURL) {
map = new OpenLayers.Map('map');
var options = { numZoomLevels: 3,
isBaseLayer: true, };
var graphic = new OpenLayers.Layer.Image(
'City Lights',
strURL + "?sc=page",
new OpenLayers.Bounds(-180, -88.759, 180, 88.759),
new OpenLayers.Size(580, 288),
options
);
// graphic.events.on({
// loadstart: function() {
// OpenLayers.Console.log("loadstart");
// },
// loadend: function() {
// OpenLayers.Console.log("loadend");
// }
// });
var jpl_wms = new OpenLayers.Layer.WMS("NASA Global Mosaic",
"http://t1.hypercube.telascience.org/cgi-bin/landsat7",
{ layers: "landsat7" }, options);
map.addLayers([graphic, jpl_wms]);
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent();
}
. 결과는 클릭 할 때마다 다른 이미지가로드되어 웹 페이지에 표시되지만 이전 이미지는 지워지지 않습니다. 그래서 나는 웹 페이지에서 5 개의 다른 이미지가 5 번의 클릭으로 표시됩니다.
내 자바 스크립트 지식이 제한되어 있으므로 사과해야 할 바보 같은 질문입니다. 이 행동을 멈추는 방법? 도움을 주셔서 감사합니다.
또한, 나는 확실히 선을 이해하지 못했다 :
var jpl_wms = new OpenLayers.Layer.WMS("NASA Global Mosaic",
"http://t1.hypercube.telascience.org/cgi-bin/landsat7",
{ layers: "landsat7" }, options);
그러나 나는 내가 그들을 제거하면이 라인은 내가 JS 얻고 있기 때문에 오류를 필요로 알고 있습니다.
각 클릭에 대해 맵 div의 html을 지워서 문제를 해결했지만 솔루션이 더 우수합니다. 시간을내어 그것을 대답하고 바이올린을 만들어 주셔서 감사합니다. – WhatsInAName