2012-11-20 17 views
7

Zbudowałem tę aplikację na Androida, aby gromadzić sygnały długości i szerokości geograficznej oraz sygnały telefoniczne dla projektu mojej klasy. Moim celem jest przeniesienie tych informacji na prostą stronę z mapą termiczną. Moje pytanie brzmi, co jest najlepszym sposobem, aby zaktualizować dane zmienne termiczna w tym przykładzie:Aktualizowanie danych mapy termicznej, proste google HeatMap

https://google-developers.appspot.com/maps/documentation/javascript/examples/layer-heatmap

Zmienna ta w szczególności:

 var taxiData = [ 
      new google.maps.LatLng(37.782551, -122.445368), 
      new google.maps.LatLng(37.782745, -122.444586), ... 
      ]; 

Jestem otwarty na wszelkie sugestie, jestem ładna nowicjusz z tworzeniem stron internetowych.

Odpowiedz

24

Mapy Google sprawiają, że jest to bardzo proste. Można zauważyć, później w tym przykładzie taxiData jest załadowany do określonej tablicy google tutaj -

pointArray = new google.maps.MVCArray(taxiData); 

A potem ta umieszczana jest w mapie jako mapę cieplną tutaj:

heatmap = new google.maps.visualization.HeatmapLayer({ 
    data: pointArray 
}); 
heatmap.setMap(map); 

MVCArray może być zaktualizowany, a mapa zostanie automatycznie zaktualizowana. Jeśli więc chcesz dodać nową LatLng do swojej mapy cieplnej, po prostu wstaw:

pointArray.push(new LatLng(<coordinates>)); 

I mapa zostanie zaktualizowana.

+0

dzięki, nie zdawałem sobie sprawy, że MVCArrays działa w ten sposób! Wskazuje to na dobry kierunek, myślę, że zrobię jeszcze kilka samouczków JS, dosłownie zaczęło się to dzisiaj. – Yonahs

+0

Heh bez problemu, powodzenia w nauce javascript! – Bubbles

+0

czy możliwa jest zmiana właściwości wagi lub latlonu istniejących punktów w mapie termicznej? W przypadku animacji chcę, aby zmiany w mapie termicznej były tak płynne, jak to tylko możliwe. Teraz usuwam warstwę mapy termicznej, ustawiając mapę na wartość null, a następnie ustawiając warstwę z wszystkimi nowymi danymi na mapie, ale to powoduje, że nie widzę żadnych punktów mapy cieplnej przez krótki czas. –