Skip to content Skip to sidebar Skip to footer

How Do I Use An AmMap In AngularJS?

I am using the amCharts library in my Web application in order to render all the charts. They are working fine, but I need to add a mapChart on the page. I am not as familiar with

Solution 1:

Controller:

.directive('myElem',
 function () {
   return {
       restrict: 'E',
       replace:true,

       template: '<div id="chartdiv" style="min-width: 310px; height: 400px; margin: 0 auto"></div>',
       link: function (scope, element, attrs) {

            var chart = false;

            var initChart = function() {
              if (chart) chart.destroy();
              var config = scope.config || {};
              var targetSVG = "M9,0C4.029,0,0,4.029,0,9s4.029,9,9,9s9-4.029,9-9S13.971,0,9,0z M9,15.93 c-3.83,0-6.93-3.1-6.93-6.93S5.17,2.07,9,2.07s6.93,3.1,6.93,6.93S12.83,15.93,9,15.93 M12.5,9c0,1.933-1.567,3.5-3.5,3.5S5.5,10.933,5.5,9S7.067,5.5,9,5.5 S12.5,7.067,12.5,9z";
               chart = AmCharts.makeChart("chartdiv", {
                   type: "map",
                   projection: "winkel3",
                   theme: "light",
                   imagesSettings: {
                     rollOverColor: "#089282",
                     rollOverScale: 3,
                     selectedScale: 3,
                     selectedColor: "#089282",
                     color: "#13564e"
                   },

                   areasSettings: {
                     unlistedAreasColor: "#15A892",
                     outlineThickness: 0.1
                   },

                   dataProvider: {
                     map: "worldLow",
                     images: [ {
                       svgPath: targetSVG,
                       zoomLevel: 5,
                       scale: 0.5,
                       title: "Vienna",
                       latitude: 48.2092,
                       longitude: 16.3728
                     }, {
                       svgPath: targetSVG,
                       zoomLevel: 5,
                       scale: 0.5,
                       title: "Minsk",
                       latitude: 53.9678,
                       longitude: 27.5766
                     }, {
                       svgPath: targetSVG,
                       zoomLevel: 5,
                       scale: 0.5,
                       title: "Brussels",
                       latitude: 50.8371,
                       longitude: 4.3676
                     }, {
                       svgPath: targetSVG,
                       zoomLevel: 5,
                       scale: 0.5,
                       title: "Sarajevo",
                       latitude: 43.8608,
                       longitude: 18.4214
                     }, {
                       svgPath: targetSVG,
                       zoomLevel: 5,
                       scale: 0.5,
                       title: "Sofia",
                       latitude: 42.7105,
                       longitude: 23.3238
                     }, {
                       svgPath: targetSVG,
                       zoomLevel: 5,
                       scale: 0.5,
                       title: "Zagreb",
                       latitude: 45.8150,
                       longitude: 15.9785
                     }
                     ]
                   },
                   export: {
                     enabled: true
                   },

                  pathToImages: 'bower_components/amcharts/dist/amcharts/images/'
        });


            };
            initChart();

       }         
   }
   });

HTML:

<my-elem></my-elem>

Post a Comment for "How Do I Use An AmMap In AngularJS?"