首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenLayers预测

OpenLayers预测
EN

Stack Overflow用户
提问于 2010-04-09 21:18:53
回答 2查看 4.1K关注 0票数 3

我可以成功地做到:

代码语言:javascript
复制
point.transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));

到了google格式(以米为单位),但当我想反其道而行之时:

代码语言:javascript
复制
point.transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:900913"));

在4326 (常规经纬度格式)中,我遇到了一些问题。

当我进行转换时,任何负值似乎都变成了NaN (而不是数字)。关于反向转换,有什么我不明白的地方吗?

编辑:更糟糕的是,当我没有负值时,坐标似乎是关闭的。我通过在屏幕上绘制一个正方形来获得坐标,然后将这些坐标保存到数据库中并在稍后加载它们。我可以在非洲尖端附近画一个正方形(正坐标),然后当它加载时,它就在大西洋中的非洲顶部附近。我肯定做错了什么.

编辑:这是我的代码:http://pastie.org/911524

具体来说:我是这样初始化我的map的:

代码语言:javascript
复制
 var navControl = new OpenLayers.Control.Navigation();
                 map = new OpenLayers.Map('map', {

                // restrictedExtent: bounds.clone(),


                 }); 
       //actually draws the map 
        layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
        displayOutsideMaxExtent: false,
        wrapDateLine: true
        //numZoomLevels: 10
        });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-10 01:18:42

啊,我想通了:

在我的代码中,我一度混淆了纬度和经度,这把一切都搞乱了。

票数 2
EN

Stack Overflow用户

发布于 2010-05-19 06:51:31

如果你真的想要使用所有的坐标转换功能,你应该使用proj4js http://proj4js.org/来增强openlayers,这是一个完整的坐标转换框架。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2607734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档