Traçage dynamique d'une ligne sur google map

hanen8989 Messages postés 15 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 20 mai 2012 - 31 juil. 2009 à 13:15
hanen8989 Messages postés 15 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 20 mai 2012 - 31 juil. 2009 à 17:41
Salut,
Je suis une debutante en Api-Google, je veux traçer un segment dynamiquement on donnant le point de depart et le point d'arrivée sur le google map point par point sachant que tous ces points sont récupéres de la base avec la language php et java script.
Je travaille avec easy php 1.8
Voici une idée simple :

<?
print "

<SCRIPT type=text/javascript>

var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng( 46.603306,2.869507),14);
map.removeMapType(G_HYBRID_MAP);
map.addMapType(G_PHYSICAL_MAP);
map.setMapType(G_PHYSICAL_MAP);
map.addControl(new GOverviewMapControl());
map.addControl(new GScaleControl());
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.enableScrollWheelZoom();

map.enableGoogleBar();

var icon = new GIcon();
icon.image = "imagescopie.png";
icon.shadow = "imagescopie.png";
icon.iconSize = new GSize(15,15);
icon.shadowSize = new GSize(15,15);
icon.iconAnchor = new GPoint(15,15);
icon.infoWindowAnchor = new GPoint(5, 1);


function createMarker(point)
{
var marker = new GMarker(point, icon,{draggable:false});
return marker;
}
</SCRIPT>

<SCRIPT type=text/javascript>

var stdi = new GPoint(".$lon_deb.",". $lat_deb.");
var marker = createMarker(stdi);
map.addOverlay(marker);

var points = [];
";

$req="select * from sms where matricule='$mat' and date_fin_sms<='$date_fin' and date_fin_sms>='$date_deb'";
$result=mysql_query($req) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($res = mysql_fetch_array($result))
{
print "points.push(new GLatLng(";
print $res['latitude_sms'];
print ",";
print $res['longitude_sms'];
print "));";
}

print "points.push(new GLatLng(34.741883,10.754411))";
print" var movementPolyline = new GPolyline(points);
var k=0;


function tracerSegment(pointdep,pointarr)
{
var polyline = new GPolyline([pointdep,pointarr], "#FF6600", 3,1);
map.addOverlay(polyline);
}

function animate(distance)
{
if(movementPolyline.getLength() > distance)
{
var point1=movementPolyline.GetPointAtDistance(distance-100);
var point2=movementPolyline.GetPointAtDistance(distance);
tracerSegment(point1,point2);
marker.setPoint(point2);
map.panTo(point2);
var newdistance=distance+100;
setTimeout("animate("+newdistance+")", 400);//Sleep
}
}
function move(step,startPoint,EndPoint)
{
if (movementPolyline == null)
{
movementPolyline = new GPolyline([startPoint,EndPoint]);
}
animate(step);
}

move(100);
</SCRIPT>";
?>
Cordialement.
Merçi d'avance.

2 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
31 juil. 2009 à 17:08
Salut

Tout d'abord, je remarque que tu as posté sur le forum C#, alors que ton problème semble concerner PHP => www.phpcs.com
(si un admin peut déplacer le post... merci d'avance)

Ensuite, tu nous dit bien ce que tu veux, tu nous donne bien un bout de code, mais tu ne nous dit pas quel problème tu rencontres. Merci donc de le préciser.

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé ! -
0
hanen8989 Messages postés 15 Date d'inscription samedi 25 juillet 2009 Statut Membre Dernière intervention 20 mai 2012
31 juil. 2009 à 17:41
Salut,

tout d'abord il s'affiche une alert vide lors du chargement de page (prenant que dans tous le code du page n'existe aucun alert) ,
ensuite,le map une part s'affiche et d'autre non peut etre c'est pour le 'key' et dans le cas ou s'affiche lorsque je donne des points à traçer exactement sans du récupération de base ,il ça marche corréctement mais, lorsque je fait une expérience et j'affiche tous ces points simplement avec print c'est à dire longitude et latitude .


cordialement.
0
Rejoignez-nous