JürgenB: mySQL: Nachbarorte finden

Beitrag lesen

Hallo,

mit folgender Funktion berechne ich Eckkoordinaten, um eine Google Maps Karte zu skalieren:

JB.bounds = function(center_lat,center_lon,radius) {
	var d = radius/6378.137;
	var fak = Math.PI/180;
	var lat = center_lat * fak;
	var lon = center_lon * fak;
	var sind = Math.sin(d);
	var cosd = Math.cos(d);
	var sinlat = Math.sin(lat);
	var coslat = Math.cos(lat);
	var latmin = (Math.asin(sinlat*cosd - coslat*sind))/fak;
	var latmax = (Math.asin(sinlat*cosd + coslat*sind))/fak;
	var lonmin = (lon - Math.asin(sind/coslat))/fak;
	var lonmax = (lon + Math.asin(sind/coslat))/fak;
	return {latmin:latmin,latmax:latmax,lonmin:lonmin,lonmax:lonmax};
} // JB.bounds

center_lat und center_lon, sind die Koordinaten des Mittelpunktes in Grad, radius der Radius in km. Mehr dazu siehe http://de.wikipedia.org/wiki/Wegpunkt-Projektion. Hier findest du auch eine Näherungsformel für kurze Entfernungen.

Gruß
Jürgen