googlemaps api V3 の infobubble を使用しています。
マーカーにイベントがあり、クリックされるたびにバブルが表示されます。
以前は infobox と infowindow を使用していましたが、マーカーをクリックすると常にマップの中心に配置されていました。両方の知識が正しい場合、これは pixelOffset プロパティによって達成されました。
ただし、Infobubble では同じ効果が得られません。次のようになります。
私のコード:
google.maps.event.addListener(marker, 'click', function() {
$.ajax({
url: '/templates/GoogleMapsMarkerInfo.aspx?id=' + page + '&epslanguage=<%=CurrentPage.LanguageBranch %>',
dataType: "html",
success: function(data){
var myOptions = {
content: data,
maxWidth: 300,
shadowStyle: 1,
padding: 0,
backgroundColor: '#fff',
borderRadius: 15,
arrowSize: 7,
borderWidth: 1,
borderColor: 'blue',
disableAutoPan: true,
hideCloseButton: false,
arrowPosition: 25,
backgroundClassName: 'phoney',
arrowStyle: 2
};
if(infoBubble.getContent()!="")
infoBubble.close()
infoBubble.setOptions(myOptions)
infoBubble.open(map, marker);
}
});
明確にするために: 情報全体が表示されるようにバブルをマップの中央に配置したくありません。バブル全体を表示するためにマップ上でドラッグする必要はありません。
さらに情報が必要な場合は、お尋ねください。提供できるよう最善を尽くします。