如何在OpenLayers中检查特定投影中的LonLat有效性
我想使用IsValidOnlat方法检查坐标的有效性 大多数情况下,我在EPSG:4326投影中插入坐标,但是isValidOnlat方法使用EPSG:900913中的世界边界进行检查 例如:如何在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中的边界进行的 问题是:有没有一种方法可以告诉我们
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”)
。。。你知道这样做是否可行吗?