そのため、ユーザーが地図をクリックしたときにコードを書いています。座標値を取得し、texbox にバインド (値を表示) しようとします。私はそれをテストしました.座標とクリックイベントは機能しますが、テキストボックスへのバインドに問題があると思います. これを修正する方法について何か提案はありますか?
コード:
<script type="text/javascript" src="http://www.openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript">
OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
defaultHandlerOptions: {
'single': true,
'double': false,
'pixelTolerance': 0,
'stopSingle': false,
'stopDouble': false
},
initialize: function (options) {
this.handlerOptions = OpenLayers.Util.extend(
{}, this.defaultHandlerOptions
);
OpenLayers.Control.prototype.initialize.apply(
this, arguments
);
this.handler = new OpenLayers.Handler.Click(
this, {
'click': this.trigger
}, this.handlerOptions
);
},
trigger: function (e) {
var lonlat = map.getLonLatFromPixel(e.xy);
alert("You clicked near " + lonlat.lat + " N, " +
+lonlat.lon + " E");
$('#latlon').value = lonlat;
}
});
</script>
そして、テキストボックスを定義する方法:
<input type="text" name="coordinates" id="latlon" value="" Font-Names="Tahoma" Font-Size="10pt" Width="95%" />
エラーメッセージ:
Uncaught TypeError: Cannot set property 'value' of null
OpenLayers.Control.Click.OpenLayers.Class.trigger