我的要求是在文本字段中输入地名并在地图中显示,因此我使用了geocomplete js,效果很好。
现在我的用户应该可以放入用户定义的地方,例如“我的房子”,因为我需要在点击地图顶部的“x”按钮时移除地理填充。
我该如何实现?
提前致谢
答案 0 :(得分:1)
我不会自定义套餐!当新版本发布时,您必须做出与之前相同的更改。
由于您还没有提供任何代码,我可以让您了解我使用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函数,你应该覆盖它,它基本上会以这种方式工作。
警告:但是,如果要重新启用此功能,则需要重新包含更改。您必须再次覆盖,覆盖,覆盖。如果他们要在一个屏幕上添加数百个不同的新位置,这可能不是最佳方式,但对于一个小的单位,例如十几个,这应该是一个很好的解决方案。