⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 control.js

📁 WebGis基本功能展示
💻 JS
字号:
//Abstract Control class
Abstract.Control = function(){}
Abstract.Control.prototype = {
    initialize: function(){    
    },
    
    paint: function(){
        
    },
    
    loadTiles: function(model, container, mapDiv, isTracing){
        var curZoom = model.getZoom();
        var tiles = curZoom.getTiles(model, container);
        var oldTiles = new Array();
        var tileDivs = mapDiv.childNodes;
        if(mapDiv.id.indexOf('Ov_')==-1){
            var scale = curZoom.getScale()* 1.5 / 100;
            if(scale <1000) {
                scale = parseInt(scale) +" 米";
            }
            else{
                scale = parseInt(scale /1000 *100)/100 + " 公里";
            }
            
            $('scaleInfo').innerHTML = scale;
        }
        
        if(isTracing){
            model.traces[model.traceIndex] = {coord:model.getViewCenterCoord(), level:curZoom.getLevel()};
            model.traceIndex += 1;            
            model.curIndex = model.traceIndex - 1;
        }
        
        var n = 0;
        if(tileDivs){
            for(var i=0; i<tileDivs.length; i++){
                oldTiles.push(tileDivs[i]);
            }            
        }        
        if(tiles){
            for(var i=0; i<tiles.length; i++){
                var tileId = "map_" + model.getId() + "_zoom_" + model.getZoom().getLevel() + "_tile_" + tiles[i].getRow() + "_" + tiles[i].getColumn();
                var isExist = false;
                for(var j=0; j<oldTiles.length; j++){
					if(oldTiles[j] != null && oldTiles[j].getAttribute("id")==tileId){
						isExist = true;
						oldTiles[j] = null;
						break;
					}
				}
				
				if (!isExist) 
				{
					var deltaX = tiles[i].getColumn() * TileSize;
					var deltaY = tiles[i].getRow() * TileSize;
					var tile = document.createElement("div");
					tile.id = tileId;
					tile.style.position = "absolute";
					tile.style.left = deltaX + "px";
					tile.style.top = deltaY + "px";
					tile.onmousedown = null;
					mapDiv.appendChild(tile);
					var tileImage = document.createElement("img");
					tileImage.src = tiles[i].getSrc();
					tileImage.galleryImg = 'no';
					tileImage.onmousedown = null;
					tile.appendChild(tileImage);
					n++;					
				}				
            }
        }
        for (var i=0; i<oldTiles.length; i++) {
			if(oldTiles[i] != null && oldTiles[i].getAttribute("id").indexOf("Over_") > -1){
			    if(tiles.length == n)
			        this.resetOverlay(mapDiv, model, oldTiles[i]);
			    continue;
			}
			if (oldTiles[i] != null) {
				mapDiv.removeChild(oldTiles[i]);
			}
		}
		oldTiles = null;
		tiles = null;
		tileDivs = null;
    },
    
    
    resetOverlay: function(mapDiv, model, div){
        if(div){
            for(var i=0; i<model.overlays.length; i++){
                if(model.overlays[i].id == div.id){
                    model.overlays[i].setToMap(mapDiv, model, div);
                    break;
                }
                
            }
        }
    }
    
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -