【问题标题】:Dynamically Add Image To Infowindow将图像动态添加到信息窗口
【发布时间】:2012-11-11 13:58:12
【问题描述】:

我想知道是否有人可以帮助我。

我正在使用下面的代码将图像加载到 HTML 页面上,这些图像与当前的“位置”和“用户”ID 相关。

<div id="galleria">
                  <?php
                    $dirlist = getFileList($galleryPath, true);
                    $x = 0;
                    foreach($dirlist as $file) { 
                        if((preg_match("/\.jpg$/", $file['name'])) or (preg_match("/\.jpeg$/", $file['name'])) or (preg_match("/\.png$/", $file['name'])) or (preg_match("/\.bmp$/", $file['name'])) or (preg_match("/\.gif$/", $file['name']))) { 
                            echo "<img src='{$file['name']}' />"; 
                            $x = 1;
                        }
                    }
                    if ($x == 0) {
                        echo "<img src='images/noimage.jpg' />";
                    }
                    ?>
                </div>

这很好用,但我在这两个方面遇到了困难。我试图只显示第一张图片并将该图片放在“信息窗口”而不是主页上。但我必须绝对诚实地说我什至不知道从哪里开始。我花了几天时间才走到这一步。

下面的代码是从创建标记和信息窗口的脚本中提取的摘录

downloadUrl("loadlocationfinds.php?locationid=<?php echo $lid?>", function(data) { 
            var xml = data.responseXML; 
            var markers = xml.documentElement.getElementsByTagName("marker"); 
            var bounds = new google.maps.LatLngBounds(); 
            for (var i = 0; i < markers.length; i++) { 
            var findid = markers[i].getAttribute("findid"); 
            var locationid = markers[i].getAttribute("locationid"); 
            var findosgb36lat = markers[i].getAttribute("findosgb36lat");
            var findosgb36lon = markers[i].getAttribute("findosgb36lon");
            var findcategory = markers[i].getAttribute("findcategory"); 
            var point = new google.maps.LatLng( 
            parseFloat(markers[i].getAttribute("findosgb36lat")), 
            parseFloat(markers[i].getAttribute("findosgb36lon")));
            var html = "<span class='h3 orange'><strong>" + 'Item Found: ' + "</strong></span><br>" + finddescription + "<br>"; 
            var icon = customIcons[findcategory] || {}; 
            var marker = new google.maps.Marker({ 
            map: map, 
            position: point, 
            title: 'Click to view details', 
            icon: icon.icon, 
            shadow: icon.shadow,
            formfindosgb36lat: findosgb36lat,
            formfindosgb36lon: findosgb36lon,
            formfindcategory: findcategory,
            }); 
            bounds.extend(point); 
            map.fitBounds(bounds); 
            bindInfoWindow(marker, map, infoWindow, html);
            google.maps.event.addListener(marker, "click", function() {
            document.getElementById('findosgb36lat').value = this.formfindosgb36lat; 
            document.getElementById('findosgb36lon').value = this.formfindosgb36lon; 
            document.getElementById('findcategory').value = this.formfindcategory; 
            }); 
            } 
            }); 
            } 

            function bindInfoWindow(marker, map, infoWindow, html) {     
            google.maps.event.addListener(marker, 'click', function() {         
            infoWindow.setContent(html);         
            infoWindow.open(map, marker, html);     
            }); 
            } 

我只是想知道是否有人可以看看这个并提供一些帮助,以便我只能显示“Infowindwow”中的第一张图片。

非常感谢和最亲切的问候

【问题讨论】:

    标签: google-maps-api-3 infowindow


    【解决方案1】:

    图片被添加到信息窗口的html中

    ........................
    var html = "<span class='h3 orange'><strong>" + 'Item Found: ' + "</strong></span><br>" +     finddescription + "<br>"; 
    html+= "<img src=\"image.jpg\" alt=\"My Image\" height=\"Ypx\" width=\"Xpx\"><br>";
    ........................
    

    其中 XY 是整数

    【讨论】:

    • 嗨@david strachan,感谢您抽出宝贵时间回复我的帖子。我已将“var HTML”行更改为:var html = "&lt;span class='h3 orange'&gt;&lt;strong&gt;" + 'Item Found: ' + "&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;" + finddescription + "&lt;br&gt;"; html+= "&lt;img src='{$file['name']}' /&gt;" alt=\"My Image\" height=\"y\" width=\"x\"&gt;&lt;br&gt;" 但是,我一定做错了,因为地图不再在页面上创建。我只是想知道您是否可以就我哪里出错提供一些指导。非常感谢和亲切的问候
    • 嗨@david strachan。我只是想给你一个更新。我已设法将图像放入信息窗口,但无法调整图像大小。使用您的建议,我的“Var HTML”行如下:var html = "&lt;span class='h3 orange'&gt;&lt;strong&gt;" + 'Item Found: ' + "&lt;/strong&gt;&lt;/span&gt;&lt;br&gt;" + finddescription + "&lt;br&gt;"; html+= "&lt;?php echo "&lt;img src='{$file['name']}' /&gt;"?&gt; height=\"10px\" width=\"10px\"&gt;&lt;br&gt;" 我只是想知道您是否可以看看这个,并就我可能出错的地方提供一些方向?非常感谢和亲切的问候
    • 我正要向您发布有关您的拼写错误的信息,但您打败了我。将 height=\"10px\" width=\"10px\" 更改为不同的值是否无法解决此问题
    • 您好,感谢您抽出时间这么快回复。不幸的是,与我设置的大小无关,信息窗口中的图像大小不会改变。非常感谢和亲切的问候
    • 在尺寸 html+= "&lt;?php echo "&lt;img src='{$file['name']}' /&gt;"?&gt; height=\"10px\" width=\"10px\"&gt;&lt;br&gt;" 应为 html+= "&lt;?php echo "&lt;img src='{$file['name']}' " height=\"10px\" width=\"10px\"&gt;&lt;br&gt;"?&gt; 之前关闭 img 标签
    猜你喜欢
    • 1970-01-01
    • 2013-08-22
    • 2013-03-01
    • 2013-08-04
    • 2018-06-05
    • 2011-11-09
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多