Geomap API визуализации Google: как обрабатывать события кликов на маркерах? - PullRequest
1 голос
/ 01 февраля 2011

У меня изначально есть Geomap API визуализации Google в представлении о мире (options ['dataMode'] = 'region'), и я фиксирую событие 'regionClick', когда на страну нажимают так:

google.visualization.events.addListener(
    geomap, 'regionClick', function (e) {
        var rowindex = data.getFilteredRows([{column: 0, value: e['region']}]);  
        var location = data.getValue(rowindex[0], 3);
        location.href = "?ISO=" + e['region'] + "&Location=" + location;
    });

Затем я рисую карту, увеличенную в масштабах страны в режиме маркеров (options ['dataMode'] = 'markers'). Однако я не могу зафиксировать какие-либо события, когда щелкают сами маркеры.

Документация (http://code.google.com/apis/visualization/documentation/gallery/geomap.html#Events) относится только к событиям «select» и «regionClick», ни одно из которых не запускается в этом случае. (Протестировано с использованием Chrome 9 и IE 8.)

Кто-нибудь имел успех в этом? Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 02 февраля 2011

Согласно http://groups.google.com/group/google-visualization-api/browse_thread/thread/2bcb89a1eb3c647d в настоящее время не поддерживается.

0 голосов
/ 02 февраля 2011

У меня это работает на IE 8 и Chrome. Прежде всего, обратите внимание на предупреждение в документации, если вы запускаете это локально как файл: //

Если это не так, убедитесь, что ваша переменная google.visualization.GeoMap (первый аргумент addListener) действительно называется geomap. Если это так, добавьте alert() в качестве первой строки кода в обработчике событий и посмотрите, сработает ли это. И наконец, обратите внимание, что если переменные данные не являются глобальными, они не попадут в область видимости, если вы попытаетесь получить к ним доступ из обработчика событий, как и вы.

...