首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >地图不显示(angularJs指令,控制器)

地图不显示(angularJs指令,控制器)
EN

Stack Overflow用户
提问于 2014-08-13 11:26:20
回答 1查看 1.3K关注 0票数 0

我正在尝试为高图创建angular指令。

下面是我的代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var myMapDirectives = angular.module('MapDirectives', ['myMapControllers']);

    // Directive
    myMapDirectives.directive('myMap', function($http) {
        console.log("In my-Map directive");

        return {
            restrict: 'EAC',
            template: '<div></div>',
            replace: true,
            controller: 'myMapController',
            scope: {
                widget: '='
            },
            link: function(scope, iElement, iAttrs) {
                console.log("In my-map link function.", scope, iElement, iAttrs);                                      

                var chart;
                var process = function(){
                   var defaultOptions = {
                        chart: {
                            renderTo: iElement[0]
                        },
                    };
                    var widget = angular.extend(defaultOptions, scope.widget);
                    chart = new Highcharts.Map(widget);
                };
                process();
                scope.$watch("widget.series", function(loading){
                    process();
                });
                scope.$watch("widget.loading", function(loading){
                    if(!chart){
                        return;
                    }
                    if(loading){
                        chart.showLoading();
                    } else {
                        chart.hideLoading();
                    }                    
                });                                    
            }
        };
    });

控制器有点大,因为我把所有的JSON数据都放在了mapData属性中。

在这里我的代码是可用的Highmaps Directive & Controller

问题图未显示。

(我使用此链接创建指令Plunker )

EN

回答 1

Stack Overflow用户

发布于 2015-02-02 11:19:52

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
     <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title>Worldmap with AngularJS</title>
  <meta name="description" content="">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  <script src="http://code.highcharts.com/maps/highmaps.js"></script>

  <script src="angular/angular.js"></script>
  <script src="angular/angular-sanitize.js"></script>
  <script src="scripts/app.js"></script>
  <link rel="stylesheet" href="css/map.css">
</head>

<body ng-app="app">
  <div ng-controller="highMapController" class="" style="width:1000px;height:500px;margin:auto;">
      <high-map widget="mapConfig" id="container">{{mapConfig}}</high-map>
  </div>
</body>

</html>


    var app = angular.module('app', ['ngSanitize']);

    // Highmap Directive
app.directive('highMap', function($http) {

    return {
        restrict: 'EAC',
        template: '<div></div>',
        replace: true,
        controller: 'myMapController',
        scope: {
            widget: '='
        },
        link: function(scope, element, attr) {                                 
            var chart;
            var process = function(){
               var defaultOptions = {
                    chart: {
                        renderTo: element[0]
                    },
                };
                var widget = angular.extend(true, {}, defaultOptions, scope.widget);
                chart = new Highcharts.Map(widget);
            };

            process();

            scope.$watch("widget", function(loading){
                process();
            });                                   
        }
    };
});

//Highmap controller 

app.controller('highMapController', ['$scope', '$http',
    function ($scope, $http) {
     var mapGeoJSON = get data from("http//http://code.highcharts.com/mapdata/custom/world.js")
     var data =[]
     var mapGeoJSONFeature = mapGeoJSON.features

angular.forEach(mapGeoJSONFeature, function(feature, index) {
          data.push({
                    key: feature.properties['hc-key'],
                    value: index
                    });
        });

        $scope.mapConfig = new Highcharts.Map({
                 chart: {
                        renderTo: 'container',
                        type: 'map',
                        height: 900,
                        weight: 800,
                        backgroundColor: "#eee"
                    },
                title: {
                            text: "World Map"
                        },

                mapNavigation: {
                    enabled: true
                },

                colorAxis: {
                    min: 0,
                    stops: [
                        [0, '#EFEFFF'],
                        [0.5, Highcharts.getOptions().colors[0]],
                        [1, Highcharts.Color(Highcharts.getOptions().colors[0]).brighten(-0.5).get()]
                    ]
                },

                legend: {
                    layout: 'vertical',
                    align: 'left',
                    verticalAlign: 'bottom'
                },

                series: [{
                    data: data,
                    mapData: mapGeoJSON,
                    joinBy: ['hc-key', 'key'],
                    name: 'Random data',
                    states: {
                        hover: {
                            color: Highcharts.getOptions().colors[2]
                        }
                    },
                     dataLabels: {
                        enabled: false
                    }
                }]
            });

    }]);![My map result page][1]


  [1]: http://i.stack.imgur.com/a36tp.png
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25284901

