Выпуск javascript proj4js
Здравствуйте, у меня возникла проблема с использованием библиотеки 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>
Я не понимаю, почему репроекция работает только тогда, когда я нажимаю кнопку дважды, когда я нажимаю на нее в первый раз, возвращаются те же значения. Кажется, работает только тогда, когда я нажимаю кнопку дважды или более. Вот эта страница онлайн: нажмите
2 ответа
Решение
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()
{
...
И по какой-то причине это сейчас работает...
Я не могу загрузить страницу, но проблема в обновлении? То есть. Вы можете явно заставить входные теги xNew и yNew обновляться сразу после того, как их значения установлены?