gpt4 book ai didi

angularjs - 简单的 Openlayers + Angular

转载 作者:行者123 更新时间:2023-12-04 18:02:35 24 4
gpt4 key购买 nike

我正在尝试使用 angular 实现简单的 openlayers 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()) {
map.zoomToMaxExtent();
}
返回 map ;
}

我找不到此错误的解决方案:

Uncaught Error :

[$injector:modulerr] http://errors.angularjs.org/1.3.15/ $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
});

在 angular 中, Controller 用于将数据和函数绑定(bind)到您的 html View 。 Controller 不是您调用以获取返回结果的函数。您调用定义在 Controller 中的函数。例如:
angular.module("app", []);
angular.module('app').controller('someController', function(){
var self = this;

self.hello = "World";

self.alertMe = function(){
alert("HELLO");
};
});

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

结果将是:
Hello World

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

关于angularjs - 简单的 Openlayers + Angular,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com