Poruszający się symbol w GoogleMaps JavaScript

Odpowiedz Nowy wątek
2014-12-12 17:31
Mały Pomidor
0

Witajcie

Próbuje zaliczenie przedmiotu próbuje zrobić symulator lotu. Zaimportowałam mapy z google maps , a animowany samolot poruszający się do linii zalatwiłam za pomoca takiego kodu

        var lineCoordinates = [
                new google.maps.LatLng(fromX, fromY),
                new google.maps.LatLng(toX, toY)
             ];
             var lineSymbol = {
                path: //SVG samolotu///,
                scale: 0.5,
                strokeColor: 'black', 
                fillColor: 'black',
                fillOpacity: 1
            };
              var line = new google.maps.Polyline({
                path: lineCoordinates,
                icons: [{
                     icon: lineSymbol,
                     offset: '100%'
                     }],
             });
             line.setMap(map);
 
            var count = 0;
              window.setInterval(function() {
              count = (count + 1) % 200;
              if(count ==199) stopCircle(line);
             var icons = line.get('icons');
                icons[0].offset = (count / 2) + '%';
                line.set('icons', icons);
                },20);

jednak te rozwiązanie ma jedną wade. Wszystkie samoloty niezależnie od trasy lecą taki sam czas. A mi zależy żeby miały taka samą prędkość. Niby przerobienie takiego kodu nie powinno być problemem ale zależy mi też aby przyblizajac mape prędkość animacji sie odpowiednio zwiększyła, oddalajac pomniejszyła. I dlatego mam z tym problem. Umiałby ktoś pomóc?

Pozostało 580 znaków

2014-12-13 14:19

bo w petli zawsze dodajesz 1% odleglosci (notabene to modulo 200 jest tak potrzebne jak piesc do oka). wiec jesli zawsze samolot przesuwa sie o jeden procent odleglosci to wszystkie samoloty pokonaja swoje trasy w 100 jednostkach czasu. (w twoim przypadku w dwie sekundy.

zeby zrobic tak jak ty chcesz to ustal sobie stala np. 100 i dziel ja przez odleglosc miedzy punktami poczatkowym i koncowym (tu masz anwet ladny przyklad funkcji w JS na liczenie odleglosci miedzy punktami lat long. http://stackoverflow.com/ques[...]two-latitude-longitude-points) i o taka wartosc zwiekszaj offset w petli...

Pozostało 580 znaków

2014-12-29 04:40
Mały Pomidor
0

dziękuje badzo mi pomogłeś

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0