これは私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
か?