op zoek naar stedenlijst
Stel mevrouw woont in Eindhoven en meneer woont in Rotterdam dat er dan word weergeven.
Rotterdam - Eindhoven = 120km.
hoe krijg ik dit voor elkaar? Is er een voorbeeld script desnoods met Amerikaanse steden? dat ik een voorbeeld hebt?
ik heb al zitten google maar kom niet echt iets bruikbaars tegen.
kan iemand mij helpen?
mvg.
Gewijzigd op 27/02/2015 17:52:10 door Eeyk Vd noot
https://developers.google.com/places/documentation/autocomplete
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Amsterdam&types=geocode
Verder heeft Google ook een Google Maps ook een Directions API om afstanden te berekenen
Gewijzigd op 27/02/2015 18:28:55 door - Ariën -
Deze kunnen ingewikkeld en nauwkeurig(er) zijn, waarbij rekening wordt gehouden met de kromming van de aarde, of gemakkelijk(er) (en dus sneller) waarbij lat/lon coordinaten rechtstreeks (en bij benadering) worden omgezet van graden naar meters.
Afhankelijk van hoe nauwkeurig alles moet zijn (milimeters vs (kilo)meters) kun je je methode kiezen. In jouw geval zou je best voor een wat snellere variant kunnen gaan, maar het hangt er natuurlijk ook een beetje vanaf wat je allemaal precies wilt berekenen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DELIMITER $$
CREATE FUNCTION GetDistance (orgLat float,
orgLong float,
destLat float, destLong float)
RETURNS float(10,2)
BEGIN
DECLARE dist float;
SET dist := ROUND(6371 *
acos(cos(radians(orgLat) ) *
cos(radians(destLat)) *
cos(radians(destLong) - radians(orgLong)) + sin(radians(orgLat))
* sin(radians(destLat))), 2);
RETURN dist;
END$$
DELIMITER ;
CREATE FUNCTION GetDistance (orgLat float,
orgLong float,
destLat float, destLong float)
RETURNS float(10,2)
BEGIN
DECLARE dist float;
SET dist := ROUND(6371 *
acos(cos(radians(orgLat) ) *
cos(radians(destLat)) *
cos(radians(destLong) - radians(orgLong)) + sin(radians(orgLat))
* sin(radians(destLat))), 2);
RETURN dist;
END$$
DELIMITER ;
Heb je al gedacht aan postcodes?
@Ger van Steenderen die ga ik zeker bekijken bedankt.
op postcode is ook nog een oplossing mocht het niet lukken thanks.