ユーザーがマップ上のマーカーをクリックすると、Infobox(コントロールが豊富なInfowindow)ポップアップが表示されます。このポップアップウィンドウでは、現在、jQueryイメージスライダー、特にNivoSliderを挿入しようとしています。Google MapのInfoboxの画像スライダー
問題: 通常のHTMLページ上しかし、この画像スライダーのみ動作し、ときインフォボックス内のすべてでは動作しません。私は内部にのinfoboxの画像が必要です。
のjQuery/JSコード
jQueryの画像スライダーをロードする部分が<div id="slider class="nivoSlider"><img...../><img....../></div>"
$(window).load(function() {
$( '#スライダー')で囲まれnivoSliderを()。 //は
$( "#のsearch_button")#slider div要素でnivosliderをロードします(関数(E){ e.preventDefault()をクリックしてください。。。 するvar SEARCH_LOCATION = $( "#のSEARCH_LOCATION")のval( ); $ .getJSON(.........................、関数(){
for(i = 0; i < json.length; i++) {
// Place markers on map
var latLng = new google.maps.LatLng(json[i].lat, json[i].lng);
var marker = new google.maps.Marker({
position: latLng,
map: map
});
markers.push(marker);
// Create infowindows
var boxText = '<div id="infobox"> \
<div id="infobox_header_title"> \
<span id="infobox_header_price">$' + json[i].price + '</span> \
<span id="infobox_header_room">' + json[i].bedroom + 'br </span> \
<span id="infobox_header_address">' + json[i].address_1 + '</span> \
</div> \
<div id="slider" class="nivoSlider"> \
<img src="/images/cl/' + json[i].photos[0] + '.jpg" /> \
<img src="/images/cl/' + json[i].photos[1] + '.jpg" /> \
</div> \
</div>';
var infoboxOptions = {
content: boxText,
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-140, 0),
zIndex: null,
boxStyle: {
},
closeBoxMargin: "10px 2px 2px 2px",
closeBoxURL: "http://www.google.com/intl/en_us/mapfiles/close.gif",
infoBoxClearance: new google.maps.Size(1, 1),
isHidden: true,
pane: "floatPane",
enableEventPropagation: false
};
var infobox = new InfoBox(infoboxOptions);
infobox.open(map, markers[i]);
infoboxes.push(infobox);
// Create Listeners
markers[i]._index = i;
google.maps.event.addListener(markers[i], 'click', function() {
//infoboxes[this._index].open(map, markers[i]);
infoboxes[this._index].show();
});
};
// Fill screen with markers
mapAutoCenter(markers);
});
私が原因と思われるものこれは$('#slider').nivoSlider()
が開始時に正しく呼び出されたときに、インフォボックス内の<div>
とは何かが作成されていない可能性があります。
追加情報:私はPHPとCodeigniterフレームワークを使用してGoogle Maps API V3を使用しています。
ありがとうございました!私はまだこの問題を解決しようとしています... jqueryの '$( '#gallery')'を使ってinfoboxのdivを選択するという別の問題もあります。これについては別の質問を作成しました。それ? http://stackoverflow.com/questions/7859275/how-to-access-a-div-inside-google-maps-infobox – Nyxynyx