Openlayers2多地图联动

地图实际使用中经常会出现多地图对比的情况,多图联动需求明确,通过openlayers中的map.center 控制多个地图直接联动,主要代码为:

 

 

 
当存在两个地图的时候 _maps = [map1 , map2] ;
_maps[0].events.register("move", _maps[0], function() { 
		
			
				if(_test_move) {
				
					var  c1 = this.getCenter();
					var z1 = this.getZoom();
				
					_test_move = false;
					if(_maps[1])
						_maps[1].setCenter(c1,z1);
				
					_test_move = true;
				}
			
			
			 
			
			});
			if(_maps[1])
				_maps[1].events.register("move", _maps[1], function() { 
		 
					if(_test_move) {
					
						var  c1 = this.getCenter();
						var z1 = this.getZoom();
				
						_test_move = false;
				
						_maps[0].setCenter(c1,z1);
				
						_test_move = true;
					}
			 
			
				});

 

测试页面为:

 





test markers 
 
 









  实际效果为:


Openlayers2多地图联动_第1张图片
 

 

附件中有demo

 

你可能感兴趣的:(GIS)