jquery - 选择地址后清除自动完成字段值

标签 jquery google-maps autocomplete

我正在尝试构建一个基于 Google map 的应用程序,并且我创建了一个自动完成字段,允许最终用户手动输入他的地址。

此外,我的应用程序要求行程的起始地址位于管理边界预定义的范围内。

我喜欢做的是,当最终用户尝试输入起始行程地址且该地址超出边界时,清除自动完成字段。

不幸的是我无法清除该字段。虽然控制台显示该字段的值为空,但浏览器仍然包含最后输入的地址。

我使用的代码如下:

//  Build a new AutoComplete object
autocomplete            =   new google.maps.places.Autocomplete(
    $addressField[0],    //  Set the address field
    {
        types   :   [
            'geocode'
        ],
        bounds  :   map.getBounds()
    }
);

//  Add an event listener for autocomplete object
google.maps.event.addListener(
    autocomplete,
    'place_changed',                //  And track the change event
    function()
    {
        var place           =   autocomplete.getPlace();
        var latLng          =   new google.maps.LatLng(place.geometry.location.lat(),   place.geometry.location.lng());
        var isWithinPolygon =   areaPolygon.containsLatLng(latLng);

        if(!isWithinPolygon)
        {
            // NOTE : I have also try the .val() method but with no effect.
            $addressField.attr('value', '').attr('data-lat',  '').attr('data-lng', '');
            console.warn('This address it is not located within the area boundaries');
        }
        else
        {
            $addressField.attr('data-lat',  place.geometry.location.lat()).attr('data-lng', place.geometry.location.lng());
        }
    }
);

最后,这是我的应用程序和控制台上的屏幕截图:

应用程序屏幕截图

enter image description here

元素检查

enter image description here

控制台消息

enter image description here

有人可以帮我解决这个问题吗?

最佳答案

另外清除自动完成的 place 属性:

 autocomplete.set('place',void(0));

关于jquery - 选择地址后清除自动完成字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20797597/

相关文章:

javascript - 如果点击 child ,不要隐藏灯箱

javascript - 单击时输入将关闭列表,但不应

javascript - Google Maps API 集成 - map 标记的点击功能,令人头疼

ios - 如何设计带有自动完成功能的文本字段,例如电子邮件中的 "To"字段

javascript - 如何使用动态变量更改自动完成的源?

javascript - 如何在图像上制作视差效果

jQuery菜鸟: transfer not transferring

javascript - 禁用地理定位时,Google map 不会以位置为中心

iphone - 如何使用 "maps:"方案打开 Google map 应用程序?

javascript - Jqueryui Autocomplete 可以正常工作,但现在不行了