OpenLayers 3使用的坐标系
目前OpenLayers 3支持两种投影,一个是EPSG:4326
,等同于WGS84坐标系,参见详情。另一个是EPSG:3857
,等同于900913,由Mercator投影而来,经常用于web地图,参见详情。一个是全球通用的,一个是web地图专用的,自然OpenLayers 3支持它们。在使用过程中,需要注意OpenLayers 3默认使用的是EPSG:3857
。这也是为什么前面的代码里需要进行坐标转换的原因。 既然支持EPSG:4326
,为什么还要转换?当然是可以不用转换的,但前提是你得指定使用具体那种投影,就像下面这样。
代码很简单:
<body>
<div id="map" style="width: 100%"></div>
<script>
new ol.Map({
layers: [
new ol.layer.Tile({source: new ol.source.OSM()})
],
view: new ol.View({
// 设置成都为地图中心
center: [104.06, 30.67],
// 指定投影使用EPSG:4326
projection: 'EPSG:4326',
zoom: 10
}),
target: 'map'
});
</script>
</body>
所以开发时需要记住的是当前OpenLayers 3使用的坐标系及投影,以及我们自己的数据所使用的坐标系及投影。在没有弄清楚之前,就不要继续后面的内容学习,直到弄清楚为止。