-1

我需要在 EPSG:4326 中重新投影(在Openlayers3中使用Proj4js)我的GeoJSON文件,方法是单击表单中的列表选项之一:

<select name="projection" id="select1">
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
    <option value="d">d</option>
</select>

每个选项都应该是 Proj4js 定义呈现的另一个投影。像这样(不仅仅是EPSG代码):

"+proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m +no_defs";

从选项列表中选择输出投影后,是否可以通过这种方式更改投影?如果是,如何制作?谢谢

4

1 回答 1

1

是的,就像这个例子一样。相关部分是:

var newProjCode = 'some_alias_definition'; // like 'EPSG:27700'

// some_projection is a string like '+proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m +no_defs'
proj4.defs(newProjCode, some_projection);

// tell Openlayers about your new projection
var newProj = ol.proj.get(newProjCode);

// set a brand new ol.View with this projection
var newView = new ol.View({
  projection: newProj
});
map.setView(newView);
于 2016-04-28T10:55:32.387 回答