Google Maps Infobox, кнопка закрытия не работает - PullRequest
1 голос
/ 23 января 2012

Я работаю над приложением Google Maps и использую плагин infobox от Google. У меня возникли некоторые проблемы.

Кажется, кнопка закрытия больше не хочет работать с инфобоксами., что странно, потому что у меня это работало раньше, так как я превращаю приложение киоска в веб-приложение.Я использую пользовательскую кнопку закрытия для этого, но даже если я переключу ее на кнопку закрытия Google по умолчанию, я получу тот же результат.Информационный блок закрывается только при нажатии другого маркера на карте, чтобы открыть другой информационный блок.Когда кто-то открыт, кажется, что его невозможно удалить.Код не изменился из киоска в веб-версию этого приложения ...

Вот код, который я использую для создания экземпляров маркеров:

var displayingInfoBox;

// Options for the infobox
var popoverOptions = {

        disableAutoPan : false,
        maxWidth : 0,
        closeBoxMargin : '8px 32px',
        closeBoxURL : 'url/to/close_button/image.png',  
        infoBoxClearance : new google.maps.Size(50,50),
        isHidden : false,
        enableEventPropagation : true,

        boxStyle: {
            border      : 'none',
            opacity     : 1.0,
            background  : "transparent url( 'url/to/background/image.png' ) no-repeat 0 0",
            width: "266px",
            height: "109px"
        }
    };

// Add listener to the marker to open the overlay -- where popupInfo is the content to display inside the popover and marker is the marker on the map
google.maps.event.addListener(marker, 'click', function( event ) {
        createOverlay( marker, popupInfo, new google.maps.Size(-35, -235))
    });

// Method to show in the overlay
function createOverlay(marker_, content_, offset_) {

    // close the previous overlay if there was one.
    VW.Map.closeInfoBox();

    // set the provided content to the popover options
    popoverOptions.content = content_;
    popoverOptions.pixelOffset = offset_;

    // use the infobox lib to create an overlay
    displayingInfoBox = new InfoBox(popoverOptions);

    // show the overlay over the marker passed in
    displayingInfoBox.open(myMap, marker_);

    // return in case the caller wants to do something with this.
    return displayingInfoBox;
}

Любая помощь с этимочень ценится.

Заранее спасибо!

EDIT - Я использую API INFOBOX, а не объект InfoWindow из API карт.Вот о чем я говорю: http://google -maps-utility-library-v3.googlecode.com / svn / trunk / infobox / docs / reference.html

Грэм

1 Ответ

1 голос
/ 26 февраля 2013

У меня была эта проблема.Я использовал свою основную таблицу стилей CSS для стилизации своего информационного блока, а не boxStyle в Javascript.Когда я установил непрозрачность на что-либо кроме 1.0 (или вообще убрал), кнопка закрытия была бы видна, но не работала.Мой совет - убедиться, что ваш информационный блок не наследует непрозрачность из других источников.

...