Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 简单Openlayers+;有棱角的_Angularjs_Openlayers - Fatal编程技术网

Angularjs 简单Openlayers+;有棱角的

Angularjs 简单Openlayers+;有棱角的,angularjs,openlayers,Angularjs,Openlayers,我正在尝试使用angular实现简单的openlayers贴图 var app =angular.module('app',[] ); app.controller= ('myController',function() { var map = new OpenLayers.Map('map', { projection: new OpenLayers.Projection("EPSG:4326"), displayProjection: new Op

我正在尝试使用angular实现简单的openlayers贴图

var app =angular.module('app',[] ); app.controller= ('myController',function() { var map = new OpenLayers.Map('map', { projection: new OpenLayers.Projection("EPSG:4326"), displayProjection: new OpenLayers.Projection("EPSG:4326"), layers: [ new OpenLayers.Layer.OSM()] }); if (!map.getCenter()) { map.zoomToMaxExtent(); } return map; } var-app=angular.module('app',[]); app.controller=('myController',function()){ var map=new OpenLayers.map('map'{ 投影:新OpenLayers.projection(“EPSG:4326”), displayProjection:new OpenLayers.Projection(“EPSG:4326”), 图层:[ 新建OpenLayers.Layer.OSM()] }); 如果(!map.getCenter()){ zoomToMaxExtent(); } 返回图; } 我无法找到此错误的解决方案:

未捕获错误:

[$injector:modulerr]$injector/modulerr?p0=app&p1=Error%3A%20…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.15%2Fangular.min.js%3A17%3A381)


我做错了什么?
app.controller
是一个函数

下面是好的语法:

app.controller('myController',function() {

    var map = new OpenLayers.Map('map', {
        projection: new OpenLayers.Projection("EPSG:4326"),
        displayProjection: new OpenLayers.Projection("EPSG:4326"),
        layers: [
        new OpenLayers.Layer.OSM()]
    });

    if (!map.getCenter()) {
        map.zoomToMaxExtent();
    }
    // return map; <- this should not be done. I don't understand what you're trying to do with a controller
});
以及html:

<body ng-app="app">
   <div ng-controller="someController as example" 
        ng-click="example.alertMe()">
            Hello {{example.hello}} 
   </div>
</body>

如果你点击它,它会打开一个警报。

这似乎是某种依赖注入问题,看看这个小提琴,它正在工作,也许你错过了一些东西,这个“jsfiddle.net/tianhai/r4w5r–stackg91”是angular 1.1版本。我用的是1.3,这个例子已经不起作用了。非常感谢您详尽的回答。现在我更好地理解了控制员的想法。但根据我的真实问题,这个没有“返回地图”的新提议仍然不起作用。。。。
<body ng-app="app">
   <div ng-controller="someController as example" 
        ng-click="example.alertMe()">
            Hello {{example.hello}} 
   </div>
</body>
Hello World