Hallo.
Ich stelle eine Karte mit
<div style="width: 100%; height: 100%;" id="mapdiv"></div>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script> <?php
$bildn = "stat_sys_battery_charge_anim3.png";
$gr = getimagesize($bildn); ?>
<script>
OpenLayers.Lang.setCode('de');
map = new OpenLayers.Map("mapdiv");
map.addLayer(new OpenLayers.Layer.OSM());
epsg4326 = new OpenLayers.Projection("EPSG:4326"); //WGS 1984 projection
projectTo = map.getProjectionObject(); //The map projection (Spherical Mercator)
var lonLat = new OpenLayers.LonLat( <?php echo $_GET['lon']; ?> ,<?php echo $_GET['lat']; ?> ).transform(epsg4326, projectTo);
var zoom=<?php echo $radius; ?>;
map.setCenter (lonLat, zoom);
var vectorLayer = new OpenLayers.Layer.Vector("Overlay");
var feature = new OpenLayers.Feature.Vector(
new OpenLayers.Geometry.Point( <?php echo $_GET['lon']; ?> ,<?php echo $_GET['lat']; ?> ).transform(epsg4326, projectTo),
{description:'Standort'} ,
{externalGraphic: '<?php echo $bildn; ?>', graphicHeight: <?php echo $gr[1]; ?>, graphicWidth: <?php echo $gr[0]; ?>, graphicXOffset:<?php echo -$gr[0]/2; ?>, graphicYOffset:<?php echo -$gr[1]; ?> }
);
vectorLayer.addFeatures(feature);
map.addLayer(vectorLayer);
//Add a selector control to the vectorLayer with popup functions
var controls = {
selector: new OpenLayers.Control.SelectFeature(vectorLayer, { onSelect: createPopup, onUnselect: destroyPopup })
};
function createPopup(feature) {
feature.popup = new OpenLayers.Popup.FramedCloud("pop",
feature.geometry.getBounds().getCenterLonLat(),
null,
'<div class="markerContent">'+feature.attributes.description+'</div>',
null,
true,
function() { controls['selector'].unselectAll(); }
);
//feature.popup.closeOnMove = true;
map.addPopup(feature.popup);
}
function destroyPopup(feature) {
feature.popup.destroy();
feature.popup = null;
}
map.addControl(controls['selector']);
controls['selector'].activate();
</script>
dar, was auch funktioniert. Jetzt ist mir nicht klar, wie ich osm/openlayers anweisen kann, innerhalb des
<div style="width: 100%; height: 100%;" id="mapdiv"></div>
nur den Abschnitt anzuzeigen zwischen bestimmten Koordinaten - und bestenfalls den Rest auszublenden; das heißt, wenn herausgezoomt wird, wird nur der Bereich zwischen den Koordinaten angezeigt, sonst ist alles weiß. Also etwa LATLON links oben und rechts unten.
Wie würdest du das bei meinem Code tun?