【问题标题】:javascript proj4js issuejavascript proj4js 问题
【发布时间】:2010-10-27 19:43:40
【问题描述】:

您好,我在使用 proj4js 库时遇到问题。这是我的来源:

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <script type="text/javascript" src="lib/proj4js-combined.js"></script>
   </head>

   <script type="text/javascript">
    function go()
    {
        var lon = document.getElementById("xOrg").value;
        var lat = document.getElementById("yOrg").value;
        var reprojected = reproject(Number(lon),Number(lat));

        document.getElementById("xNew").value = reprojected.x;
        document.getElementById("yNew").value = reprojected.y;
    }

    function reproject(lon,lat)
        {
            var sourceSys = new Proj4js.Proj('WGS84');
            var destSys = new Proj4js.Proj('EPSG:32187');

            var pointSource = new Proj4js.Point(lon,lat);
            var pointDest = Proj4js.transform(sourceSys, destSys, pointSource);

            return pointDest;
        }
   </script>

   <body>
    <div>
    <input id="xOrg" type="text" value="-73.56"/>
    <input id="yOrg" type="text" value="45.49"/>
    </div>
    <div>
    <input id="xNew" type="text" value=""/>
    <input id="yNew" type="text" value=""/>
    </div>
    <div>
        <input type="button" value="go" onclick="go()"/>
    </div>
   </body>
</html>

我不明白为什么只有当我单击按钮两次时重新投影才有效,当我第一次单击它时,返回相同的值。它似乎仅在我单击按钮两次或更多次时才有效。这是网上的这个页面: click

【问题讨论】:

  • 抱歉,我发现链接失效了,现在应该可以了。
  • 感谢清晰的问题描述和解决方案。我有同样的问题!我不完全明白为什么会这样......

标签: javascript proj4js


【解决方案1】:
var sourceSys = new Proj4js.Proj('WGS84'); 
var destSys = new Proj4js.Proj('EPSG:32187'); 

到这里:

...

<script type="text/javascript">  
    var sourceSys = new Proj4js.Proj('WGS84'); 
    var destSys = new Proj4js.Proj('EPSG:32187'); 

    function go()
{
...  

无论出于何种原因,它现在都可以使用......

【讨论】:

    【解决方案2】:

    我无法加载页面,但这是刷新问题吗? IE。你能明确地使 xNew 和 yNew 输入标签在设置它们的值后立即刷新吗?

    【讨论】:

    • 该页面现在应该可以工作了,但我不认为它是刷新问题,但如果是,我如何强制它们刷新?
    • 看起来是特定于浏览器的,我刚刚在 iPad 上的 Safari 上尝试过,一键即可使用。 (如果有什么 ipad 是由于焦点的操作方式而经常需要点击两次的那个)
    • 该死的,它需要在我的电脑上用 chrome、firefox 和 ie8 点击 2 次。您确定单击 1 次后新框中的数字不一样吗?
    • 对不起,你是对的。这种行为对我的刷新建议没有意义。第二组坐标设置正确吗?
    • 您是否尝试过查看 Proj4js.org 主页中的源代码:您有什么不同?
    猜你喜欢
    • 2018-09-21
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 2021-11-09
    • 2015-03-07
    相关资源
    最近更新 更多