复制
相关文章
AngularJS 指令
AngularJS 通过被称为指令的新属性来扩展 HTML。 AngularJS 通过内置的指令来为应用添加功能。 AngularJS 允许你自定义指令。 AngularJS 指令 AngularJS 指令是扩展的 HTML 属性,带有前缀ng-。 ng-app指令初始化一个 AngularJS 应用程序。 ng-init指令初始化应用程序数据。 ng-model指令把元素值(比如输入域的值)绑定到应用程序。 完整的指令内容可以参阅 AngularJS 参考手册。 AngularJS 实例 在输入框中尝
企鹅号小编
2018/01/26
3.4K0
AngularJS 指令
ng-app 指令告诉 AngularJS,<div> 元素是 AngularJS 应用程序 的"所有者"。
陈不成i
2021/07/23
3.1K0
AngularJS 控制器
控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。
陈不成i
2021/07/23
1.2K0
AngularJs指令解密
指令定义 在《AngularJs权威教程》中,指令可以简单理解成特定的DOM元素上运行的函数;我认为还可以理解成将将自定义的HTML标签解析成原始的标签,然后为其加入一些扩展的功能(函数). angularjs 提供了一个强大的扩展系统,通过指令机制,我们可以通过自定义指令来扩展自己的指令系统。 在AngularJS的核心里,指令可以绑定元素的属性(例如可见性,class列表,内部文本,内部HTML或者值)到scope的属性或表达式。最值得注意的是,一旦监测到scope中的变化被标记,这些绑定就会被更新。
双愚
2018/07/17
2.2K0
angularjs 指令详解
一、指令定义 对于指令,可以把它简单的理解成在特定DOM元素上运行的函数,指令可以扩展这个元素的功能。 首先来看个完整的参数示例再来详细的介绍各个参数的作用及用法: <div my-directive></div> 二、指令参数的作用和意义(这个地方只选常用的几种来讲一下) restrict[string] restrict是一个可选的参数。用于指定该指令在DOM中以何种形式被声明。默认值是A,即以属性的形式来进行声明。 可选值如下: E(元素) <my-directive></my-directive
柴小智
2018/04/10
2.2K0
angularjs 指令详解
AngularJS ng-model 指令
ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值。
陈不成i
2021/07/23
1.1K0
AngularJS指令「建议收藏」
AngularJS 通过被称为 指令 的新属性来扩展 HTML。 AngularJS 通过内置的指令来为应用添加功能。 AngularJS 允许你自定义指令。
全栈程序员站长
2022/09/15
1.1K0
【AngularJS】—— 11 指令的交互
前面基本了解了指令的相关内容:   1 如何自定义指令   2 指令的复用 本篇看一下指令之间如何交互。学习内容来自《慕课网 指令3》 背景介绍   这例子是视频中的例子,有一个动感超人,有三种能力,力量strength,速度speed,发光light。   这三种能力作为三种属性,定义动感超人作为一个标签,只要添加对应的属性就能拥有该能力。   为了便于结果的展示,为标签添加鼠标的响应事件,当鼠标移动到对应的标签上就会触发一个方法,打印出具备的能力。   程序分析   html部分的代码如下
用户1154259
2018/01/17
6610
【AngularJS】—— 11 指令的交互
AngularJS系列(一)——常用指令
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
逝兮诚
2019/10/30
1.1K0
angularJS学习之路(六)---指令
一个东西需要说明:根据HTML标准,布尔属性代表一个true或者false值,当这个属性出现的时候,这个属性的值就是true, 无论实际值是什么,如果未出现,这个属性的值就是false
wust小吴
2019/07/08
1.7K0
AngularJS ng-model 指令
在前端开发中,表单是用户与网站互动的重要组成部分。为了实现表单数据的双向绑定,AngularJS 提供了 ng-model 指令。本文将详细介绍 ng-model 指令的用法和工作原理,并提供一些实例帮助读者更好地理解和应用该指令。
网络技术联盟站
2023/07/05
1890
JavaScript强化教程——AngularJS 指令
本文为 H5EDU 机构官方 HTML5培训 AngularJS 通过被称为 指令 的新属性来扩展 HTML。 AngularJS 通过内置的指令来为应用添加功能。 AngularJS 允许你自定义指令。 AngularJS 指令 AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-。 ng-app 指令初始化一个 AngularJS 应用程序。 ng-init 指令初始化应用程序数据。 ng-model 指令把元素值(比如输入域的值)绑定到应用程序。 完整的指令内容可以参阅 AngularJS 参考手册。 AngularJS 实例
IMWeb前端团队
2019/12/05
7260
JavaScript强化教程——AngularJS 指令
摘要总结:本文为 H5EDU 机构官方 HTML5 培训,主要介绍了 AngularJS 指令,包括 ng-app、ng-init、ng-model 等指令。通过实例,讲解了 AngularJS 指令的基本用法以及数据绑定。
IMWeb前端团队
2017/12/29
9530
AngularJS系列之常用指令
这节给大家介绍一下AngularJS中一些常用的指令,例如:ng-app、ng-init、ng-repeat、ng-model等等之类的指令。 那什么是AngularJS的指令呢,其实就是相当于HTM
林老师带你学编程
2018/01/03
2.1K0
[angularjs] angularjs系列笔记(二)指令
使用.directive()函数来自定义指令,要调用自定义指令,html元素上需要添加自定义指令名,使用驼峰法来命名一个指令
唯一Chat
2019/09/10
4150
【AngularJS】—— 10 指令的复用
前面练习了如何自定义指令,这里练习一下指令在不同的控制器中如何复用。   —— 来自《慕课网 指令3》   首先看一下一个小例子,通过自定义指令,捕获鼠标事件,并触发控制器中的方法。   单个控制器的标签指令   依然是先创建一个模块 var myAppModule = angular.module("myApp",[]);   在模块的基础上,创建控制器和指令 myAppModule.controller("myAppCtrl",["$scope",function($scop
用户1154259
2018/01/17
7220
【AngularJS】—— 10 指令的复用
带你走近AngularJS - 体验指令实例
带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------------------------------------------------------------------------------------------ 之前我们已经介绍了所有的AngularJS 基础知识,下面让我们通过实例来加深记忆,体验自定义指令的乐趣。 手风琴指令 我们展示的第一个例子是手
葡萄城控件
2018/01/10
2.4K0
带你走近AngularJS - 体验指令实例
angularJS学习之路(三)---控制器
控制器是 JavaScript 对象,由标准的 JavaScript 对象的构造函数 创建。
wust小吴
2019/07/08
6280
【AngularJS】—— 8 自定义指令
AngularJS支持用户自定义标签属性,在不需要使用DOM节点操作的情况下,添加自定义的内容。 前面提到AngularJS的四大特性:   1 MVC   2 模块化   3 指令   4 双向数据绑定 下面将会介绍如下的内容: 1 如何自定义指令   2 自定义指令的使用   3 自定义指令的内嵌使用   如何自定义指令:   Angular是基于模块的框架,因此上来肯定要创建一个自己的模块: var myAppModule = angular.module("myApp",[
用户1154259
2018/01/17
8200
【AngularJS】—— 8 自定义指令
angularjs 控制器、作用域、广播详解
一、控制器 首先列出几种我们平常使用控制器时的几种误区: 我们知道angualrJs中一个控制器时可以对应不同的视图模板的,但这种实现方式存在的问题是: 如果视图1和视图2根本没有任何逻辑关系,这样“
柴小智
2018/04/10
1.9K0
angularjs 控制器、作用域、广播详解

相似问题

AngularJS谷歌地图指令

44

AngularJS -指令不获取控制器数据

13

AngularJs -指令不更新控制器变量

13

Angularjs基于控制器变量显示指令。

12

AngularJS Google指令地图实例

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文