Hirdetés

Új hozzászólás Aktív témák

  • trisztan94

    őstag

    Hali!

    Még mindig a térképes alkalmazáson dolgozom, amivel bénáztam a weblap készítés topikban. Most csak egy egyszerű kérdésem lenne. Van egy form, amit ha felad a felhasználó, kiszedi az adatokat az input mezőkből (címeket), azt pedig elküldi egy aszinkron függvénynek, ami utólag feltölt vele egy tömböt.

    Jelenleg még csak két input mezővel tesztelem:

    [OFF]<div class="form-group waypoint-container">
    <label for="waypoints" class="col-md-1 control-label">1.</label>
    <div class="col-md-11">
    [/OFF] <input type="text" name="waypoints[]" class="form-control form-control-square waypoint" placeholder="Indulási hely" />
    [OFF] </div>
    </div>
    <div class="form-group waypoint-container last-waypoint-container">
    <label for="waypoints" class="col-md-1 control-label">2.</label>
    <div class="col-md-11">[/OFF]
    <input type="text" name="waypoints[]" class="form-control form-control-square waypoint" placeholder="Érkezési hely" />
    [OFF] </div>
    </div>[/OFF]

    Itt a form submit eseményre rakott eseménykezelőm:

    $('.form-directions').on('submit', function () {
    $('.waypoint').each(function () {
    getDrivingDirections($(this).val());
    });
    return false;
    });

    A getDrivingDirections függvény alapvetően két dolgot csinál: első körben geocode-olja (magyarul "geokód"?) a beírt adatokat, hogy GPS koordinátákkal tudjunk dolgozni. Amikor megkaptuk a koordinátákat, akkor pedig tervez rá egy útvonalat a megadott paraméterekkel. Tehát a getDrivingDirections függvény két másik függvényt hív meg: geoCode() és planRoute(). Egyelőre még csak a geoCode függvény implementálásánál tartok.

    Tehát miután meghívtuk a getDrivingDirections-t, meghívódik a geoCode():

    function geoCode (address) {
    nokia.places.search.manager.findPlaces({
    searchTerm: address,
    onComplete: onGeoCodingCompleted,
    searchCenter: map.center
    });
    }

    Ez végül meghívja amikor végetért az aszinkron feladat az onGeoCodingCompleted függvényt:

    function onGeoCodingCompleted(data, requestStatus, requestId) {
    if (requestStatus == "OK") {
    var locations = data.results.items;

    waypoints.push(locations[0].position);
    for (var i = 0; i < waypoints.length; i++) {
    console.log(waypoints[i]);
    }
    } else if (requestStatus == "ERROR") {
    alert("hiba");
    }
    }

    Na és most jönne a tényleges kérdés. A console.log 3 objektumot ad vissza mindig, pedig csak két input mező van. Mindig az első input mezőt logolja kétszer:

    Miért?

    (Azért írtam le így az egész működést, mert biztosan lesznek még kérdéseim ezzel kapcsolatban, így ezt megelőlegeztem magamnak :DDD)

    https://heureka-kreativ.hu

Új hozzászólás Aktív témák