0

我已将图像 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),并且只是 1 到 5 的评级。但是,当信息窗口显示时,它只是显示“空”

4

1 回答 1

0

我实际上已经设法解决了这个问题。相当简单,但很容易被忽视!

在向每个项目添加新字段时,您需要记住在 XML 转换器中注册它们,该转换器从数据库中提取信息,然后将其转换为地图可读格式 (XML)。

就我而言,我必须进入 genxml.php(按照地图文档的指示),并使其看起来像这样:

while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
echo '<marker ';
echo 'name="' . parseToXML($row['name']) . '" ';
echo 'address="' . parseToXML($row['address']) . '" ';
echo 'lat="' . $row['lat'] . '" ';
echo 'lng="' . $row['lng'] . '" ';
echo 'type="' . $row['type'] . '" ';
echo 'price="' . $row['price'] . '" ';
echo 'img="' . $row['img'] . '" ';
echo '/>';
}

希望对其他人有所帮助!

于 2012-09-22T16:34:14.610 回答