Hirdetés

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

  • whYz
    őstag

    Sziasztok

    Szeretnem google maps segitsegevel a kozeli pontokat osszecsoportositani. Ehhez egy nested for loopot hasznalok. A gond ott kezdodik, hogy a masodik for loop folyamatosan novekszik es egy ido utan akkora mennyisegu lesz, hogy soha nem lesz vege, 1 szalon futtatom es 5+ gigabyte mennyisegu ramot eszik.

    for(var pinKey in this.pinLocations)
    {
    for(var newPinKey in groupedLocations)
    {
    dist = this.getDistanceBetweenTwoLatLongs(this.pinLocations[pinKey].LL, groupedLocations[newPinKey].LL);
    if(dist <= 3)
    {
    // A ket pont eleg kozel van, szoval hozzaadjuk a pint ehhez a grouphoz
    groupedLocations[newPinKey].A = groupedLocations[newPinKey].A.concat(this.pinLocations[pinKey].A);
    break;
    }
    }

    if(dist > 3)
    {
    // A pin nem volt eleg kozel egyik grouphoz se, igy csinalunk egy uj groupot
    groupedLocations[pinKey] = this.pinLocations[pinKey];
    }
    }

    Hogyan tudnam ezt a folyamatot leegyszerusiteni?

    Sikerult megoldani a problemat. Ha valakit erdekel akkor ugy csinaltam, hogy minden egyes groupot a hozza tartozo latitude/longitude racshoz rendelem, igy ha ellenorzunk egy uj pontot akkor csak az ahhoz tartozo racsban levo groupokat kell ellenoriznem az egesz terkep helyett. Ezzel az eddigi par napos terkep feldolgozasi ido lecsokkent masodpercekre. Erdekes, hogy a google-nal nem gondoltak valami ilyen megoldasra... :D

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