Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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 OpenLayers LonLat转换不在正确的投影范围内_Javascript_Google Maps_Openlayers_Gis - Fatal编程技术网

Javascript OpenLayers LonLat转换不在正确的投影范围内

Javascript OpenLayers LonLat转换不在正确的投影范围内,javascript,google-maps,openlayers,gis,Javascript,Google Maps,Openlayers,Gis,我的地图使用EPSG:900013投影。因此,在获取鼠标位置时,我得到的米值范围为-20037508.342789244到20037508.342789244 我使用了LonLat类的.transform()方法,使用EPSG:900913作为源投影,并且(没有考虑)使用EPSG:4329作为目标投影 我的问题是,为什么EPSG:4329给我的范围是-180,180,-80.05,85.05(我想要的),而不是-180,180,-90,90(它应该给我的,因为这些是正确的边界)?我相对确定您的源

我的地图使用EPSG:900013投影。因此,在获取鼠标位置时,我得到的米值范围为-20037508.342789244到20037508.342789244

我使用了LonLat类的.transform()方法,使用EPSG:900913作为源投影,并且(没有考虑)使用EPSG:4329作为目标投影


我的问题是,为什么EPSG:4329给我的范围是-180,180,-80.05,85.05(我想要的),而不是-180,180,-90,90(它应该给我的,因为这些是正确的边界)?

我相对确定您的源投影(900913)正在设置这些约束,因此当您移动鼠标时,您被限制在距离0,0很远的地方,0,0对应于变换中的85.05和-80.05

换言之,EPSG 900913并没有覆盖整个地球。因此,当你将鼠标分别移动到最远的南北方向时,它不会变成+/-90,而是变成85.05和-80.05,正如你所发现的那样

如果你去检查,他们会解释如下:

具体来说,大多数球形墨卡托地图使用世界范围 经度从-180到180,纬度从-85.0511到85.0511。 因为墨卡托投影在你接近时会延伸到无穷远 在两极,需要在南北方向切断,这 特殊的截断会产生一个完美的投影平方米