Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα

 

Ειμαι καινουριος στα openLayers και θελω να κανω align καποια layers αλλα συνεχεια κατι παει λαθος.

 

Τα layers ειναι WMS και τα "τραβαω" απο postGIS. Το προβλημα ειναι οτι και τα πέντε εχουν διαφορετικά bounds οποτε το ενα απο τα 5 δεν προβαλλεται ολοκληρο (το Pins). Δηλαδη περιεχει καποια σημεια και πολυγωνα που δεν εμφανιζονται, όσο κ αν κανω zoom ή pan. Ενω αν το προβάλλω μόνο του, εμφανιζεται κανονικα ολόκληρο.

 

Παραθέτω ολόκληρο τον κώδικα που εχω γραψει....

 

(Notes : τα bounds ειναι η μονη διαφορα τους, το projection ειναι ίδιο και στα 5, ειναι το EPSG900913 / τρεχουν ολα στο ιδιο pc, τοπικα / openLayers 2.11 / postgreSQL 9.1 / postGIS 2.0 / geoserver 2.1.3)

 

//create map var
var map;

//set the bounds of polygon layer as max
var bounds = new OpenLayers.Bounds(2297128.5, 4618333, 2459120.25, 4763120);

//set the bounds of pins layer as min
var bounds2 = new OpenLayers.Bounds(-1,-1,0,0);

//set opitons for map
var options = {    controls: [],
                   maxExtent: bounds,
                    minExtend:bounds2,
                   maxResolution: "auto",
                   minResolution: "auto",
                    projection: "EPSG:900913",
                    units: 'm'
                };

function init(){
//create a map	
map = new OpenLayers.Map('map_element', options);
                //basic planet osm layers
                 var basic = new OpenLayers.Layer.WMS('Βασικό επίπεδο',
                 "http://localhost:8080/geoserver/cultumap/wms?",
                  {layers: 'cultumap:planet_osm_polygon, cultumap:planet_osm_line, cultumap:planet_osm_roads, cultumap:planet_osm_point'},
                        {tiled: true,
					    displayOutsideMaxExtent: false,
					    isBaseLayer: true,				
						displayInLayerSwitcher: false
							} );
			  //pins layer				
	          var pins = new OpenLayers.Layer.WMS('Πολιτιστικά Σημεία',
                 "http://localhost:8080/geoserver/cultumap/wms?",
                  {layers: 'cultumap:pins' ,
				  transparent: true
				  },
                        {tiled: true,
					    displayOutsideMaxExtent: false,
					    isBaseLayer: false,
						displayInLayerSwitcher: true		
							} );


         
//add layers to the map
map.addLayers([basic, pins]);


//add layer switcher 
map.addControl(new OpenLayers.Control.LayerSwitcher({}));

//add all controls               
   map.addControl(new OpenLayers.Control.PanZoomBar({position: new OpenLayers.Pixel(2, 15)}));
               map.addControl(new OpenLayers.Control.Navigation());
                map.addControl(new OpenLayers.Control.Scale($('scale')));
                map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));

//set center of the map
if(!map.getCenter()){map.zoomToMaxExtent();}

}

Στο παραπανω σαν max bounds εχω βαλει αυτα του polygon layer και σαν min αυτα του pins layer

 

Επισης , παρακατω, δοκιμασα να ορισω ξεχωριστα extends και resolutions για καθε layer και το αποτελεσμα ηταν το Pins layer να μην γινεται καν rendering ...

 

//create map var
var map;

//set opitons for map
var options = {    controls: [],
                    projection: "EPSG:900913",
                    units: 'm'
                };

function init(){
//create a map	
map = new OpenLayers.Map('map_element', options);
                //basic planet osm layers
                 var basic = new OpenLayers.Layer.WMS('Βασικό επίπεδο',
                 "http://localhost:8080/geoserver/cultumap/wms?",
                  {layers: 'cultumap:planet_osm_polygon, cultumap:planet_osm_line, cultumap:planet_osm_roads, cultumap:planet_osm_point'},
                        {tiled: true,
					    displayOutsideMaxExtent: false,
					    isBaseLayer: true,
												displayInLayerSwitcher: false,
					'maxExtent' : new OpenLayers.Bounds(2297128.5, 4618333, 2459120.25, 4763120),
						'maxResolution': "auto"
						
						   							} );
			  //pins layer				
	          var pins = new OpenLayers.Layer.WMS('Πολιτιστικά Σημεία',
                 "http://localhost:8080/geoserver/cultumap/wms?",
                  {layers: 'cultumap:pins' ,
				  transparent: true
				  },
                        {tiled: true,
					    displayOutsideMaxExtent: false,
					    isBaseLayer: false,
						
						displayInLayerSwitcher: true,
						'maxExtent' : new OpenLayers.Bounds(-1,-1,0,0),
						'maxResolution': "auto"
						   							} );


         
//add layers to the map
map.addLayers([basic, pins]);


//add layer switcher 
map.addControl(new OpenLayers.Control.LayerSwitcher({}));

//add all controls               
   map.addControl(new OpenLayers.Control.PanZoomBar({position: new OpenLayers.Pixel(2, 15)}));
               map.addControl(new OpenLayers.Control.Navigation());
                map.addControl(new OpenLayers.Control.Scale($('scale')));
                map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));

//set center of the map
if(!map.getCenter()){map.zoomToMaxExtent();}

}

 

 Any suggestions ?????

 

Ευχαριστω πολυ

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...