Moin Moin,
ein kleines How-To von mir dazu - Code is PHP:
1. Datenbank OpenGeoDB verwenden. (lat/lng, plz, City)
2. Einträge geotaggen (lat/lng Werte- via GMap Api Genauigkeit ca. 2m)
3. Treffer berechnen (User gibt PLZ / Umkreis ein ->> Alle Treffer im Umkreis von x km um PLZ y)
4. Freuen
Stolpersteine dabei: Die LAT/LNG sind in der opengeodb mit Komma getrennt und bei Google per Punkt also Opengeo anpassen..
select * from opengeo where plz=12334 (Suche auf Ortsname bringt nichts viele Orte mehrfach vorhanden zb. Münster)
$lat=str_replace(',','.',$open_LAT_value);
$lng=str_replace(',','.',$open_LNG_value);
Umkreisberechnung :
SELECT ---alle information hier rausholen --- lat,lng, ACOS( (SIN(RADIANS(".$lat."))* SIN(RADIANS(lat))) + (COS(RADIANS(".$lat."))* COS(RADIANS(lat)) * COS(RADIANS(lng) - RADIANS(".$lng."))))* 6378.137 AS distance FROM --- deine firmentabelle---- WHERE (ACOS( (SIN(RADIANS(".$lat.")) * SIN(RADIANS(lat)))+ (COS(RADIANS(".$lat.")) * COS(RADIANS(lat))* COS(RADIANS(lng) - RADIANS(".$lng."))))* 6378.137) <= ---- hier dein umkreis ----- order by distance asc limit 300
Beim Taggen mit Google : Da man nicht unendlich oft taggen darf / monat (ich meine 20 000 ) speicher ich die Firmen Lat/lng in meine Tabelle und es geht so auch schneller. Wenn Du nu das Firmen-Array mit allen informationen hast ----> via XML an eine GMAP und alles wird schön.
Bsp. wie sowas aussehn kann ist ein Projekt an dem ich zzt. Arbeite
http://back2green.de/gartenkarte
aufruf geht auch per
http://back2green.de/gartenkarte/[DEINE PLZ]