J'ai une page qui contient une instance de cartes statiques Google intégrées à un iFrame. Lorsque la page est chargée, l'instance initiale de cet iFrame charge un emplacement défini. Il y a une liste d'adresses sur la page sur laquelle l'utilisateur peut cliquer et en fonction de son choix, l'iFrame avec les cartes Google intégrées est rechargé via AJAX.Espace blanc dans l'URL lors de l'utilisation d'AJAX avec des cartes google statiques
J'ai des problèmes avec le chargement de la nouvelle URL. Ci-dessous le PHP que j'utilise actuellement
$database->mysqlquery("SELECT street_address
FROM favorites
WHERE id = $row_id");
while($row = mysql_fetch_array($database->results)){
$address = $row[street_address];
}
$url = "http://maps.googleapis.com/maps/api/staticmap?center=$address&zoom
=18&size=640x640&sensor=false";
Je reçois l'adresse de ma base de données et l'affecte à une variable. Je passe ensuite la variable dans l'URL des cartes statiques.
Avec l'URL définie, j'appelle iFrame
<iframe width = "425" height = "315" frameborder = "0" scrolling = "no"
marginheight = "0" marginwidth = "0" src= "<?php echo $url; ?>" id = "iframe"></iframe>
Le iFrame ne se charge pas quand je frappe directement la page php ou appelez la page par AJAX. Lorsque je visite la page en utilisant Chrome ou Firefox, je vois la source suivante
<iframe width="425" height="315" frameborder="0" scrolling="no"
marginheight="0" `marginwidth="0"
src="http://maps.googleapis.com/maps/api/staticmap?center=116 Ponce De Leon Ave
NE, Atlanta, GA&zoom=18&size=640x640&sensor=false" id="iframe"></iframe>
Si je prends la chaîne src de ce qui précède et charger le lien via le navigateur directement, les charges de carte.
Pourquoi mon iFrame ne se charge-t-il pas?
Mise à jour
Nouveau iFrame HTML après avoir ajouté rawurlencode() pour coder la variable $ adresse
<iframe width="425" height="315" frameborder="0" scrolling="no" marginheight="0"
marginwidth="0"
src="http://maps.googleapis.com/maps/api/staticmap?
center=116%20Ponce%20De%20Leon%20Ave%20NE%2C%20Atlanta%2C%20GA&
zoom=18&size=640x640&sensor=false" id="iframe"></iframe>
J'ai ajouté la fonction rawurlencode() pour coder le $ variable d'adresse. J'ai toujours du mal à charger la carte. Le src a maintenant des espaces formatés, mais la carte ne s'affiche toujours pas. Si je copie le lien dans le nouveau src et y accède en utilisant mon navigateur, la carte montre –
** 1er: ** il y a encore des espaces et des sauts de ligne dans l'URL. ** Ensuite: ** Le fichier retourné est une image, pas un document HTML! Et le serveur envoie un 'x-frame-options-header' qui est défini sur ** same-origin **, donc vous ne pouvez pas l'utiliser comme iframe-src. Utilisez un '' au lieu de '' –
Awww, vous avez raison. Il devait être inclus dans img et pas iframe. Les sauts de ligne dans ce qui précède ont été ajoutés afin que je puisse mieux afficher le code –