Как отобразить Geomap в разных цветах от внешнего клика, используя JS - PullRequest
0 голосов
/ 09 марта 2011

Я пытаюсь использовать географическую карту, используя 2 цветовые схемы. пользователь нажимает на ссылку на странице, а затем, используя js, я меняю цвет карты и перерисовываю ее.

я бы изменил

options['colors'] = [0xbaecc7, 0x3bc75f]; // light to dark green

Проблема в том, что каждый раз, когда я вызываю функцию для перерисовки, она, кажется, перезагружает географическую карту. У меня есть две функции .. одна ниже для зеленого, а другая для рисования синей карты. В начале я рисую синюю карту, используя drawMap, вызывая setOnLoadCallBack

google.setOnLoadCallback(drawMap);

Любая помощь или идеи будут оценены!

function drawGoalsMap() {
            var options = {};
            options['dataMode'] = 'regions';
            options['region'] = 'world';
            options['colors'] = [0xbaecc7, 0x3bc75f]; // light to dark green
            options['width'] = '900px'; 
            options['height'] = '400px';

            var data = new google.visualization.DataTable();
            data.addRows(6);
            data.addColumn('string', 'Country');
            data.addColumn('number', 'Messages');
            data.setValue(0, 0, 'Germany');
            data.setValue(0, 1, 200);
            data.setValue(1, 0, 'United States');
            data.setValue(1, 1, 300);
            data.setValue(2, 0, 'Brazil');
            data.setValue(2, 1, 400);
            data.setValue(3, 0, 'Canada');
            data.setValue(3, 1, 500);
            data.setValue(4, 0, 'France');
            data.setValue(4, 1, 600);
            data.setValue(5, 0, 'RU');
            data.setValue(5, 1, 700);

            var container = document.getElementById('map_canvas');
            var geomap = new google.visualization.GeoMap(container);
            geomap.draw(data, options);

            google.visualization.events.addListener(geomap, 'regionClick', 
                function(e) {
                                var countryCode = e['region'];
                                DrillDown(countryCode);
                            }
            );

        };

1 Ответ

1 голос
/ 09 марта 2011

После случайного редактирования в моем коде я обнаружил проблему !!!

Я использовал ссылку <a href="" onclick="drawGoalsMap()">Goals</a>

Я изменил его, чтобы исключить href=""

<a onclick="drawGoalsMap()">Goals</a>
...