如何在OpenLayers中检查特定投影中的LonLat有效性

如何在OpenLayers中检查特定投影中的LonLat有效性,openlayers,latitude-longitude,map-projections,Openlayers,Latitude Longitude,Map Projections,我想使用IsValidOnlat方法检查坐标的有效性 大多数情况下,我在EPSG:4326投影中插入坐标,但是isValidOnlat方法使用EPSG:900913中的世界边界进行检查 例如: map.isValidLonLat(new OpenLayers.LonLat(-8, 400)) // returns true 也许它应该认为这是错误的,因为纬度超过180度。 我知道为什么它是真的。如前所述,我注意到检查是使用EPSG:900913中的边界进行的 问题是:有没有一种方法可以告诉我们

我想使用IsValidOnlat方法检查坐标的有效性

大多数情况下,我在EPSG:4326投影中插入坐标,但是isValidOnlat方法使用EPSG:900913中的世界边界进行检查

例如:

map.isValidLonLat(new OpenLayers.LonLat(-8, 400)) // returns true
也许它应该认为这是错误的,因为纬度超过180度。

我知道为什么它是真的。如前所述,我注意到检查是使用EPSG:900913中的边界进行的

问题是:有没有一种方法可以告诉我们应该使用给定的投影进行检查(这里是EPSG:4326)


谢谢

您可以将坐标从EPSG:4326转换为EPSG:900913,然后进行检查。为此,您可以使用库

请参见下面的示例:

var SourceProjection = new Proj4js.Proj('EPSG:4326');
var DestinationProjection = new Proj4js.Proj('EPSG:900913');

var Point = new Proj4js.Point(longitude, latitude);          
Proj4js.transform(SourceProjection, DestinationProjection, Point); 
map.isValidLonLat(new OpenLayers.LonLat(Point.x, Point.y));

谢谢你的提示。。。我也想到了。。。我想知道OpenLayers中是否有一些特性指定了要在tst中使用的投影,例如:
map.isValidLonLat(newOpenLayers.LonLat(-8400),“EPSG:4326”)
。。。你知道这样做是否可行吗?