在JavaScript中建立你的第一個地圖


假設您是一位企業主,您的辦公室位於印度的10個不同邦。現在您想在您的網站上顯示此資料,那麼這篇文章就適合您,我將介紹使用FusionCharts核心JavaScript圖表庫及其地圖包建立互動式地圖的過程。

首先,有兩種方法可以在您的網站上顯示資料:

  • 包含所有地址的列表,或

  • 互動式地圖?

如果您像大多數人一樣是視覺學習者,您會選擇第二個選項——互動式地圖。

如果您想學習如何製作互動式地圖,那麼您來對地方了。

為了便於理解,我將本教程介紹分為四個步驟:

  • 步驟1 - 資料結構

  • 步驟2 - 包含FusionCharts JavaScript檔案

  • 步驟3 - 建立圖表容器元素

  • 步驟4 - 渲染地圖

步驟1 - 資料結構

我們將繪製印度地圖,表示2013年各邦每臺電腦的網際網路數量。以下是相同的資料表格:

電腦數量
查謨和克什米爾邦58438
喜馬偕爾邦41344
旁遮普邦292124
等等…

FusionCharts理解XML和JSON資料,在本教程中我們將使用JSON。

現在我們有了資料,我們將為地圖形成JSON資料陣列。地圖的資料陣列由每個邦/實體的一個物件組成,其中包括該邦的唯一idvalue。此id充當邦及其相應值的識別符號。

我們將這樣為地圖形成資料:

"data": [
   { "id": "015", "value": "58438" },
   { "id": "014", "value": "41344" },
   { "id": "028", "value": "292124" },
   // more map data…
]

步驟2 - 包含FusionCharts JavaScript檔案

這是每個Web開發者在Web應用程式實際程式設計開始之前必須做的第一件事——包含專案的依賴項。

在此步驟中,我們將使用<script>標籤在網頁的頭部部分包含FusionCharts提供的JavaScript檔案。

我們將包含這三個檔案:

  • FusionCharts核心JavaScript檔案

  • FusionCharts核心地圖檔案

  • 印度地圖定義檔案

以下是操作方法:

<head>
   <script type="text/javascript" src="location/of/fusioncharts.js"></script>
   <script type="text/javascript" src="location/of/fusioncharts.maps.js"></script>
   <script type="text/javascript" src="location/of/fusioncharts.india.js"></script>
</head>

fusioncharts.jsfusioncharts.maps.js是繪製任何地圖所必需的,而fusioncharts.india.js是繪製印度地圖所必需的。

要繪製其他國家或地區的地圖,您必須包含該特定國家或地區JavaScript檔案,這些檔案可在FusionCharts提供的地圖定義包中找到。

步驟3 - 建立圖表容器元素

我們的地圖將在網頁上的HTML <div>元素內佔據其位置。以下是操作方法:

<div id="indian-map">Just a Second!</div>

網頁上每個地圖或圖表的id必須是唯一的。

步驟4 - 渲染地圖

現在我們已經準備好渲染地圖所需的所有內容,我們將最終使用FusionCharts例項為我們的圖表建立一個物件。

以下是相同的語法:

FusionCharts.ready(function() { // // FusionCharts instance
   var mapObj=new FusionCharts({ // Map Object // map definition });
});

現在,我們將實現上述語法來建立地圖物件,並使用render()方法來渲染圖表。

FusionCharts.ready(function() {
   var mapOfIndia = new FusionCharts({
      type: "maps/india",
      renderAt: "indian-map", // div container for our map
      height: "650",
      width: "100%",
      dataFormat: "json",
      dataSource: {
         "chart": {
            "caption": "No. of Computers with Internet in India",
            "subCaption": "Census 2011",
            "captionFontSize": "25",
            // other chart configurations
         },
         "colorrange": {
            "minvalue": "300",
            "startlabel": "Low",
            "endlabel": "High",
            "code": "#efedf5",
            "gradient": "1",
            "color": [{
               "maxvalue": "220000",
               "displayvalue": "Avg.",
               "code": "#bcbddc"
            }, {
               "maxvalue": "1400000",
               "code": "#756bb1"
            }]
         },
         "data": [{
            "id": "015",
            "value": "58438"
         }, {
               "id": "014",
               "value": "41344"
         }, {
               "id": "028",
               "value": "292124"
            },
            // more data
         ]
      }
   }).render(); // render method
});

如果您已按照上述所有步驟操作,則應該會看到如下所示的精美印度地圖:

後續步驟

基本地圖可以很好地表示資料,但是可以使用地圖和圖表完成許多事情。我將在下面討論其中一些:

  • 自定義設計 - FusionCharts提供了大量的屬性來自定義地圖的外觀。以下是一些我用來增強上述地圖的屬性

    • captionFontSize - (整數) 用於更改標題的字型大小。

    • baseFont - (字串) 用於更改圖表中的字型樣式。您不僅限於使用系統字型,還可以選擇任何您喜歡的字體系列。您只需將其包含在HTML中並使用此屬性宣告即可。

  • 新增標記 - FusionCharts在地圖中提供了一個很棒的功能來新增標記,該標記可用於表示城市、商場和地標等位置。

  • 提升到更高的水平 - FusionCharts允許您透過向地圖或圖表新增向下鑽取、註釋和事件等令人驚歎的功能,將您的資料視覺化體驗提升到更高的水平。

更新於:2022年5月11日

694 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告