@@ -38,7 +38,7 @@ async function initMap(): Promise<void> {
3838 const heading = map3DElement . heading ?. toFixed ( 0 ) ?? '0' ;
3939 const tilt = map3DElement . tilt ?. toFixed ( 0 ) ?? '0' ;
4040 const range = map3DElement . range ?. toFixed ( 0 ) ?? '0' ;
41- const rawFov = map3DElement . fov ?. toFixed ( 0 ) ?? 45 ;
41+ const rawFov = parseFloat ( map3DElement . fov ?. toFixed ( 0 ) ?? '45' ) ;
4242 const fovClamped = Math . min ( 80 , Math . max ( 5 , rawFov ) ) ;
4343 const fov = fovClamped . toString ( ) ;
4444 const roll = map3DElement . roll ?. toFixed ( 0 ) ?? '0' ;
@@ -94,26 +94,32 @@ async function initMap(): Promise<void> {
9494
9595 if ( prop === 'lat' ) {
9696 const currentCenter = map3DElement . center ;
97- map3DElement . center = {
98- lat : val ,
99- lng : currentCenter . lng ,
100- altitude : currentCenter . altitude ,
101- } ;
97+ if ( currentCenter ) {
98+ map3DElement . center = {
99+ lat : val ,
100+ lng : currentCenter . lng ,
101+ altitude : currentCenter . altitude ,
102+ } ;
103+ }
102104 } else if ( prop === 'lng' ) {
103105 const currentCenter = map3DElement . center ;
104- map3DElement . center = {
105- lat : currentCenter . lat ,
106- lng : val ,
107- altitude : currentCenter . altitude ,
108- } ;
106+ if ( currentCenter ) {
107+ map3DElement . center = {
108+ lat : currentCenter . lat ,
109+ lng : val ,
110+ altitude : currentCenter . altitude ,
111+ } ;
112+ }
109113 } else if ( prop === 'altitude' ) {
110114 currentAltitude = val ;
111115 const currentCenter = map3DElement . center ;
112- map3DElement . center = {
113- lat : currentCenter . lat ,
114- lng : currentCenter . lng ,
115- altitude : val ,
116- } ;
116+ if ( currentCenter ) {
117+ map3DElement . center = {
118+ lat : currentCenter . lat ,
119+ lng : currentCenter . lng ,
120+ altitude : val ,
121+ } ;
122+ }
117123 } else {
118124 map3DElement [ prop ] = val ;
119125 }
0 commit comments