通过单击按钮停止地理填充,在输入字段中添加用户定义的位置

时间:2014-06-25 11:00:38

标签: android jquery google-maps cordova geolocation

我的要求是在文本字段中输入地名并在地图中显示,因此我使用了geocomplete js,效果很好。

现在我的用户应该可以放入用户定义的地方,例如“我的房子”,因为我需要在点击地图顶部的“x”按钮时移除地理填充。

我该如何实现?

提前致谢

1 个答案:

答案 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函数,你应该覆盖它,它基本上会以这种方式工作。

警告:但是,如果要重新启用此功能,则需要重新包含更改。您必须再次覆盖,覆盖,覆盖。如果他们要在一个屏幕上添加数百个不同的新位置,这可能不是最佳方式,但对于一个小的单位,例如十几个,这应该是一个很好的解决方案。