0

これは私ui:repeatのJavaScriptの内部です

 <ui:repeat value="#{testController.allItems}" var="item">
        image = '<p:graphicImage width='50px' value='#{imageStreamer.image}' ><f:param name='id' value='#{item.id}' /></p:graphicImage>';
        point = new google.maps.LatLng(#{item.latitude},#{item.longitude});
        createMarker(point, '#{item.name}', '#{item.address}', image);
 </ui:repeat>

testController.allItems値を持つエンティティのリストと、として保存されている画像を返しますblob。Google マップを使用して店舗検索を実行しようとしています。createMarkerマップにマーカーを追加します。

BalusC'sで印刷する方法をp:graphicImage使用していますui:repeat。参照: ui:repeat で DefaultStreamedContent で <p:graphicImage> を使用する方法は?

これは私のcreateMarker

function createMarker(latlng, name, address, image) {   
    var html = image+'<br/> <b>' + name + '</b> <br/>' + address;
    var marker = new google.maps.Marker({
        map: map,
        position: latlng
    });
    google.maps.event.addListener(marker, 'click', function() {
        infoWindow.setContent(html);
        infoWindow.open(map, marker);
    });
    markers.push(marker);
}

すべて正常に動作します。地図にはマーカーがあり、マーカーをクリックすると、画像と名前と住所が表示されます。しかし、問題は、マーカーをもう一度クリックすると、画像が消え、画像に壊れたリンクが表示されることです。

を使用するのではなく、javascript を使用してデータベースからブロブ画像を取得し、画像として印刷する別の方法はありますp:graphicImageか?

4

0 に答える 0