1

infoBoxes を備えた Google マップがあります。infoBox には、表示後に infoBox のサイズを変更する機能があります。

ただし、コンテンツが最初に表示されたものよりも大きい場合、これにより infoBox がマップからはみ出してしまいます。infoBox panBox 機能を呼び出す方法はありますか?

要するに、サイズが変更された後、infoBox をもう一度フィットさせるにはどうすればよいですか?

例を参照してください: フィドル

インフォボックスをクリックして問題を確認してください

コードなしでフィドルを表示することは許可されていないため、私のコード例:)

function initialize() {
var loc, map, marker, infobox;

loc = new google.maps.LatLng(-33.890542, 151.274856);

map = new google.maps.Map(document.getElementById("map-canvas"), {
     zoom: 12,
     center: loc,
     mapTypeId: google.maps.MapTypeId.ROADMAP
});

marker = new google.maps.Marker({
    map: map,
    position: loc,
    visible: true
});

var infobox = new InfoBox({
     content: document.getElementById("infobox"),
     alignBottom: true,
     pixelOffset: new google.maps.Size(0, 0)
});

google.maps.event.addListener(marker, 'click', function() {
    infobox.open(map, this);
});

}
google.maps.event.addDomListener(window, 'load', initialize);

jQuery('document').ready(function(){
jQuery('.content').on('click', function(){
    jQuery('.content').hide();
    jQuery('.hidden').show();
    jQuery('#infobox').height(jQuery('.hidden').height());
});
});
4

2 に答える 2

0

これを追加してみることができます map.panTo(loc);

google.maps.event.addListener(marker, 'click', function() {
    infobox.open(map, this);
    map.panTo(loc);
});
于 2015-04-09T16:52:38.353 に答える