2012-07-01 6 views
0

Я сделал карту Google, в которой я настраиваю InfoWindows, используя InfoBox library. Я, однако, изо всех сил стараюсь сделать некоторые InfoWindows шире других. Это можно увидеть в demo map.Как установить ширину InfoWindow?

var w = "530px"; 
if(!foto){ 
w= "200px"; 
} 

var myOptions = { 
maxWidth: 0 
,boxStyle: { background: "url('tipbox.gif') no-repeat", width: w } 
,closeBoxMargin: "10px 2px 2px 2px" 
}; 
infoWindow = new InfoBox(myOptions); 

отладки демо я вижу, что ж получает установлен правильно:

enter image description here enter image description here

Тем не менее, оба InfoWindows имеют одинаковую ширину.

ответ

0

Когда запускается прослушиватель маркеров, вы изменяете содержимое infoBox (setContent (boxText)), но не размер. Замените вызов setContent с помощью setOptions (myOptions), который изменит все, включая boxText.

google.maps.event.addListener(marker, "click", function(){ 
    if(map.getZoom() < 6) map.setZoom(6); 

    map.panTo(marker.getPosition()); 
    infoWindow.setOptions(myOptions); 
    infoWindow.open(map, marker); 
}); 

BTW - отступы от вашего кода разумным образом облегчили бы его понимание.

Смежные вопросы