邻居的Google地方自动填充限制

时间:2016-10-15 11:33:15

标签: javascript jquery wordpress google-maps google-places-api

我已成功将Geocomplete jquery plugin整合到wordpress网站上。我的问题是我不能将自我暗示结果限制为邻域或子地方。我彻底修改了Google地方信息类型,但结果总是一样的。我知道我在某处做错了什么。这是我到目前为止所做的:

add_action( 'wp_head', 'add_geocomplete_script' );

function add_geocomplete_script() {
   ?>
   <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCJ1Bgyx1jSN3aRFB3uUkLLntXCONZfOyM&libraries=places"></script>
   <script src="<?php echo get_stylesheet_directory_uri() ?>/js/jquery.geocomplete.js"></script>
   <script src="<?php echo get_stylesheet_directory_uri() ?>/js/logger.js"></script>
   <?php 
} 

function woocommerce_checkout_autocomplete(){
?>
    <script>
        jQuery(document).ready(function() {

            var options = {
                //types: ['(cities)'],
                //types: ['sublocality'],
                //componentTypes: ['neighborhood'],
                types: ["geocode", "sublocality"],
                country: 'za'
            };

            jQuery("#billing_myfield8").geocomplete(options);

            jQuery("#billing_myfield8").on("keyup", function() {
                //jQuery("#billing_myfield8").trigger("geocode");
                console.log('You typed in the input box');
            });
        });

    </script>

<?php
}

add_action( 'wp_footer', 'woocommerce_checkout_autocomplete' );

使用上面的代码,我仍然可以搜索一个地址,例如。 112无处街。它不会过滤结果。

1 个答案:

答案 0 :(得分:1)

首先,请注意Place Autocomplete中的弃用通知,其中声明

  

自2016年2月16日起,types参数已弃用,取而代之的是新的type参数,该参数仅支持每种搜索请求一种类型。

有了这个,我建议您使用type参数将结果限制为与指定类型匹配的位置。只能指定一种类型(如果提供了多种类型,则忽略第一个条目后面的所有类型)。

此外,从地方自动填充请求list of supported types开始,您可以使用regions类型返回与sublocality匹配的任何结果。

最后,如果您浏览Place Searches documentation并检查此SO post中给出的解决方案,它会有所帮助。