Google Maps API
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.
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 :-)
Zoiets als dit: 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 :-)
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 -
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?
Victor, voor de zekerheid kijk hier eens: 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
- 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.
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