私はこのロジックを持っています:ユーザーはフォームで彼の住所を与えます、私はこの住所を取り、送信機能で私はこの住所の緯度と経度を取得し、これをフォームの非表示の入力フィールドに保存してから、それらでフォームを送信します緯度と経度の内側。
私のjs関数:
var geocoder = new google.maps.Geocoder();
function geocodeme(adr) {
var address = adr;
geocoder.geocode(
{'address': address},
function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var latitude = results[0].geometry.location.lat();
var longitude = results[0].geometry.location.lng();
//alert(latitude + ' - ' + longitude);
$('#lat').val(latitude);
$('#long').val(longitude);
}
}
);
}
function submitme(){
var adres = str + '+' + hnr + '+' + plz + '+' + stadt + '+' + land;
var codemeadr = str + ' ' + hnr + ' ' + plz + ' ' + stadt + ' ' + land;
geocodeme(codemeadr);
//document.addform.submit();
alert($('#lat').val() + ' -- ' + $('#long').val());
}
私のフォーム:
....
<input type="hidden" name="lat" id="lat" />
<input type="hidden" name="long" id="long" />
<a href="javascript:submitme();"> Submit </a>
最初に送信をクリックすると、緯度と経度が空になります(設定されていません)が、2回目に送信すると設定されますが、これはなぜですか?最初の送信呼び出しで緯度と経度を設定できないのはなぜですか?
ところで:これらのパラメータstr
はすべてhnr
..実際に存在し、空ではありませんが、ここでは問題ではありません..
手伝ってくれてありがとう