@@ -5,13 +5,12 @@ export default function filamentGoogleMapsField(
55 getStateUsing,
66 autocomplete,
77 autocompleteReverse,
8- geolocate,
8+ geolocate = false ,
99 geolocateOnLoad,
1010 geolocateLabel,
1111 draggable,
1212 clickable,
1313 defaultLocation,
14- statePath,
1514 controls,
1615 layers,
1716 reverseGeocodeFields,
@@ -23,10 +22,15 @@ export default function filamentGoogleMapsField(
2322 gmaps,
2423 mapEl,
2524 pacEl,
26- drawingModeL,
2725 drawingControl,
2826 drawingControlPosition,
29- drawingModes,
27+ drawingModes = {
28+ marker : true ,
29+ circle : true ,
30+ rectangle : true ,
31+ polygon : true ,
32+ polyline : true ,
33+ } ,
3034 drawingField,
3135 geoJson,
3236 geoJsonField,
@@ -151,7 +155,7 @@ export default function filamentGoogleMapsField(
151155 }
152156
153157 if ( autocomplete ) {
154- const geoComplete = document . getElementById ( this . config . autocomplete ) ;
158+ const geoComplete = document . getElementById ( autocomplete ) ;
155159
156160 if ( geoComplete ) {
157161 window . addEventListener ( 'keydown' , function ( e ) {
@@ -172,7 +176,7 @@ export default function filamentGoogleMapsField(
172176 const geocompleteOptions = {
173177 fields : fields ,
174178 strictBounds : false ,
175- types : this . config . types ,
179+ types : types ,
176180 } ;
177181
178182 const autocomplete = new google . maps . places . Autocomplete ( geoComplete , geocompleteOptions ) ;
@@ -195,7 +199,7 @@ export default function filamentGoogleMapsField(
195199 this . map . setCenter ( place . geometry . location ) ;
196200 }
197201
198- $wire . set ( autocomplete , place [ placeField ] ) ;
202+ setStateUsing ( autocomplete , place [ placeField ] ) ;
199203 this . marker . setPosition ( place . geometry . location ) ;
200204 this . markerLocation = place . geometry . location ;
201205 this . setCoordinates ( place . geometry . location ) ;
@@ -206,7 +210,7 @@ export default function filamentGoogleMapsField(
206210
207211 if ( layers ) {
208212 this . layers = layers . map ( ( layerUrl ) => {
209- const kmlLayer = google . maps . KmlLayer ( {
213+ const kmlLayer = new google . maps . KmlLayer ( {
210214 url : layerUrl ,
211215 map : this . map ,
212216 } ) ;
@@ -231,7 +235,7 @@ export default function filamentGoogleMapsField(
231235 }
232236 }
233237
234- if ( this . config . geolocateOnLoad ) {
238+ if ( geolocateOnLoad ) {
235239 this . getLocation ( )
236240 }
237241
@@ -295,7 +299,7 @@ export default function filamentGoogleMapsField(
295299 if ( drawingField ) {
296300 this . dataLayer = new google . maps . Data ( ) ;
297301
298- let geoJSON = $wire . get ( drawingField ) ;
302+ let geoJSON = getStateUsing ( drawingField ) ;
299303 geoJSON && this . loadFeaturesCollection ( JSON . parse ( geoJSON ) ) ;
300304
301305 google . maps . event . addListener ( this . drawingManager , 'overlaycomplete' , ( event ) => {
@@ -346,8 +350,8 @@ export default function filamentGoogleMapsField(
346350 updateGeocode : function ( address_components ) {
347351 const replacements = this . getReplacements ( address_components ) ;
348352
349- for ( const field in this . config . reverseGeocodeFields ) {
350- let replaced = this . config . reverseGeocodeFields [ field ] ;
353+ for ( const field in reverseGeocodeFields ) {
354+ let replaced = reverseGeocodeFields [ field ] ;
351355 for ( const replacement in replacements ) {
352356 replaced = replaced . split ( replacement ) . join ( replacements [ replacement ] ) ;
353357 }
@@ -357,11 +361,11 @@ export default function filamentGoogleMapsField(
357361 }
358362
359363 replaced = replaced . trim ( ) ;
360- setStateUsing ( field , replaced )
364+ setStateUsing ( field , replaced )
361365 }
362366 } ,
363367 updateGeocodeFromLocation : function ( location ) {
364- if ( Object . keys ( this . config . reverseGeocodeFields ) . length > 0 ) {
368+ if ( Object . keys ( reverseGeocodeFields ) . length > 0 ) {
365369 this . geocoder
366370 . geocode ( { location } )
367371 . then ( ( response ) => response . results [ 0 ] . address_components )
@@ -643,9 +647,9 @@ export default function filamentGoogleMapsField(
643647 } ,
644648
645649 drawingModified : function ( ) {
646- if ( this . config . drawingField ) {
650+ if ( drawingField ) {
647651 this . dataLayer . toGeoJson ( ( obj ) => {
648- $wire . set ( this . config . drawingField , JSON . stringify ( obj ) ) ;
652+ setStateUsing ( drawingField , JSON . stringify ( obj ) ) ;
649653 } ) ;
650654 }
651655 } ,
@@ -700,7 +704,7 @@ export default function filamentGoogleMapsField(
700704 } ,
701705
702706 geoJsonContains : function ( latLng ) {
703- if ( this . config . geoJson && this . config . geoJsonField ) {
707+ if ( geoJson && geoJsonField ) {
704708 let features = [ ] ;
705709 let dataLayer = new google . maps . Data ( )
706710 this . geoJsonDataLayer . forEach ( ( feature ) => {
@@ -709,8 +713,8 @@ export default function filamentGoogleMapsField(
709713 path : feature . getGeometry ( ) . getAt ( 0 ) . getArray ( )
710714 } ) ;
711715 if ( google . maps . geometry . poly . containsLocation ( latLng , poly ) ) {
712- if ( this . config . geoJsonProperty ) {
713- features . push ( feature . getProperty ( this . config . geoJsonProperty ) )
716+ if ( geoJsonProperty ) {
717+ features . push ( feature . getProperty ( geoJsonProperty ) )
714718 } else {
715719 dataLayer . add ( feature ) ;
716720 }
@@ -719,13 +723,13 @@ export default function filamentGoogleMapsField(
719723 } ) ;
720724
721725 let fieldContent ;
722- if ( this . config . geoJsonProperty ) {
726+ if ( geoJsonProperty ) {
723727 fieldContent = JSON . stringify ( features )
724- $wire . set ( this . config . geoJsonField , fieldContent ) ;
728+ setStateUsing ( geoJsonField , fieldContent ) ;
725729 } else {
726730 dataLayer . toGeoJson ( ( gj ) => {
727731 fieldContent = JSON . stringify ( gj ) ;
728- $wire . set ( this . config . geoJsonField , fieldContent ) ;
732+ setStateUsing ( geoJsonField , fieldContent ) ;
729733 } ) ;
730734 }
731735 }
0 commit comments