画像の URL を mySQL データベースのエントリに追加しました。サイドバーの情報ウィンドウに表示したいと思います。
これが私がいじっている部分です:
downloadUrl("genxml.php", function(data) {
var xml = data.responseXML;
var locations = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < locations.length; i++) {
var name = locations[i].getAttribute("name");
var address = locations[i].getAttribute("address");
var type = locations[i].getAttribute("type");
var price = locations[i].getAttribute("price");
var img = locations[i].getAttribute("img");
var point = new google.maps.LatLng(
parseFloat(locations[i].getAttribute("lat")),
parseFloat(locations[i].getAttribute("lng")));
var html = "<div class=loc-img><img src=" + img + "/></div><div class=loc-name>" + name + "</div> <br/>" + address + "<br/>" + "<div class=loc-type>" + type + "</div><div id=loc-price>Price Rating:" + price + "</div>";
一番下のビットは私には正しいように見えるので、何が悪いのかわかりません。画像はサーバーに保存され、URL はエントリの img フィールドに追加されており、スペルミスはありません。ページが読み込まれ、情報ウィンドウが読み込まれると、これがインスペクターに表示されます。
<img src="null/">
問題を引き起こしている可能性があると思われる phpMyAdmin のコラムの詳細を以下に示します。varchar(120) latin1_swedish_ci、Null は no に設定されます。これは URL であるため、varchar が適切な選択であると想定しました。
何かご意見は?
編集:別のフィールドでも同様の問題が発生しています。関係があるのではないかと思います。int(5)に設定された「price」フィールドがあり、単純に 1 ~ 5 の評価です。ただし、情報ウィンドウが表示されると、「null」とだけ表示されます。