我想为openlayers地图应用程序创建一个角度地图指令。例如,这是map 的一个示例。
我创建了一个 angularjs 指令。
(function () {
"use strict";
angular.module("my.map").directive("map", [mapDirective]);
function mapDirective() {
return {
"template": "<div id='map' style='width: 400px; height: 300px'></div>",
"link": function (scope) {
var map = new ol.Map({
view: new ol.View({
center: [0, 0],
zoom: 1
}),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: "map"
});
}
};
}
})();
此示例工作正常。但我硬编码了地图元素 ID 名称。我想id
从范围中获得价值。
(function () {
"use strict";
angular.module("my.map").directive("map", [mapDirective]);
function mapDirective() {
return {
"template": "<div id='{{target}}' style='width: 400px; height: 300px'></div>",
"scope": {
"target": "@"
},
"link": function (scope) {
var target = scope.target ? scope.target: "map";
var map = new ol.Map({
view: new ol.View({
center: [0, 0],
zoom: 1
}),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: target
});
}
};
}
})();
但这并没有显示地图。