geolocalisation d'une adresse via une adresse simple

Mammouth du PHP | 804 Messages

11 juil. 2011, 16:37

Bonjour,

Actuellement je mets en place une carte Google map avec des marqueurs, les adresses viennent d'une base de donnée sous la forme "37 quai des orfèvres" et je souhaiterai obtenir la latitude longitude etc. comme Google les réclame, étant novice dans la manipulation de l'api un chevronné pourrai il m'éviter de galérer plus longtemps sachant que j'ai pas mal googoliser le sujet.

Voilà la seule source que j'ai trouvé de correct mais qui ne traite qu'une adresse à la fois et pas comme je le souhaite puisque c'est du javascripts

Code : Tout sélectionner

function afficheCoordonnees(point){ var zoom = maCarte.getZoom(); var normalProj = G_NORMAL_MAP.getProjection(); var sourisPixel = normalProj.fromLatLngToPixel(point, zoom); document.getElementById("coordonneesGPSdegLat").innerHTML = "<b>"+point.lat()+"</b>"; document.getElementById("coordonneesGPSdegLng").innerHTML = "<b>"+point.lng()+"</b>"; document.getElementById("coordonneesGPSradLat").innerHTML = "<b>"+point.latRadians()+"</b>"; document.getElementById("coordonneesGPSradLng").innerHTML = "<b>"+point.lngRadians()+"</b>"; document.getElementById("coordonneesPixelsLat").innerHTML = "<b>"+sourisPixel.x+"</b>"; document.getElementById("coordonneesPixelsLng").innerHTML = "<b>"+sourisPixel.y+"</b>"; } function geocodeAdresse(addresse) { if (geoCodeur) { geoCodeur.getLatLng( addresse, function(point) { if (!point) { alert("Impossible de géolocaliser cette adresse" + addresse); } else { maCarte.addControl(new google.maps.LargeMapControl()); maCarte.addControl(new google.maps.MapTypeControl()); maCarte.addControl(new google.maps.OverviewMapControl()); maCarte.addControl(new google.maps.ScaleControl()); marker = new google.maps.Marker(point, {draggable: true}); google.maps.Event.addListener(marker, 'dragstart', function() { maCarte.closeInfoWindow(); }); google.maps.Event.addListener(marker, 'dragend', function(point) { centreCarte(); }); google.maps.Event.addListener(marker, "drag", function(point) { afficheCoordonnees(point); }); maCarte.clearOverlays(); maCarte.addOverlay(marker); maCarte.setCenter(point, 15); afficheCoordonnees(point); } } ); } }
Merci d'avance

ViPHP
xTG
ViPHP | 7331 Messages

11 juil. 2011, 16:41

Je suis pas adepte (ni même initié) de cette API mais elle permet de récupérer des lat/lng en fournissant une adresse ou inversement.

Mammouth du PHP | 804 Messages

11 juil. 2011, 18:19

salut

oui c'est exactement ce que j'ai besoin mais via une sortie mysql y aurait il une solution 100% PHP plus simple que de générer du javascrips via PHP ?

Eléphant du PHP | 171 Messages

11 juil. 2011, 19:32

Salut,

Après 5 minutes de "Googlisation" j'ai trouvé ça http://code.google.com/apis/maps/docume ... index.html

C'est très simple d'utilisation :

Tu n'a qu'a encodé ton adresse qui sort de ta base avec urlencode. Un petit file_get_contents.

file_get_contents('http://maps.googleapis.com/maps/api/geo ... ensor=true');

Tu reçois une réponse en Json, tu n'as plus qu'a la décoder et le tour et joué tu as ton tableau de données en PHP.

Ta vraiment
pas mal googoliser le sujet
? :P :wink: J'espère que c'est bon en tout cas.. :)
Le bon jugement s'apprend par l'expérience qui s'acquiert en partie par le mauvais jugement.

Mammouth du PHP | 804 Messages

12 juil. 2011, 12:28

j'arrive à obtenir ma longitude et latitude mais c'est dingue je n'arrive pas à l'intégrer dans la fonction de l'api :evil:

Mammouth du PHP | 804 Messages

12 juil. 2011, 14:32

problème trouvé j'ai utiliser la version 3 de l'api qui est nettement mieux, merci :wink: