这个问题比OpenLayer问题更像是一个javascript问题。我想......
该示例只适用于我自己的WMS服务器:http://openlayers.org/en/v3.0.0/examples/graticule.html
在我的项目中,地图' object在map.js文件中设置,在graticule.js文件之前加载到index.html中。它按预期显示地图。
var map = new ol.Map({
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
});
现在我在graticule.js中的非常简单的代码
"use Strict";
var graticule = new ol.Graticule();
graticule.setMap(map);
map.getViewPort().style.cursor = 'crosshair';
好了,现在有趣的部分: 我可以看到十字准线(因此地图对象没问题!),但是setMap(map)只是抛出错误" TypeError:a为null"在调试控制台中。
我不是Javascript专家,所以这可能是一个相对愚蠢的原因。
请帮助,我被卡住了。
答案 0 :(得分:0)
问题解决了。
我在view属性中使用了ol.proj.Projection,但我需要直接使用字符串投影代码:
var view = new ol.View({
center: center,
zoom: 6,
projection: 'EPSG:4326'
});