La question de javascript
-
26-09-2019 - |
Question
Bonjour, j'ai un problème en utilisant la bibliothèque proj4js. Voici ma source:
<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>
Je ne comprends pas pourquoi le reprojection ne fonctionne que lorsque je clique sur le bouton deux fois, quand je clique dessus la première fois, les mêmes valeurs sont retournées. Il semble que le travail lorsque je clique sur le bouton deux fois ou plus. Voici cette page en ligne: click
La solution
var sourceSys = new Proj4js.Proj('WGS84');
var destSys = new Proj4js.Proj('EPSG:32187');
ici
...
<script type="text/javascript">
var sourceSys = new Proj4js.Proj('WGS84');
var destSys = new Proj4js.Proj('EPSG:32187');
function go()
{
...
Et pour une raison quelconque il fonctionne maintenant ...
Autres conseils
Je Couln't obtenir la page à la charge, mais est-ce un problème de rafraîchissement? C'est à dire. pouvez-vous explicitement la cause des balises d'entrée xnew et YNouveau pour se rafraîchir immédiatement après leurs valeurs sont définies?
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow