2016-02-02 55 views

回答

0

顯示多個翻轉氣球,或者使它看起來沒有在一個國家徘徊是不可能的,恐怕是不可能的。

你可以做的是在每個國家顯示「標籤」。標籤是帶有文本標籤且沒有實際圖像的MapImage的實例。

放置使用經度每一個國家的圖像/標籤/緯度座標可以說是相當繁瑣的工作。因此,您可以用下面的例子就會自動將這些區域標題中的每個區域的幾何中心。

http://codepen.io/amcharts/pen/5687a78507081e1c8779cf067b762de7

上面的圖是美國的,但你可以使用代碼在這上面幾乎任何地圖上處理的標籤。

下面的代碼負責人認爲:

map.addListener("init", function() { 
    // set up a longitude exceptions for certain areas 
    var longitude = { 
    "US-CA": -130, 
    "US-FL": 120, 
    "US-TX": 1, 
    "US-LA": 40 
    }; 

    var latitude = { 
    "US-AK": -85 
    }; 

    setTimeout(function() { 
    // iterate through areas and put a label over center of each 
    map.dataProvider.images = []; 
    for(x in map.dataProvider.areas) { 
     var area = map.dataProvider.areas[ x ]; 
     area.groupId = area.id; 
     var image = new AmCharts.MapImage(); 
     image.latitude = latitude[ area.id ] || map.getAreaCenterLatitude(area); 
     image.longitude = longitude[ area.id ] || map.getAreaCenterLongitude(area); 
     image.label = area.id.split('-').pop(); 
     image.title = area.title; 
     image.linkToObject = area; 
     image.groupId = area.id; 
     map.dataProvider.images.push(image); 
    } 
    map.validateData(); 
    console.log(map.dataProvider); 
    }, 100) 
}); 

請注意,有時國家/州的形狀不會使死點一個完美的合乎邏輯的地方放置一個標籤。對於那些情況使用longitudelatitude覆蓋調整標籤的位置對特定國家。