2010-11-19 8 views
1

J'ai mon propre script PHP, comme:Obtenir l'URL de Google Maps? :)

<?php 

    <iframe width="425" height="350" frameborder="0" scrolling="no" src="' .$url .'"></iframe> 

?> 

Comme vous pouvez le voir est par défaut de Google Map iframe (aller à maps.google.com, tapez quelque chose, puis cliquez sur « lien » à droite haut et vérifiez le code udner "Coller le code HTML à intégrer dans le site Web" pour voir à quoi il ressemble).

Le point est que je veux créer une entrée conviviale pour la variable $ url.

En ce moment, les utilisateurs doivent aller sur le site Web de Google, copier la deuxième URL du «lien», puis supprimer tout le reste et mettre seulement le src = url dans l'entrée.

Existe-t-il un moyen de créer une recherche Google Maps sur mon site pour mettre à jour mes données de position après une recherche?

Il devrait ressembler à ça:

http://jsfiddle.net/rMLKJ/

Répondre

0

Vous pouvez utiliser le service Web de géocodage Google.

http://code.google.com/intl/en/apis/maps/documentation/geocoding/index.html

c'est une requête http à:

http://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false 

Si vous voulez le faire côté serveur. Vous faites la demande à partir de votre code php, alors vous aurez vos coordonnées, et vous pouvez les passer à l'entrée.

Si vous souhaitez une approche côté client, vous pouvez effectuer une requête depuis javascript via ajax, puis envoyer les coordonnées au serveur en utilisant un autre appel ajax.

1

J'ai mis en place une démo pour vous here

Un simple script php obtient les coordonnées à l'aide du api géocodage google

<?php 

$address = $_GET['address']; 
$address=str_replace(" ","+",$address); 
if ($address) { 
    $json = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.$address. 
    '&sensor=true'); 
    echo $json; 
} 

?> 

Je l'ai utilisé jQuery ici pour faire la demande Ajax. La latitude et la longitude sont analysées à partir du JSON retourné par le script PHP et un marqueur est créé pour afficher l'emplacement sur la carte.

function getMarker() { 
    var address=$('#address').val(); 
    address=address.replace(/ /g,"+"); 

    $.getJSON("getjson.php?address="+address, 
     function(data){ 
      lat=data.results[0].geometry.location.lat; 
      lng=data.results[0].geometry.location.lng; 
      point= new google.maps.LatLng(lat,lng); 
      map.setCenter(point); 
      zoom = 14; 
      marker = createMarker(point,"<h3>Marker"+(markersArray.length+1)+"</h3>",zoom); 

      var newLi=document.createElement("li"); 
      var newA=document.createElement("a"); 
      var newText = document.createTextNode("Marker "+(markersArray.length+1)); 
      newA.appendChild(newText); 
      newLi.appendChild(newA); 
      newA.setAttribute('onclick','displayMarker(this.innerHTML);'); 
      document.getElementById('marker_tabs').appendChild(newLi); 
      markersArray.push(marker); 
     } 
    ); 

} 

En fonction de la requête de recherche entrée par votre utilisateur, google peut renvoyer plusieurs résultats. Comme ce n'est qu'un exemple, je suis parti avec le tout premier résultat.

0

Son très simple:

<?php $url = str_replace('&', '&amp;', $url).'&amp;output=embed'; ?> 

<iframe width="425" height="350" frameborder="0" scrolling="no" src="<?php echo $url ?>"></iframe> 
-1

Découvrez la nouvelle façon dont vous pouvez construire ces URLS en utilisant Google Maps URLs qui font maintenant partie de l'offre des API Maps.

+0

Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. - [À revoir] (/ review/low-quality-posts/16222564) –

+0

ack. J'ai ajouté le nom complet et le lien. à votre santé. – kaskader