0

これは私が取り組んでいるコードです: http://jsfiddle.net/9B84H/26/

function autosuggest() {
var input = document.getElementById('location');
    var options = {types: [],};
    var autocomplete = new google.maps.places.Autocomplete(input, options);
}

function getLatLng() {
    var geocoder = new google.maps.Geocoder();
    var address = document.getElementById('location').value;
    geocoder.geocode({
        'address': address
    }, function (results, status) {
        if (status === google.maps.GeocoderStatus.OK) {
            $('#lat').val(results[0].geometry.location.lat());
            $('#lng').val(results[0].geometry.location.lng());
        } else {
            alert("Geocode failed: " + status);
        }
    });
}

ほとんど同じである 2 つの変数があります :

var address = document.getElementById('location').value;
var input = document.getElementById('location');

これをグローバル変数として 1 行にまとめる機会はありますか?

4

1 に答える 1

0

匿名の自己呼び出し関数を使用するか、jQuery で dom-ready メソッドを使用してコードをラップすることができます (JS コードをページの下部に配置しない場合は、dom-ready の方が良い考えのようです)。

入力の onclick、onfocus 属性を削除して、javascript セクションに配置する例を示しました: http://jsfiddle.net/9B84H/27/

$(function() {
    var location = document.getElementById('location');
    var getLatLng = function() {
        var geocoder = new google.maps.Geocoder();
        var address = location.value;
        geocoder.geocode({
            'address': address
        }, function (results, status) {
            if (status === google.maps.GeocoderStatus.OK) {
                $('#lat').val(results[0].geometry.location.lat());
                $('#lng').val(results[0].geometry.location.lng());
                alert("Geocode success");
            } else {
                alert("Geocode failed: " + status);
            }
        });
    };
    var autosuggest = function() {
        var options = {types: []};
        var autocomplete = new google.maps.places.Autocomplete(location, options);
    };
    $("#location").on("focus", autosuggest);
    $(":button[name='Geocode']").on("click", getLatLng);
});

locationこれで、ドキュメント内の #location 要素を参照するという名前のローカル変数が作成されました。

于 2012-11-04T22:35:05.243 に答える