also erst mal vielen dank für eure hilfe!
ich kann die datei über die url aufrufen und sieht wie folgt aus
point title description icon
46.677997,15.548585 Dreisiebner Stammhaus homepage=http://www.dreisiebner.com
telefon=0043-3453-2590 http://www.openlayers.org/dev/img/marker.png
46.673094,15.551529 Trunk Karl homepage=http://www.trunk.st
telefon=0043-3453-6813 http://www.openlayers.org/dev/img/marker.png
46.672776,15.548663 Weinidylle Dreisiebner homepage=http://www.weinidylle-dreisiebner.at
telefon=0043-3453-2809 http://www.openlayers.org/dev/img/mark
is nur ein kleiner auszug wollte nicht alles reinkopieren, ich vermute das dieser teil nicht richtig aufgebaut ist!
das kann ich leider nicht sagen, da ich zurzeit arbeite und nicht auf die uni komme
wenn ich das dev raus lösche wird mir mitgeteilt das open layers nicht definiert ist.
meine map.html sieht wie folgt aus:
<html>
<head>
<!-- OpenLayers core js -->
<script src="http://www.openlayers.org/dev/OpenLayers.js"></script>
<!-- OpenStreetMap base layer js -->
<script
src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js">
</script>
<!-- Google Maps -->
<script src="http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.2&mkt=en-us">
</script>
<script type="text/javascript">
function init() {
//set up projections
OpenLayers.ProxyHost = "/cgi-bin/proxy.py?url="
// World Geodetic System 1984 projection
var WGS84 = new OpenLayers.Projection("EPSG:4326");
// WGS84 Google Mercator projection
var WGS84_google_mercator = new OpenLayers.Projection("EPSG:900913");
//Initialize the map
//creates a new openlayers map in the <div> html element id map
var map = new OpenLayers.Map ("map", {
controls:[
//allows the user pan ability
new OpenLayers.Control.Navigation(),
//displays the pan/zoom tools
new OpenLayers.Control.PanZoom(),
//displays a layer switcher
new OpenLayers.Control.LayerSwitcher(),
//displays the mouse position's coordinates in a <div> html element with
new OpenLayers.Control.MousePosition({
div:document.getElementById("coordinates")
})
],
projection: WGS84_google_mercator,
displayProjection: WGS84
} );
//base layers
var openstreetmap = new OpenLayers.Layer.OSM();
var hybrid = new OpenLayers.Layer.VirtualEarth("BING Hybrid", {
type: VEMapStyle.Hybrid, sphericalMercator: true });
var aerial = new OpenLayers.Layer.VirtualEarth("BING Luftbild", {
type: VEMapStyle.Aerial, sphericalMercator: true });
var stmk = new OpenLayers.Layer.WMS( "stmk", "http://129.27.89.66/cgi-bin/mapserv?",
{ map: "F:/ms4w/Apache/htdocs/student/master_geom/hp/map.map", layers: "stmk", transparent: "true"},
{
isBaseLayer: false,
sphericalMercator: true,
singleTile: true,
opacity:0.8
});
var pois = new OpenLayers.Layer.Vector("POIs", {
isBaseLayer: false,
sphericalMercator: true,
singleTile: true,
opacity:0.8,
strategies: [new OpenLayers.Strategy.BBOX({resFactor: 1.1})],
protocol: new OpenLayers.Protocol.HTTP({
url: "allebetriebe.php",
format: new OpenLayers.Format.Text()
})
});
map.addLayers([openstreetmap,hybrid, aerial, stmk, pois]);
pois.setVisibility(true);
// map extent
var mapextent = new OpenLayers.Bounds(15.39633, 46.61470, 15.56113, 46.72708).transform(WGS84, map.getProjectionObject());
map.zoomToExtent(mapextent);
// Interaction; not needed for initial display.
selectControl = new OpenLayers.Control.SelectFeature(pois);
map.addControl(selectControl);
selectControl.activate();
pois.events.on({
'featureselected': onFeatureSelect,
'featureunselected': onFeatureUnselect
});
}
// Needed only for interaction, not for the display.
function onPopupClose(evt) {
// 'this' is the popup.
var feature = this.feature;
if (feature.pois) { // The feature is not destroyed
selectControl.unselect(feature);
} else { // After "moveend" or "refresh" events on POIs layer all
// features have been destroyed by the Strategy.BBOX
this.destroy();
}
}
function onFeatureSelect(evt) {
feature = evt.feature;
popup = new OpenLayers.Popup.FramedCloud("featurePopup",
feature.geometry.getBounds().getCenterLonLat(),
new OpenLayers.Size(100,100),
"<h2>"+feature.attributes.title + "</h2>" +
feature.attributes.description,
null, true, onPopupClose);
feature.popup = popup;
popup.feature = feature;
map.addPopup(popup, true);
}
function onFeatureUnselect(evt) {
feature = evt.feature;
if (feature.popup) {
popup.feature = null;
map.removePopup(feature.popup);
feature.popup.destroy();
feature.popup = null;
}
}
</script>
</head>
<body onload="init()">
<div id="map" style="width:700px; height:700px;"></div>
<div id="coordinates"></div>
</body>
</html>
und die php so:
$conn = pg_connect("host=$host port=$port dbname=$dbname user=$user password=$password");
$bbx = $_GET["bbox"] ;
$array = explode(",",$bbx);
$ble = $array[0] ;
$bbo = $array[1] ;
$bri = $array[2] ;
$bto = $array[3] ;
$betriebe = "SELECT name, homepage, telefon, breite, laenge FROM betriebe";
$result = pg_query($conn, $betriebe);
$header = "point\ttitle\tdescription\ticon\n" ;
echo $header ;
while($row = pg_fetch_object($result))
{
$daten = $row->breite.",".$row->laenge."\t".$row->name."\t"."homepage=".$row->homepage."<br>telefon=".$row->telefon."\t"."http://www.openlayers.org/dev/img/marker.png\n";
echo $daten ;
}
pg_close($conn);
?>
die verbindungsangaben hab ich draußen gelassen.