1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Touraine Vertee : Marqueur déplaçable et affichage des coordonnées GPS</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- Chargement du script Google Maps, version 3-->
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script language="JavaScript" type="text/JavaScript">
var maCarte;//la Carte google
var geoCodeur;//le geocodeur qui permet la geolocalisation
var marker;//le marker qui va s'afficher sur la carte
var point;
var markersArray = [];//tableau des point qui permet de nettoyer la carte
// fonction qui permet de nettoyer la carte
function clearOverlays() {
if (markersArray) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
}
}
function afficheCoordonnees(point){
document.getElementById("coordonneesGPSdegLat").innerHTML = "<b>"+point.lat()+"</b>";
document.getElementById("coordonneesGPSdegLng").innerHTML = "<b>"+point.lng()+"</b>";
}
//Fonction de géolocalisation
function geocodeAdresse(addresse)
{
if (geoCodeur) {//si geoCodeur existe
geoCodeur.geocode( { 'address': addresse},//on récupére l'adresse entré par l'utisateur
function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {//si on trouve une correspondance a cette adresse
point=results[0].geometry.location;
//On créé un nouveau marker
var marker = new google.maps.Marker({
map: maCarte,
draggable:true,
position: point
});
google.maps.event.addListener(marker, 'dragend', function(point) {
afficheCoordonnees(point);
});
clearOverlays();
markersArray.push(marker);//on entre le marker dans un tableau pour pouvoir l'effacer
maCarte.setCenter(point, 12);//On centre la map
afficheCoordonnees(point);//affiche les coodonnée gps a l'utilisateur
} else {//si on ne trouve pas de correspondance
alert("La Geolocalisation est un echec pour la raison suivante: " + status);//message d'erreur
}
}
);
}
}
function initialize(){
var centreCarte = new google.maps.LatLng(47, 3);
var optionsCarte = {
zoom: 5,
center: centreCarte,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
//maCarte = new GMap2(document.getElementById("EmplacementDeMaCarte"));
//maCarte.setCenter(new GLatLng(47, 3), 5);
//geoCodeur = new GClientGeocoder();
geoCodeur = new google.maps.Geocoder();
}
var centreCarte = new google.maps.LatLng(47, 3);
var optionsCarte = {
zoom: 5,
center: centreCarte,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
</script>
<style type="text/css">
<!--
.cadre{margin:1em 0;padding:1em 0;height:auto;border:1px solid #513a0b;text-align:center;background-color:#e7e3d7;}
table.tablotexte{margin:0;margin-top:2em;padding:0;width:100%;border-collapse:collapse;border:1px solid #303030;font:1em Arial,Helvetica,sans-serif; background-color: #FFFFFF;}
table.tablotexte th{border:1px solid #303030;text-align:center;padding:5px;background:#d3cdb8;color:#513a0b;}
table.tablotexte td{border:1px solid #303030;text-align:justify;padding:5px;vertical-align:top;}
-->
</style>
</head>
<!-- Une fois la page chargée la fonction initialize() est exécutée. -->
<!-- A la fermeture de la page , la fonction GUnload() est exécutée. -->
<body onload="initialize()">
<!-- La carte nommée "MaCarte", va venir s'afficher à l' intérieur de -->
<!-- la balise <div> ayant pour identifiant id="EmplacementDeMaCarte". -->
<!-- Elle fera donc 100% de large et 400 pixels de haut. -->
<div id="EmplacementDeMaCarte" style="width: 100%; height: 400px;"></div>
<form action="#" onsubmit="geocodeAdresse(this.addresse.value); return false">
<div class="cadre">
<div>Entrez une adresse ou validez celle indiquée par défaut. Puis déplacez le marqueur comme bon vous semble.<br />Les <em>coordonnées géographiques du marqueur</em> apparaissent sous le bouton "Valider"</div>
<br />
<div>Adresse postale : <input type="text" size="60" name="addresse" value="rue bretonneau 37000 tours france" /></div>
<br />
<div><input type="submit" value="Valider" title="Valider le formulaire" alt="Valider le formulaire" /></div>
</div>
</form>
<table class="tablotexte">
<tr>
<th colspan="3">Coordonnées géographiques du marqueur</th>
</tr>
<tr>
<th>Unité</th>
<th>Latitude</th>
<th>Longitude</th>
</tr>
<tr>
<td>Degrès</td>
<td><div id="coordonneesGPSdegLat"></div></td>
<td><div id="coordonneesGPSdegLng"></div></td>
</tr>
<tr>
<td>Radians</td>
<td><div id="coordonneesGPSradLat"></div></td>
<td><div id="coordonneesGPSradLng"></div></td>
</tr>
<tr>
<td>Pixels</td>
<td><div id="coordonneesPixelsLat"></div></td>
<td><div id="coordonneesPixelsLng"></div></td>
</tr>
</table>
<!-- Si JavaScript n'est pas activé sur votre navigateur, le message d'alerte situé entre les balises <noscript></noscript> s'affichera -->
<noscript>
<p>Attention : </p>
<p>Afin de pouvoir utiliser Google Maps, JavaScript doit être activé.</p>
<p>Or, il semble que JavaScript est désactivé ou qu'il n'est pas supporté par votre navigateur.</p>
<p>Pour afficher Google Maps, activez JavaScript en modifiant les options de votre navigateur, puis essayez à nouveau.</p>
</noscript>
</body>
</html> |
Partager