我的要求是在文本字段中放置一个地名并在地图中显示,所以我使用了geocomplete js,效果很好.
现在我的用户应该可以放入用户定义的地方,例如“我的房子”,因为我需要在点击地图顶部的“x”按钮时删除地理填充.
我该如何实现呢?
提前致谢
解决方法
我不会定制包!当新版本出现时,您必须进行与之前相同的更改.
由于您没有提供任何代码,我可以让您了解我使用JQuery验证方法覆盖的内容.
你只需要在geocomplete.js文件中找到监听器(类似于$(‘#listenToThis’).on(‘click’,function(){doThings();}),然后在一个文件中覆盖它.地理完整后包含.
如果您正在使用捆绑包,请在定义地理完整侦听器响应后包含您的文件.
因此,在找到这些之后,您可以执行类似以下操作:
$.validator.methods.number = function (value,element) { value = floatValue(value); return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value); }
上面的函数允许我验证在JQuery($)中格式化为货币的客户端数字.
这会覆盖JQuery.validator.methods.number函数(在不更改包代码的情况下覆盖函数的作弊方式),因此如果您可以精确定位geocomplete.addSomethingToMap或geocomplete.reactToClick函数,则应该覆盖它并且它基本上可以工作那样.
但是警告:当您想要重新启用该功能时,需要重新包含更改.你必须再次覆盖,覆盖,覆盖.如果他们要在一个屏幕上添加数百个不同的新位置,这可能不是最好的方法,但对于一个小的单位,例如十几个,它应该是一个很好的解决方案.