2016-10-05 2 views
0

Ich habe eine Karte mit Highmaps-Bibliothek, bestehend aus zwei Serien: Admin Grenzen und Städte. Auf der Seite gibt es eine Liste aller Admins, und auf jedem dieser Elemente ist ein Maus-Hover-Ereignis angehängt. Ich versuche markieren ohne die relative Form auf der Karte, wenn die Maus über den Admin-Text ist. Ich konnte es mit der select Funktion von highmaps machen, aber ich kann es nicht mehr verwenden, da ich auch multiselection aktiviert habe und ich es für andere Zwecke verwende.Ändern Formfarbe in Highmaps programmgesteuert

Also was ich versuche zu tun ist, manuell/programmgesteuert die Farbe eines bestimmten Punktes in der Serie zu ändern.

hier ist der Code im Mouseover-Ereignisse auf der Positionsliste ausgeführt

$("ul#admins li").mouseover(function() { 
    var adminCode = $(this).attr('id')); //retrieve the adminCode 
    var chart = $('#mapContainer').highcharts(); 
    for (var i = 0; i < chart.series[0].data.length; i++) { 
     if (chart.series[0].data[i].Code == adminCode) { 
      //I've got the map element to highlight... 
      //..but how I can do change its color? 

      //before I was using this method, selecting directly, but now 
      //I don't want to select it, only change its color. 
      chart.series[0].data[i].select(true, false); 
      break; 
     } 
    } 
}); 
+0

Könnten Sie bitte Live-Beispiel für Ihre Frage posten? Wie jsFiddle? –

+0

@ GrzegorzBlachliński Entschuldigung leider ist die Anwendung noch in der Entwicklung und sehr groß. Das Problem liegt in einem sehr kleinen Bereich. JsFiddle ist im Moment sehr schwierig und komplex. Aber wer weiß, die Highmaps-Komponente kann das Problem identifizieren und weiß, wie es zu lösen ist – Giox

+1

Ich denke, dass Sie in der Lage sein sollten, Point.update() in Ihrem Fall zu verwenden: http://jsfiddle.net/x14dm93u/ –

Antwort

1

Sie sollen() zum Ändern der Farbe des jeweiligen Landes in der Karte verwenden Point.update Lage:

function(chart) { 
    $('.btn').click(function() { 
     chart.series[1].data[0].update({ 
     color: 'red' 
     }) 
    }) 
} 

Zum Beispiel, hier ändere ich die Farbe des ersten Punktes aus Ihrer Kartenserie.

Hier sehen Sie ein Beispiel sehen, wie es funktionieren kann: http://jsfiddle.net/x14dm93u/