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

 

  • Openlayers2多地图联动_第2张图片
  • 大小: 272.5 KB
  • 地图联动.zip (304.2 KB)
  • 下载次数: 2
  • 查看图片附件

你可能感兴趣的:(Openlayers,多图联动)