Jquery新手 - Geocoder没有返回结果

时间:2013-05-15 10:40:17

标签: javascript jquery performance google-maps coding-style

这是我尝试放在一起的第一个javascript,但我没有太多运气。这是脚本应该做的事情:

  

通过点击自动建议的位置或地址来对地址进行地理编码   如果我们没有结果,请单击搜索按钮   点击自动提示。然后提交表格。

我没有太多运气,似乎我已经破坏了我在剧本上的制作,因为无论我做什么都抱怨异常。

这是我的代码:LINK

geocode();

// SET COOKIE FOR TESTING PURPOSES   
    $.cookie("country", "US");

    // GEOCODE FUNCTION
    function geocode() {

        var coded = false;
        var input = document.getElementById('loc');
        var options = {
            types: ['geocode']
        };
        var country_code = $.cookie('country');
        if (country_code) {
            options.componentRestrictions = {
                'country': country_code
            };
        }
        var autocomplete = new google.maps.places.Autocomplete(input, options);
        google.maps.event.addListener(autocomplete, 'place_changed', function() {
        processLocation();
        });

// ON SUBMIT - WORK OUT IF WE ALREADY HAVE THE RESULTS FROM AUTOCOMPLETE FUNCTION
        $('#searchform').on('submit', function(e) {
             e.preventDefault();
             if(coded = false;) {
                processLocation();
             } 
             else {
                $('#searchform').submit();
             }
        });

// CHECK TO SEE IF INPUT HAS CHANGED SINCE BEING GEOCODED
// IF "CODED" VAR IS FALSE THEN WE WILL GEOCODE WHEN SEARCH BUTTON HIT         
        $("#loc").bind("change paste keyup", function() {
             var coded = false; 
        });

    };  

// GEOCODE THE LOCATION
    function processLocation(){

            var geocoder = new google.maps.Geocoder();
            var address = document.getElementById('loc').value;
            $('#searchform input[type="submit"]').attr('disabled', true);
            geocoder.geocode({
                'address': address
            },

// RESULTS - STORE COORDINATES IN FIELDS OR ERROR IF NOT SUCCESSFUL
            function(results, status) {
                if (status == google.maps.GeocoderStatus.OK) {
                    var coded = true;
                    $('#lat').val(results[0].geometry.location.lat());
                    $('#lng').val(results[0].geometry.location.lng());
                } else {
                    var coded = false;
                    $('#searchform input[type="submit"]').attr('disabled', false);
                    alert("We couldn't find this location")
                }

            });
}

谁能看到我哪里出错了?

Ps因为这是我的第一个剧本,如果有知识的人能够告诉我,如果我在剧本的设计方面做出了不好的选择,我会非常感激,我真的很想让我的第一个脚本尽可能清晰编码。

1 个答案:

答案 0 :(得分:2)

语法错误

if(coded = false;) {

应该是

if(coded == false) {

检查控制台会告诉你这样的事情以及发生错误的地方....这是你固定的fiddle