Hallo!
Ich bekomme Adressdaten aus meiner Datenbank und generiere daraus eine Adresse für Nominatim.
<?php
$decode_strasse = $result_lehrgang['lehrgang_strasse'];
$decode_hnr = $result_lehrgang['lehrgang_hausnummer'];
$decode_plz = $result_lehrgang['lehrgang_plz'];
$decode_ort = $result_lehrgang['lehrgang_ort'];
$suchstring = "http://nominatim.openstreetmap.org/search/". $decode_strasse ."%20". $decode_hnr ."%20". $decode_plz . "%20" . $decode_ort ."?format=json&addressdetails=1&limit=1&polygon_svg=1";
$json = file_get_contents($suchstring);
$dataObject = json_decode($json);
?>
Danach lasse ich mir die Daten in der Karte ausgeben →
<div id="mapdiv" style="height:400px; width:100%;"></div>
<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script>
map = new OpenLayers.Map("mapdiv");
map.addLayer(new OpenLayers.Layer.OSM());
var lonLat = new OpenLayers.LonLat( <?php echo $dataObject[0]->lon; ?> ,<?php echo $dataObject[0]->lat; ?> )
.transform(
new OpenLayers.Projection("EPSG:4326"), // Transformation aus dem Koordinatensystem WGS 1984
map.getProjectionObject() // in das Koordinatensystem 'Spherical Mercator Projection'
);
var zoom=16;
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
markers.addMarker(new OpenLayers.Marker(lonLat));
map.setCenter (lonLat, zoom);
</script>
Nominatim liefert mir auf der Seite einen Bad Request. Gebe ich die generierte Adresse aber in die Browserzeile ein, erhalte ich die gewünschten Daten.
Irgendjemand eine Idee?