x

Lat Lon aus Nominatim in Openlayers nutzen


Geschrieben von ls-sim (Gast) am 07. Juli 2017 23:39:31: [flux]

Hallo zusammen,

ich habe eine Karte erstellt die eine Adresse anzeigen soll die ich mittels Nominatim auslese. Leider schaffe ich es nicht die Karte richtig zu zentrieren. Ich mutmasse dass dies an der Projektion liegt. Die Adresse wird aus einer MySQL Datenbank ausgelesen und in den Javatext eingefügt. Wenn ich z.B. die LatLon aus der GeoLocation des Browsers nutze Funktioniert das Script. So wie unten landet das Center in Afrika.

$(document).ready(function()
{$("#daten").load("http://nominatim.openstreetmap.org/search?q=adresse&format=xml&polygon_svg=1&addressdetails=1",
function()
{
var␣box=$("#daten").find("place").attr("boundingbox");
var␣lat=$("#daten").find("place").attr("lat");
var␣lon=$("#daten").find("place").attr("lon");
var␣esStyle␣=␣new␣ol.style.Style({
image:␣new␣ol.style.Icon(/**␣@type␣{olx.style.IconOptions}␣*/␣({
anchor:␣[13,␣16],
anchorXUnits:␣'pixels',
anchorYUnits:␣'pixels',
src:␣'bg/es.png'
}))
});
var␣esIcon=new␣ol.Feature({
geometry:␣new␣ol.geom.Point(ol.proj.transform([lat,lon],'EPSG:4326','EPSG:3857')),
name:␣'Test'
});
esIcon.setStyle(esStyle);
esIcon.setId("esIcon");
var␣esSource␣=␣new␣ol.source.Vector({
features:␣[esIcon]
});
var␣esLayer␣=␣new␣ol.layer.Vector({
source:␣esSource
});
var␣rasterLayer␣=␣new␣ol.layer.Tile({source:new␣ol.source.OSM()});
var␣map␣=␣new␣ol.Map({
layers:␣[rasterLayer,␣esLayer],
target:␣document.getElementById('map'),
view:␣new␣ol.View({
center:␣ol.proj.fromLonLat([lon,lat]),
zoom:␣3
}),
logo:logoElement
});
});
});

Bin für jede Hilfe Dankbar!


Antworten: