誰かが私を助けてくれるのではないかと思います。
以下のコードを使用して、現在の「場所」および「ユーザー」ID に関連する HTML ページに画像をロードしています。
<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>
これは問題なく動作しますが、この 2 つの側面で問題が発生しています。最初の画像のみを表示し、その画像をメイン ページではなく「情報ウィンドウ」に配置しようとしています。しかし、正直に言うと、どこから始めればよいかさえわかりません。ここまで来るのに数日かかりました。
以下のコードは、マーカーと情報ウィンドウを作成するスクリプトからの抜粋です。
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」内の最初の画像のみを表示できるように少し助けてくれるかどうか疑問に思いました.
多くの感謝と親切なよろしく