Google Maps afstanden berekenen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Victor -

Victor -

10/06/2012 17:45:39
Quote Anchor link
Hallo,

Ik heb een vrij lastige vraag, maar dit moet te realiseren zijn.
Ik wil graag dat ik op mijn website een route kan berekenen met behulp van google maps (dit lukt al).
Nou wil ik vervolgens dat ik kan kijken waarlangs de route gaat, en dan kijken in mijn database voor plaatsen dichtbij de route, een vast aantal kilometers.
Hoe kan ik dit oplossen.

Als het makkelijker is met bijvoorbeeld bing maps, dan vind ik dat ook niet erg.

Alvast bedankt!
 
PHP hulp

PHP hulp

11/05/2021 00:01:51
 
Erwin H

Erwin H

10/06/2012 17:50:31
Quote Anchor link
Kijk eens naar het onderste kaartje op deze site:
http://www.bdcc.co.uk/Gmaps/BdccGmapBits.htm

Volgens mij is dat wat je bedoelt. Hij berekent de afstand van een punt tot de lijn op de kaart. Op zich is het omgekeerd, maar wellicht kan je het met wat kunst- en vliegwerk gebruiken. Ik heb hier zelf ook al eens naar gekeken, maar nooit echt tot iets bruikbaars gekomen.
 
Victor -

Victor -

10/06/2012 17:53:11
Quote Anchor link
@Erwin, ik wil niet alle punten laten zien op de kaart, maar alleen de punten die dicht bij de route liggen
 
Erwin H

Erwin H

10/06/2012 17:55:54
Quote Anchor link
Heb je de aller, aller onderste bekeken? Die berekent de afstand van je muis tot aan de polyline op de kaart. Dat is wat je wilt. Alleen wil je het niet voor een punt, maar voor meerdere en dan filter je de punten die te ver liggen. Of begrijp ik je echt helemaal verkeerd?
 
Victor -

Victor -

10/06/2012 17:58:31
Quote Anchor link
@Erwin, ik zit denk ik te beperkt te denken, ik wou het alleen met PHP doen, maar je kunt dit niet af zonder wat javascript, ik zal er mee aan de slag gaan. bedankt!
 
Erwin H

Erwin H

10/06/2012 18:00:47
Quote Anchor link
Het voorbeeld is in javascript, maar dat maakt niet uit. Waar het om gaat is dat je de berekening hebt, dat is het moeilijkste. Of je vervolgens die berekening in de database, php of javascript uitvoert maakt niet zoveel uit.
 
Terence Hersbach

Terence Hersbach

10/06/2012 21:28:08
Quote Anchor link
Gebruik deze (javascript) functie om de afstand te berekenen. Tip: Gebruik javascript, dan zit de rekenkracht in de client's browser en niet in jouw server. Bij drukte merk je dat wel namelijk :)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
function distance(lat1,lon1,lat2,lon2) {
    var R = 6371; // km (change this constant to get miles)
    var dLat = (lat2-lat1) * Math.PI / 180;
    var dLon = (lon2-lon1) * Math.PI / 180;
    var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
        Math.cos(lat1 * Math.PI / 180 ) * Math.cos(lat2 * Math.PI / 180 ) *
        Math.sin(dLon/2) * Math.sin(dLon/2);
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
    var d = R * c;
    if (d>1) return Math.round(d)+"km";
    else if (d<=1) return Math.round(d*1000)+"m";
    return d;
}


Stel een lijstje op met coördinaten en loop coördinaat voor coördinaat af. Houd in een array de afstanden bij en je kan deze dan vervolgens sorteren op dichtstbijzijnde.
 
Erwin H

Erwin H

10/06/2012 21:39:31
Quote Anchor link
@Terence, is dat niet de afstand tussen twee punten? TS is op zoek naar de afstand tussen een punt en een lijn (polyline), dat is iets anders.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.