Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2016, 11:19
Интересующийся
Отправить личное сообщение для maks777 Посмотреть профиль Найти все сообщения от maks777
 
Регистрация: 09.06.2016
Сообщений: 29

Как сделать изменения цветом на карте в зависимости от значения таблицы с БД?
<html >
  <head>
    <title>JQVMap - Russia Map</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <link href="jqvmap/css/jqvmap.css" media="screen" rel="stylesheet" type="text/css" />    
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
    <script src="jqvmap/js/jquery.vmap.js" type="text/javascript"></script>
    <script src="jqvmap/js/maps/jquery.vmap.russia.js" type="text/javascript"></script>
    
    
    <script type="text/javascript">
    // Массив всех объектов 
    var data_obj = {
        'no': ['Объект 1', 'Объект 2'],
        'kr': ['Объект 3', 'Объект 4', 'Объект 5'],
        'ir': ['Объект 6', 'Объект 7', 'Объект 8']
    };
    
    colorRegion = '#1076C8'; // Цвет всех регионов
    focusRegion = '#FF9900'; // Цвет подсветки регионов при наведении на объекты из списка
    selectRegion = '#0A4C82'; // Цвет изначально подсвеченных регионов
    
    highlighted_states = {};
    
    // Массив подсвечиваемых регионов, указанных в массиве data_obj
    for(iso in data_obj){
        highlighted_states[iso] = selectRegion;
    }
    
    $(document).ready(function() {
        $('#vmap').vectorMap({
            map: 'russia',
            backgroundColor: '#ffffff',
            borderColor: '#ffffff',
            borderWidth: 2,
            color: colorRegion,
            colors: highlighted_states,         
            hoverOpacity: 0.7,          
            enableZoom: true,
            showTooltip: true,          
            
            // Отображаем объекты если они есть
            onLabelShow: function(event, label, code){
                name = '<strong>'+label.text()+'</strong><br>';             
                if(data_obj[code]){
                    list_obj = '<ul>';
                    for(ob in data_obj[code]){                  
                        list_obj += '<li>'+data_obj[code][ob]+'</li>';
                    }
                    list_obj += '</ul>';
                }else{
                    list_obj = '';
                }               
                label.html(name + list_obj);                
                list_obj = '';              
            },          
                        
        });     
        
    });
    // Выводим список объектов из массива
    $(document).ready(function() {
        for(region in data_obj){
            for(obj in data_obj[region]){
                $('.list-object').append('<li><a href="'+selectRegion+'" id="'+region+'" class="focus-region">'+data_obj[region][obj]+' ('+region+')</a></li>');
            }
        }
    });
    
    // Подсветка регионов при наведении на объекты
    $(function(){
        $('.focus-region').mouseover(function(){            
            iso = $(this).prop('id');
            fregion = {};
            fregion[iso] = focusRegion;
            $('#vmap').vectorMap('set', 'colors', fregion);         
        });
        $('.focus-region').mouseout(function(){
            c = $(this).attr('href');           
            cl = (c === '#')?colorRegion:c;
            iso = $(this).prop('id');
            fregion = {};
            fregion[iso] = cl;
            $('#vmap').vectorMap('set', 'colors', fregion);
        });
    }); 
    </script>
  </head>
  <body>
    <div id="vmap" style="width: 800px; height: 500px;"></div>
        
  </body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 21.09.2016, 19:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

maks777,
не совсем понятно что вам нужно? возможно вам нужно что-то типа
highlighted_states[iso] = ваша_база_данных[iso].color;
Ответить с цитированием
  #3 (permalink)  
Старый 21.09.2016, 19:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

maks777,
colors:  {
        'no': '#FF00FF',
        'kr': '#0000CD',
        'ir': '#9ACD32'
    }
,
Ответить с цитированием
  #4 (permalink)  
Старый 13.10.2018, 12:56
Интересующийся
Отправить личное сообщение для maiskiykot Посмотреть профиль Найти все сообщения от maiskiykot
 
Регистрация: 11.09.2018
Сообщений: 29

Чтоб не плодить тем. В этой же библиотеке пытаюсь поменять hoverColor, однако он все равно какой-то серый. Можете что-нибудь подсказать?
Ответить с цитированием
  #5 (permalink)  
Старый 13.10.2018, 13:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

maiskiykot,
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать размер ячейки в таблице не больше определённого значения? javascript_pupil (X)HTML/CSS 16 18.02.2012 12:52
Как сделать загрузку Store в поле Grid в зависимости от id строки? Сергей З ExtJS 5 02.12.2011 19:01
Как сделать электронный каталог продукции? natarius Серверные языки и технологии 6 24.05.2009 20:56
Как сделать, чтобы 2 ссылки отображались как hover при наведении мышкой на любую? Ava Элементы интерфейса 5 19.05.2009 23:24
Как сделать окошко с возможностью изменения его содержимого? nolka Элементы интерфейса 2 10.07.2008 08:22