JavaScript Proj4js Выпуск
-
26-09-2019 - |
Вопрос
Привет, у меня есть проблема с использованием библиотеки 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>
Я не понимаю, почему репроект работает только тогда, когда я нажимаю кнопку дважды, когда я нажимаю на нее впервые, одни и те же значения возвращаются. Похоже, работает только, когда я нажимаю кнопку дважды или больше. Вот эта страница онлайн:щелчок
Решение
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, чтобы обновить себя сразу после установки их значений?
Не связан с StackOverflow