Chcę zintegrować mapy Google z moją aplikacją bez użycia komponentu angular2-google-maps. Próbowałem wykonać samouczek wprowadzający
Kiedy umieszczam dwa skrypty z samouczka w pliku index.html i tworzę element mapy, który w zasadzie prowadzi tylko do pliku HTML z plikiem <div id="map"></div>
tag w nim, pojawia się następujący błąd:
TypeError: Cannot read property "offsetWidth" of null.
Jest to prawdopodobnie spowodowane wykonaniem skryptuprzed załadowaniem rzeczywistego div. Jak mogę uruchomić te skrypty po załadowaniu wszystkich elementów? Dodanie skryptów do części HTML mojego komponentu map wydaje się nie działać.
Dzięki!
Odpowiedzi:
0 dla odpowiedzi № 1Spróbuj usunąć atrybut asynchroniczny z tagu skryptu map Google. Jeśli nadal nie działa, możesz spróbować użyć tego Ładowanie synchroniczne
Powodzenia.
0 dla odpowiedzi nr 2
Możesz spróbować zastosować to samo podejście, które pozwala jQuery działać z Angular 2.
Posługiwać się setTimeout
:Pozwala to na uruchomienie jQuery w następnym cyklu wykonania po zakończeniu ładowania Angulara przez wszystkie komponenty potomne.
export class HomePage {
constructor() {
setTimeout(() => {
// your code here
}, 0);
}
}