我已成功将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无处街。它不会过滤结果。
答案 0 :(得分:1)
首先,请注意Place Autocomplete中的弃用通知,其中声明
自2016年2月16日起,
types
参数已弃用,取而代之的是新的type
参数,该参数仅支持每种搜索请求一种类型。
有了这个,我建议您使用type
参数将结果限制为与指定类型匹配的位置。只能指定一种类型(如果提供了多种类型,则忽略第一个条目后面的所有类型)。
此外,从地方自动填充请求list of supported types开始,您可以使用regions
类型返回与sublocality
匹配的任何结果。
最后,如果您浏览Place Searches documentation并检查此SO post中给出的解决方案,它会有所帮助。