我用了这个Show wind direction on Google Maps在谷歌地图上旋转标记,但 Angular 设置为 220。现在我有一个输入文本框,用户在其中输入 Angular ,当点击按钮时在谷歌地图上显示旋转标记。我如何编辑此代码以从文本框中获取值? <canvas>
有可能吗? ?
代码在这里:
<body onload="xz()" onunload="GUnload()">
<div id="map" style="width: 400px; height: 300px"></div>
<script type="text/javascript">
function xz()
{
if (GBrowserIsCompatible()) {
var angleDegrees = document.getElementById('angle').value;
var map = new GMap2(document.getElementById("map"));
var arrowIcon = new Image();
var marker = new ELabel( new GLatLng(55.50, 2.50), '<canvas id="arrowcanvas" width="32" height="32"><\/canvas>', null, new GSize(-16, 16));
arrowIcon.src = "http://i49.tinypic.com/mafqee.png";
map.addOverlay(marker);
map.setCenter(new GLatLng(53.85, -1.80), 3);
var canvas = document.getElementById("arrowcanvas").getContext('2d');
var angleRadians = (angleDegrees / 180) * Math.PI;
var cosa = Math.cos(angleRadians);
var sina = Math.sin(angleRadians);
canvas.clearRect(0, 0, 32, 32);
canvas.save();
canvas.rotate(angleRadians);
canvas.translate(16 * sina + 16 * cosa, 16 * cosa - 16 * sina);
canvas.drawImage(arrowIcon, -16, -16);
canvas.restore();
}
}
</script>
<form>
<input type="text" size="13" id="angle" name="angle" value=""> </input>
<input type="submit" id="button2" value="Prika?i" class="btnsearch" onsubmit="xz(); return false;">
</form>
</body>
最佳答案
你可以复制他的代码并替换这一行:
var angleDegrees = 220;
用类似的东西:
var angleDegrees = document.getElementById('myTextbox').value;
其中“myTextbox”是分配给您的输入字段的 ID。
关于javascript - 在谷歌地图上旋转标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10565529/