Fügen Sie einen benutzerdefinierten Ort in das Eingabefeld ein, indem Sie auf eine Schaltfläche klicken, um den Geocomplete zu stoppen

8

Meine Anforderung besteht darin, einen Ortsnamen in ein Textfeld einzugeben und dies in der Karte anzuzeigen, also habe ich geocomplete js verwendet, was gut funktioniert.

Jetzt sollte mein Benutzer in der Lage sein, benutzerdefinierte Orte wie "mein Haus" einzutragen, dafür muss ich die Geocomplete entfernen, indem ich auf einen "x" -Knopf oben auf der Karte klicke.

Wie kann ich das umsetzen?

Vielen Dank im Voraus

    
Adidev 25.06.2014, 11:00
quelle

1 Antwort

1

Ich würde das Paket nicht anpassen! Wenn eine neue Version herauskommt, müssen Sie dieselben Änderungen vornehmen wie zuvor.

Da Sie keinen Code zur Verfügung gestellt haben, kann ich Ihnen eine Vorstellung davon geben, was ich mit den Überschreibungen der JQuery-Validierungsmethode gemacht habe.

Sie müssen einfach den Listener (etwas wie $('#listenToThis').on('click', function(){ doThings(); } ) in der Datei geocomplete.js finden und ihn dann in einer Datei überschreiben, die nach Geocomplete enthält.

Wenn Sie Bundles verwenden, fügen Sie einfach Ihre Datei hinzu, nachdem die Geocomplete-Listener-Antwort definiert wurde.

Nachdem Sie diese gefunden haben, können Sie etwas Ähnliches wie folgt tun:

%Vor%

Mit der obigen Funktion konnte ich clientseitige Zahlen validieren, die in JQuery ($) als Währung formatiert wurden.

Dies überschreibt die Funktion JQuery.validator.methods.number (eine Methode, mit der die Funktion außer Kraft gesetzt wird, ohne den Paketcode zu ändern). Wenn Sie also die Funktion geocomplete.addSomethingToMap oder geocomplete.reactToClick ermitteln können Sie sollten es überschreiben und es wird im Wesentlichen so funktionieren.

Warnung: Sie müssen die Änderungen erneut einschließen , wenn Sie die Funktion erneut aktivieren möchten. Sie müssen überschreiben, überschreiben, überschreiben erneut. Dies ist möglicherweise nicht der beste Weg, wenn Sie Hunderte von verschiedenen neuen Standorten auf einem Bildschirm hinzufügen, aber für bis zu eine kleine Einheit, wie ein Dutzend, sollte es eine gute Lösung sein.

    
Jared Hooper 25.08.2014 12:04
quelle