PHP code example of blemli / swissstreets-for-filament
1. Go to this page and download the library: Download blemli/swissstreets-for-filament library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
blemli / swissstreets-for-filament example snippets
// Panel
->plugin(SwissstreetsPlugin::make()->cantons(['BS', 'BL'])->table()->notify(User::class))
// Model
class Customer extends Model { use HasAddress; } // needs an address_id column
// Form: "spalen 113" → Spalenring 113, 4055 Basel
Address::make('address_id')->nonresidential()->nearMe()->allowCustom('address_text')
Address::cascade('address_id')->nearMe()->freetext() // same, as three selects: town → street → number
// Map picker: search the register or drop the pin anywhere (swisstopo tiles, dark mode aware)
MapPicker::make('location')->lat('latitude')->lng('longitude')->address('address_id')
// Table / infolist
AddressColumn::make('address')->map()
AddressEntry::make('address')->map()
// Query
Address::search('bahnhof zürich')->near($lat, $lng, withinKm: 5)->used()
// Global search: "spalen 113" finds the customer living there
class CustomerResource extends Resource { use SearchesAddressGlobally; } // then list 'address' in getGloballySearchableAttributes()