Javascript Angularjs Amchart地图控件不工作
我已经为amchart创建了目录,但是,如果我从模块中删除空的依赖关系括号,它就不起作用Javascript Angularjs Amchart地图控件不工作,javascript,angularjs,angularjs-directive,module,amcharts,Javascript,Angularjs,Angularjs Directive,Module,Amcharts,我已经为amchart创建了目录,但是,如果我从模块中删除空的依赖关系括号,它就不起作用 </div> <div data-ng-controller="OtherController"> <ul data-ng-repeat="name in customer"> <li>{{name}}</li> </ul> </div> <script src="https://code.angula
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>
这是我的密码
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>
如果我拆下支架,保持这样,它就不起作用了
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>
var app=angular.module('app',[]);
var app=angular.module('app');
app.directive ('helloWorld',function (){
function link (scope, element, attr){
scope.testname="nirav";
var latlong = {};
latlong["AD"] = {
"latitude": 42.5,
"longitude": 1.5
};
latlong["AE"] = {
"latitude": 24,
"longitude": 54
};
latlong["AF"] = {
"latitude": 33,
"longitude": 65
};
var mapData = [{
"code": "AD",
"name": "Afghanistan",
"value": 32358260,
"color": "#eea638"
}, {
"code": "AE",
"name": "Albania",
"value": 3215988,
"color": "#d8854f"
}, {
"code": "AF",
"name": "Algeria",
"value": 35980193,
"color": "#de4c4f"
}];
var map;
var min = Infinity;
var max = -Infinity;
// get min and max values
for (var i = 0; i < mapData.length; i++) {
var value = mapData[i].value;
if (value < min) {
min = value;
}
if (value > max) {
max = value;
}
}
AmCharts.ready(function() {
AmCharts.theme = AmCharts.themes.dark;
map = new AmCharts.AmMap();
map.pathToImages = "http://www.amcharts.com/lib/3/images/";
map.addTitle("Population of the World in 2011", 14);
map.addTitle("source: Gapminder", 11);
map.areasSettings = {
unlistedAreasColor: "#000000",
unlistedAreasAlpha: 0.1
};
map.imagesSettings.balloonText = "<span style='font-size:14px;'><b>[[title]]</b>: [[value]]</span>";
var dataProvider = {
mapVar: AmCharts.maps.worldLow,
images: []
}
var minBulletSize = 6;
var maxBulletSize = 70;
// it's better to use circle square to show difference between values, not a radius
var maxSquare = maxBulletSize * maxBulletSize * 2 * Math.PI;
var minSquare = minBulletSize * minBulletSize * 2 * Math.PI;
// create circle for each country
for (var i = 0; i < mapData.length; i++) {
var dataItem = mapData[i];
var value = dataItem.value;
// calculate size of a bubble
var square = (value - min) / (max - min) * (maxSquare - minSquare) + minSquare;
if (square < minSquare) {
square = minSquare;
}
var size = Math.sqrt(square / (Math.PI * 2));
var id = dataItem.code;
dataProvider.images.push({
type: "circle",
width: size,
height: size,
color: dataItem.color,
longitude: latlong[id].longitude,
latitude: latlong[id].latitude,
title: dataItem.name,
value: value
});
}
map.dataProvider = dataProvider;
map.write("chartdiv");
});
}
return {
template:' <div id="chartdiv">{{testname}}</div> ',
link:link,
restrict:'E'
}
});
</script>
</body>
</html>
var-app=angular.module('app');
app.directive('helloWorld',function(){
功能链接(范围、元素、属性){
scope.testname=“nirav”;
var latlong={};
latlong[“AD”]={
“纬度”:42.5,
“经度”:1.5
};
拉特朗[“AE”]={
“纬度”:24,
“经度”:54
};
latlong[“AF”]={
“纬度”:33,
“经度”:65
};
变量映射数据=[{
“代码”:“广告”,
“姓名”:“阿富汗”,
“价值”:32358260,
“颜色”:“eea638”
}, {
“代码”:“AE”,
“姓名”:“阿尔巴尼亚”,
“价值”:3215988,
“颜色”:“d8854f”
}, {
“代码”:“AF”,
“姓名”:“阿尔及利亚”,
“价值”:35980193,
“颜色”:“de4c4f”
}];
var映射;
var min=无穷大;
var max=-无穷大;
//获取最小值和最大值
对于(var i=0;i最大值){
最大值=最大值;
}
}
AmCharts.ready(函数(){
AmCharts.theme=AmCharts.themes.dark;
map=新的AmCharts.AmMap();
map.pathToImages=”http://www.amcharts.com/lib/3/images/";
地图addTitle(“2011年世界人口”,14);
map.addTitle(“来源:Gapminder”,11);
map.areasSettings={
unlistedAreasColor:#000000“,
无茎天牛:0.1
};
map.imagesSettings.ballootText=“[[title]]:[[value]]”;
var数据提供程序={
mapVar:AmCharts.maps.worldLow,
图片:[]
}
var-minBulletSize=6;
var maxBulletSize=70;
//最好使用圆形正方形来显示值之间的差异,而不是半径
var maxSquare=maxBulletSize*maxBulletSize*2*Math.PI;
var minSquare=minBulletSize*minBulletSize*2*Math.PI;
//为每个国家创建一个圆圈
对于(var i=0;i
[]用于实例化一个模块,如果没有它,则用于检索您的模块。方括号内是依赖项的位置。如果您没有依赖项,只需将其作为一个空数组,一切都会很好
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>
注意:在整个代码中,angular.module('name',[])应该只有一个实例。实例化后,您将在不使用方括号的情况下检索它。angular.module('thirdParty1',[]).factory('hello',function(){
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>
angular.module('thirdParty1', []).factory('hello', function () {
return 'hello world';
});
angular.module('thirdParty2', []).factory('hello', function () {
return 'hi there';
});
// "own" modules
angular.module('own1', ['thirdParty1']).controller('Own1Ctrl', function(hello) {
this.greet = hello;
});
angular.module('own2', ['thirdParty2']).controller('Own2Ctrl', function(hello) {
this.greet = hello;
});
angular.module('app', ['own1', 'own2']);
<body ng-app="app">
<div ng-controller="Own1Ctrl as own1">
OwnCtrl1: {{ own1.greet }}
</div>
<div ng-controller="Own2Ctrl as own2">
OwnCtrl2: {{ own2.greet }}
</div>
</body>
返回“你好,世界”;
});
角度.module('thirdParty2',[]).factory('hello',function(){
返回“你好”;
});
//“自有”模块
角度。模块('own1',['thirdParty1'])。控制器('Own1Ctrl',函数(hello){
this.greet=你好;
});
角度.module('own2',['thirdParty2'])控制器('Own2Ctrl',函数(hello){
this.greet=你好;
});
角度模块('app',['own1','own2']);
OwnCtrl1:{{own1.greet}}
OwnCtrl2:{{own2.greet}}
资料来源:
var-app=angular.module('app',[]);是正确的语法如果调用angular.module()时没有包含依赖项数组,它将尝试查找现有模块,而不是创建新模块。
</div>
<div data-ng-controller="OtherController">
<ul data-ng-repeat="name in customer">
<li>{{name}}</li>
</ul>
</div>
<script src="https://code.angularjs.org/1.0.6/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min.js" charset="utf-8"></script>
<script>