Google Maps API
Hallo,
Ik wil graag mijn eigen plaatsen op mijn custom google map krijgen.
Nou heb ik al een webpagina waar ik dmv de google maps api een map oplaad, en daarna een route kan berekenen. Nou wil ik alleen langs deze route eigen 'markers' zetten. Hoe kan ik dat doen?
En als dat kan, kan ik ze dan ook neerzetten, alleen bijvoorbeeld vijf kilometer vanwaar je langs rijd?
Alvast bedankt.
Ik wil graag mijn eigen plaatsen op mijn custom google map krijgen.
Nou heb ik al een webpagina waar ik dmv de google maps api een map oplaad, en daarna een route kan berekenen. Nou wil ik alleen langs deze route eigen 'markers' zetten. Hoe kan ik dat doen?
En als dat kan, kan ik ze dan ook neerzetten, alleen bijvoorbeeld vijf kilometer vanwaar je langs rijd?
Alvast bedankt.
Gesponsorde koppelingen:
Zoiets als dit: http://gmap3.net/api.html
Ik moet je alleen eerlijk zeggen, ik heb dit nog op mijn todo lijst staan. Nog geen persoonlijke ervaring ermee dus, alleen bookmarks naar een paar tutorials :-)
Ik moet je alleen eerlijk zeggen, ik heb dit nog op mijn todo lijst staan. Nog geen persoonlijke ervaring ermee dus, alleen bookmarks naar een paar tutorials :-)
@Erwin toch bedankt! Ik heb ook al even lopen googelen en kom er niet echt uit, misschien is het hartstikke makkelijk, maar uit de documentation van google zelf word ik niets wijzer:$
De bedoeling is dat ze alleen binnen bijvoorbeeld vijf kilometer van de route komen.
Edit: Dan zal je iets uit je database moeten halen, om te kijken welke dichtbij licht, maar ik weet niet precies hoe je de locatie van de route kan ophalen
De bedoeling is dat ze alleen binnen bijvoorbeeld vijf kilometer van de route komen.
Edit: Dan zal je iets uit je database moeten halen, om te kijken welke dichtbij licht, maar ik weet niet precies hoe je de locatie van de route kan ophalen
Gewijzigd op 17/01/2012 19:55:07 door Victor -
Victor, voor de zekerheid kijk hier eens: klik
Voor de V2 moet je meer gaan betalen. (Dit omdat google je op V3 wil laten werken)
Daarnaast, Je kan toch gewoon markers op de kaart tekenen?
Voor de V2 moet je meer gaan betalen. (Dit omdat google je op V3 wil laten werken)
Daarnaast, Je kan toch gewoon markers op de kaart tekenen?
Niels, dat betalen had ik gelezen, maar met 25.000 hits zit ik voorlopig goed. Markers op de kaart lukt ook gewoon, alleen ik wil ze alleen dichtbij mijn route hebben staan, dus ik moet op de een of andere manier van google te horen krijgen hoe de route loopt, dan kan je daarna door middel van ajax verder kijken
Ik heb een tijdje geleden een tutorialserie geschreven over de belangrijkste onderdelen in de Google Maps API V3. De tutorials zijn:
- Google Maps API V3: De kaart krijgen
- Google Maps API V3: Markers
- Google Maps API V3: InfoWindows
- Google Maps API V3: Lijnen en vakken
- Google Maps API V3: Extra aanpassingen
Victor, ik heb hier geen ervaring mee. Maar ik denk dat je met de Google Maps API Family :: Geolocation API wel wat kunt.
- Google Maps API V3: De kaart krijgen
- Google Maps API V3: Markers
- Google Maps API V3: InfoWindows
- Google Maps API V3: Lijnen en vakken
- Google Maps API V3: Extra aanpassingen
Victor, ik heb hier geen ervaring mee. Maar ik denk dat je met de Google Maps API Family :: Geolocation API wel wat kunt.
De afstand bepalen tussen twee punten op de aarde heb ik een formule voor, geimplementeerd in php:
$p1 en $p2 zijn dus arrays met keys 0 en 1 (of CO_LAT en CO_LONG om het leesbaar te houden.
Uitkomst is de afstand, over de aarde, in kilometers. Het is niet 100% nauwkeurig, maar zolang je niet dicht bij de polen komt is het te doen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
define( "CO_LAT", 0 );
define( "CO_LONG", 1 );
function calcDistance( $p1, $p2 ){
$p1[CO_LAT] = deg2rad( $p1[CO_LAT] );
$p2[CO_LAT] = deg2rad( $p2[CO_LAT] );
$theta = deg2rad( $p1[CO_LONG]-$p2[CO_LONG] );
$d = (sin( $p1[CO_LAT] ) * sin( $p2[CO_LAT] )) + cos( $p1[CO_LAT] ) * cos( $p2[CO_LAT] ) * cos( $theta );
$d = acos( $d );
return $d * 6371; //radius of the earth in kilometers
}
?>
define( "CO_LAT", 0 );
define( "CO_LONG", 1 );
function calcDistance( $p1, $p2 ){
$p1[CO_LAT] = deg2rad( $p1[CO_LAT] );
$p2[CO_LAT] = deg2rad( $p2[CO_LAT] );
$theta = deg2rad( $p1[CO_LONG]-$p2[CO_LONG] );
$d = (sin( $p1[CO_LAT] ) * sin( $p2[CO_LAT] )) + cos( $p1[CO_LAT] ) * cos( $p2[CO_LAT] ) * cos( $theta );
$d = acos( $d );
return $d * 6371; //radius of the earth in kilometers
}
?>
$p1 en $p2 zijn dus arrays met keys 0 en 1 (of CO_LAT en CO_LONG om het leesbaar te houden.
Uitkomst is de afstand, over de aarde, in kilometers. Het is niet 100% nauwkeurig, maar zolang je niet dicht bij de polen komt is het te doen.
Gewijzigd op 17/01/2012 21:52:13 door Erwin H



