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

Adi*_*dev 8 jquery android google-maps geolocation cordova

我的要求是在文本字段中放置一个地名并在地图中显示,所以我使用了geocomplete js,效果很好.

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

我该如何实现呢?

提前致谢

Jar*_*per 1

我不会定制套餐!当新版本发布时,您必须进行与之前相同的更改。

由于您没有提供任何代码,我可以让您了解我使用 JQuery 验证方法覆盖所做的事情。

您只需在 geocomplete.js 文件中找到侦听器(类似),然后在 geocomplete之后$('#listenToThis').on('click', function(){ doThings(); }包含的文件中覆盖它。

如果您使用的是捆绑包,只需在定义 geocomplete 侦听器响应后包含您的文件即可。

因此,找到这些后,您可以执行类似于以下操作的操作:

$.validator.methods.number = function (value, element) {
    value = floatValue(value);
    return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value);
}
Run Code Online (Sandbox Code Playgroud)

上面的函数允许我验证在 JQuery 中格式化为货币 ($) 的客户端数字。

这会覆盖 JQuery.validator.methods.number 函数(一种在不更改包代码的情况下覆盖该函数的作弊方式),因此,如果您可以精确定位 geocomplete.addSomethingToMap 或 geocomplete.reactToClick 函数,您应该覆盖它,它基本上会起作用那样。

但警告:当您想要重新启用该功能时,您将需要重新包含更改。你必须重写、重写、再次重写。如果他们要在一个屏幕上添加数百个不同的新位置,这可能不是最好的方法,但对于最多一个小单元,例如十几个,这应该是一个很好的解决方案。