2010-08-31 4 views
0

j'ai créé la fonction suivante pour afficher et adresse JS:recherche d'une adresse à l'aide de Google Maps API Javascript

function showMapForm(idDiv, divWidth, divHeight, idLat, idLng) { 
    document.getElementById(idDiv).style.width = divWidth+'px'; 
    document.getElementById(idDiv).style.height = divHeight+'px'; 
    if (document.getElementById(idLat).value=='' && document.getElementById(idLng).value=='') { 
     //Paris 
     iniLat = 48.85455; 
     iniLng = 2.358627; 
    } else { 
     iniLat = document.getElementById(idLat).value; 
     iniLng = document.getElementById(idLng).value; 
    } 
    var latlng = new google.maps.LatLng(iniLat, iniLng); 
    var myOptions = { 
        zoom: 15, 
        center: latlng, 
        mapTypeId: google.maps.MapTypeId.ROADMAP 
        }; 
    map = new google.maps.Map(document.getElementById(idDiv), myOptions); 

    marker = new google.maps.Marker({ 
             position: new google.maps.LatLng(iniLat, iniLng), 
             map: map 
             }); 

    google.maps.event.addListener(map, 'click', function(eve) { 
     marker.setPosition(eve.latLng); 
     document.getElementById(idLat).value = marker.getPosition().lat(); 
     document.getElementById(idLng).value = marker.getPosition().lng(); 
    }); 
} 

comme vous pouvez le voir nécessite l'identification d'une div, la largeur et la hauteur désirée et la id des champs cachés où j'ai stocké la latitude et la longitude, si ces valeurs ne sont pas présentes, il utilisera la latitude et la longitude de Paris. Ce que je voudrais faire est d'améliorer cette fonction afin qu'elle puisse accepter une valeur de chaîne avec une adresse comme "Saint Joseph Street No. 45, Paris" et mettre un marqueur si elle trouve l'adresse.

Ma question est: savez-vous s'il existe un moyen d'obtenir une latitude et une longitude à partir d'une chaîne de recherche en utilisant l'API google maps? (La première occurrence le fera)

Répondre

4

Utilisez le geocoder:

+0

dois être la réponse la plus courte>. > –