Ich hatte ein Problem gestern mit einem location picker die here gelöst wurdejQuery Locationpicker setzen mehrere Standorte
Dies funktioniert für zwei von drei Fällen aber für das letzte kann ich nicht herausfinden, wie man es an die Arbeit.
Um meine vorherige Frage zusammenzufassen: Ich habe einen Locationpicker, aus dem ich bestimmte Werte nach der Initialisierung extrahieren muss. Um dies zu erreichen, benutze ich diesen Code, die Funktion setLocation ist meine eigene und funktioniert wie vorgesehen.
$("#locationpicker").locationpicker({
location: {latitude: 10, longitude: 10},
radius: 10,
inputBinding:
{
latitudeInput: $("#locationpicker_lat"),
longitudeInput: $("#locationpicker_lon"),
radiusInput: $("#locationpicker_radius"),
locationNameInput: $("#locationpicker_address")
},
oninitialized: function(component){
setLocation("end");
//1. attempt
component.location = {latitude: 20, longitude: 20};
//2. attempt
var mapContext = component.locationpicker("map");
mapContext.map.radius = 500;
//3. attempt - I work, but then setLocation below not any more
component.locationpicker("location", {latitude:10.0, longitude:10.0});
setLocation("start");
},
enableAutocomplete: true
});
Ich rufe die Funktion setLocation()
zweimal, sondern müssen die Lage zwischen ihnen wechseln. Ich konnte in der Dokumentation des locationpickers nicht finden, wie man eine neue Position (Breite, Länge, Radius) einstellt und verschiedene Versuche sind auch gescheitert. Zwei davon können im Code angezeigt werden.
Ich dachte über die Verwendung der ursprünglichen google maps API aber habe keine Ahnung, ob das funktioniert und wie genau es zu verwenden ist.
Ich hoffe, ich habe mein Problem ausführlich genug beschrieben und wenn irgendeine Information fehlt, werde ich es sofort zur Verfügung stellen. Ich muß, aber dann wird die Extraktion für den zweiten Satz von Variablen korrigiert nicht mehr
UPDATE 1
ich in der Lage bin den Standort auf einen Wert zu ändern.
Diese in der oninitilaized Funktion arbeitet
component.locationpicker("location", {latitude:10.0, longitude:10.0});
Da die Funktion setLocation
nicht auf dem aktuellen Stand funktioniert ich es hier posten auch:
function setLocation(option)
{
var lat = $("#locationpicker_lat").val();
var lon = $("#locationpicker_lon").val();
var add = $("#locationpicker_address").val();
var rad = $("#locationpicker_radius").val();
if(rad == "")
{
rad = 0;
}
if(option == "start")
{
document.getElementById("start_location_lat").value = lat;
document.getElementById("start_location_lon").value = lon;
document.getElementById("start_location_rad").value = rad;
document.getElementById("display_start_location").innerHTML = add + ", Radius: " + rad + "m";
}
else
{
document.getElementById("end_location_lat").value = lat;
document.getElementById("end_location_lon").value = lon;
document.getElementById("end_location_rad").value = rad;
document.getElementById("display_end_location").innerHTML = add + ", Radius: " + rad + "m";
}
}
Das Problem ist nicht mehr relevant, aber ich schätze Ihre Mühe. Trotzdem danke. – JRsz