Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于proj4定义的GeoJSON重投影_Javascript_Openlayers 3_Geojson_Proj4js - Fatal编程技术网

Javascript 基于proj4定义的GeoJSON重投影

Javascript 基于proj4定义的GeoJSON重投影,javascript,openlayers-3,geojson,proj4js,Javascript,Openlayers 3,Geojson,Proj4js,我需要在EPSG:4326中的GeoJSON文件中进行重投影(在Openlayers3中),方法是单击表单中的列表选项之一: <select name="projection" id="select1"> <option value="a">a</option> <option value="b">b</option> <option value="c">c</option> &l

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

<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>
从选项列表中选择“输出投影”后,是否可以以这种方式更改投影?如果是,如何制作?谢谢

是的,就像。有关部分是:

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);

我在我的代码之后使用你的代码,但我只看到白色屏幕,缩放线和鼠标位置不起作用。问题在哪里?谢谢你的帮助help@THERimaniaTHERimania也许您创建了一个小提琴或显示了您的整个代码?这是链接:,您可以在这里找到Geojson anteverythin@THERimaniaTHERimania没有机会理解您的代码(在链接中)或您试图实现的目标。下面是一篇包含所有问题和代码的新帖子:
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);