@@ -61,30 +61,26 @@ function updateLatLngValue(lat, lng) {
6161}
6262
6363function check_lat_lon ( e ) {
64- let regex_lat = / ^ ( - ? [ 1 - 8 ] ? \d (?: \. \d { 1 , 18 } ) ? | 9 0 (?: \. 0 { 1 , 18 } ) ? ) $ / ;
65- let regex_lng = / ^ ( - ? (?: 1 [ 0 - 7 ] | [ 1 - 9 ] ) ? \d (?: \. \d { 1 , 18 } ) ? | 1 8 0 (?: \. 0 { 1 , 18 } ) ? ) $ / ;
6664 let lat = document . getElementById ( `latitude${ e . target . name } ` ) . value ;
6765 let lng = document . getElementById ( `longitude${ e . target . name } ` ) . value ;
6866
69- let validLat = regex_lat . test ( lat ) ; // 21.2908
70- let validLng = regex_lng . test ( lng ) ; // -157.8305
71-
72- // only fire invalid coords if length on both is not 0
73- if ( lat . length !== 0 && lng . length !== 0 ) {
74- if ( validLat && validLng ) {
75- array . push ( {
76- id : e . target . name ,
77- coords : [ lat , lng ] ,
78- lat : lat ,
79- lng : lng ,
80- number : window . locationNumber ,
81- } )
82- updateMarker ( ) ;
83- updateLocationParam ( ) ;
84- }
85- else {
86- updateLatLngInnerHtmlInvalidCoords ( )
87- }
67+ console . log ( typeof lat )
68+ let validLat = ! isNaN ( lat ) && lat >= - 90 && lat <= 90 ;
69+ let validLng = ! isNaN ( lng ) && lng >= - 180 && lng <= 180 ;
70+
71+ if ( validLat && validLng ) {
72+ array . push ( {
73+ id : e . target . name ,
74+ coords : [ lat , lng ] ,
75+ lat : lat ,
76+ lng : lng ,
77+ number : window . locationNumber ,
78+ } )
79+ updateMarker ( ) ;
80+ updateLocationParam ( ) ;
81+ }
82+ else {
83+ updateLatLngInnerHtmlInvalidCoords ( )
8884 }
8985}
9086
@@ -112,6 +108,11 @@ function createInput(name, i) {
112108
113109
114110function deleteCoords ( id ) {
111+ const inputTags = [ ...document . querySelectorAll ( '.num-tags' ) ] ;
112+ if ( inputTags . length <= 1 ) {
113+ return ;
114+ }
115+
115116 if ( id === 0 ) {
116117 return ;
117118 }
0 commit comments