Eeeee... Od kiedy polilinia ma jeden punkt?

Wiesz jak ten skrypt działa? Bierzesz punkt( myLatLng ) i tworzysz obiekt zakresu (bounds). Teraz rozszerzasz zakres tak by objął ów punkt (extend), jeśli jest on poza nim. Teraz mapę tak zoomujemy, aby pojawił się największy możliwy poziom zoom, który obejmuje wskazany zakres.
Co więc robisz źle? Zobacz co wrzucasz do myLatLng

Całą polilinię? A nie powinneś tylko punktów najbardziej skrajnych dla wszystkich elementów polilinii, czyli o największych i najmniejszych wartościach lat i lng?

Wystarczy, że podasz tylko te punkty. Te, które posiadają największe i najmniejsze latitude oraz longitude. To będzie zawsze od 2 do 4 punktów (włącznie). I tyle je wrzucasz do bounds.extend(). To jest cały trick. Ty wrzucasz cały obiekt polilinii i uwazasz, że wspomniana metoda ma poznać "magicznie" wszystkie wierzchołki polilinii i je sobie do zakresu sama wprowadzi. To identyczna sytuacja gdybym Ci dał mapę pokreśloną linią łamaną i "panel dodawania punktów" do zakresu ograniczony do wpisywania jednego punktu za każdym razem. Ty próbujesz od razu walnąć tam cały zestaw punktów. Tak się nie da. Albo przelecisz i dodasz wszystkie wierzchołki "zygzaka" w "panelu", albo będziesz sprytniejszy i znajdziesz te najbardziej "wystające" w każdą stronę i tylko je dodasz.
Za mało myślisz przy dokumentacji, która jest jasna jak cep i nawet w przykładzie to widać. Jeśli chcesz iluzję że coś działa jak chcesz - używaj Windowsa. Jeśli chcesz to zrobić porządnie zobacz dokładnie dokumentację i przykłady zanim zaczniesz robić ekwilibrystykę programistyczną by tego Windowsa też uzyskać