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
|
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0px; padding: 0px }
#map_canvas { height: 100% }
</style>
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
function Event(){
this.addListener=function(element,baseName,nameFunction){
if(element.addEventListener){
element.addEventListener(baseName,nameFunction,false);
}
else if(element.attachEvent){
element.attachEvent('on'+baseName,nameFunction);
}
else{
//
}
}
}
function GoogleValue(){
this.value=0;
if(typeof GoogleValue.init=="undefined"){
GoogleValue.prototype.extract=function(res){
this.value=res;
adress2latlng(this.value);// on renvoit à la fonction de depart
}
GoogleValue.prototype.initialize=function(address,objet){
var geocoder;
geocoder = new google.maps.Geocoder();
geocoder.geocode( { 'address': address},function(results,status) {
if (status == google.maps.GeocoderStatus.OK) {
var latlng_local = results[0].geometry.location;
objet.extract(latlng_local); //on appelle la méthode extract sur l'objet GoogleValue passé en paramètre
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
};
GoogleValue.init=true;
}
}
</script>
</head>
<body>
<script>
function adress2latlng(){
if(arguments[0].type=="load"){// le 1er argument etant un objet event on créé l'objet uniquement dans ce cas là
oGoogle=new GoogleValue();//on créé l'objet
oGoogle.initialize("paris,France",oGoogle);//on apelle la méthode initialize et on lui passe l'objet
}
else{ // la fonction cette fois ci est appellé par la méthode d'objet extract le 1er argument est donc la valeur que l'on veut récuperer et on stop la récursivité.
latlng_global=arguments[0];
alert(latlng_global);// et on affiche la valeur voulue
return false;
}
}
var eventObj=new Event();
eventObj.addListener(window,'load',adress2latlng);
</script>
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html> |
Partager