iFrame に埋め込まれた Google 静的マップのインスタンスを含むページがあります。ページが読み込まれると、この iFrame の最初のインスタンスが設定された場所を読み込みます。ユーザーがクリックできるページにはアドレスのリストがあり、その選択に基づいて、Google マップが埋め込まれた iFrame が AJAX を介して再ロードされます。
新しい URL の読み込みに問題があります。以下は私が現在使用しているPHPです
$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";
データベースからアドレスを取得し、変数に割り当てます。次に、変数を静的マップの URL に渡します。
URL を定義して、iFrame を呼び出します
<iframe width = "425" height = "315" frameborder = "0" scrolling = "no"
marginheight = "0" marginwidth = "0" src= "<?php echo $url; ?>" id = "iframe"></iframe>
PHPページに直接アクセスしたり、AJAXを介してページを呼び出したりすると、iFrameがロードされません。Chrome または Firefox を使用してページを調べると、次のソースが表示されます
<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>
上記の src 文字列を取得し、ブラウザーからリンクを直接読み込むと、マップが読み込まれます。
iFrame が読み込まれないのはなぜですか?
アップデート
$address 変数をエンコードする rawurlencode() を追加した後の新しい iFrame HTML
<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>