【问题标题】:clear or reset geocomplete control清除或重置地理完整控制
【发布时间】:2014-09-09 08:10:43
【问题描述】:

我正在寻找一种方法来清除 geocomplete(版本 1.5.0)控件的结果。我尝试了这里提到的各种方法,但无济于事。

这个想法是当用户在输入商业名称后清除该字段时,我希望 geocomplete 也重置其“内部”。现在,虽然该字段清除了它的输入,但一旦它失去焦点(用户点击页面上的其他地方),geocomplete 就会放回输入的地址

<html>
....
<label for="geocomplete">Adress</label><input id="geocomplete" type="search" placeholder="Type you Address here" tabindex="1"/>
....
</html>

<javascript>
...
 $("#geocomplete").geocomplete({
    map: ".map_canvas",

    mapOptions: {
     zoom: 14,
     scrollwheel: false,
     mapTypeId: "roadmap",
     streetViewControl:false,
     mapTypeControl:false
    },

    types: ["establishment"],
  }).bind("geocode:result", function(event, result) {

     // do stuff here
    });

  //
  $('#geocomplete').on('input', function() {

   // Field empty... clear content
   if($("#geocomplete").val() == "")
   {
    // Clear

   //$('#geocomplete').data().autocomplete.term = null;
   //$("#geocomplete").geocomplete().autocomplete()[0].value = "";

   }
  });  

  ....
</javascript>

【问题讨论】:

  • 你的代码在哪里? geocomplete 是什么元素?
  • 我修改了帖子希望能回答你的问题,谢谢!

标签: jquery google-maps-api-3 jquery-plugins geocomplete


【解决方案1】:

我只需在输入字段上注册一个事件侦听器(只要用户在我的情况下键入)并清除我的所有字段以响应它。注意:我还在最后调用 geocomplete('initMap') 来重置地图(我猜也是 geocomplete 的内部结构)。对不起,它是 CoffeeScript,但你应该明白了:

@query_field.bind('input', => @resetLocation())

...

resetLocation: ->
  @reference_field.val(null)
  @city_field.val(null)
  @formatted_address_field.val(null)

  $( '#venue_details [name=name]' ).text('')
  $( '#venue_details [name=formatted_address]' ).text('')
  @query_field.removeClass( 'approved' )
  @query_field.geocomplete( 'initMap' )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-28
    • 2012-05-10
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    相关资源
    最近更新 更多