emiliobravo / filament-google-maps-picker
一个Filament字段,用于根据谷歌地图获取坐标
Requires
- php: ^8.1
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-25 23:19:29 UTC
README
一个基于谷歌地图获取坐标的Filament字段。
安装
您可以通过Composer安装此包
composer require emiliobravo/filament-google-maps-picker
您必须在您的.env文件中定义一个环境变量 GOOGLE_MAPS_API_KEY
,其中包含您的 谷歌地图API密钥
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="filament-google-maps-picker-config"
这是已发布配置文件的内容
return [ 'google_maps_key' => env('GOOGLE_MAPS_API_KEY') ];
可选地,您可以使用以下命令发布视图
php artisan vendor:publish --tag="filament-google-maps-picker-views"
用法
在您的filament资源文件中
use EmilioBravo\FilamentGoogleMapsPicker\Forms\Components\LocationPicker;
在您的filament表单模式中
LocationPicker::make('location')
这将显示一个简单的谷歌地图字段,其中有一个标记在纬度0和经度0。当您点击地图时,字段值和标记位置将更新为新的坐标。
启用谷歌地图控件
使用以下方法启用谷歌地图控件
zoomControl(bool)
(默认: false) 显示缩放控件,允许用户更改它
mapTypeControl(bool)
(默认: false) 显示地图类型选择控件
scaleControl(bool)
(默认: false) 显示地图比例控件
streetViewControl(bool)
(默认: false) 显示地图街景控件
fullScreenControl(bool)
(默认: false) 显示全屏控件
rotateControl(bool)
(默认: false) 显示旋转控件
searchBoxControl(bool)
(默认: false) 显示搜索框控件以搜索位置。选择后将更新字段值
geolocationControl(bool)
(默认: false) 自定义控件以获取设备地理位置并使用它更新地图位置。它需要用户允许设备访问地理位置数据权限
coordsBoxControl(bool)
(默认: false) 自定义控件,显示包含字段当前值(格式为纬度,经度)的文本输入
选项
zoom(int)
(默认: 1) 以整数作为值并设置地图的初始缩放
minHeight(string)
(默认: 50vh) 接受一个字符串来设置地图高度,必须是有效的CSS min-height。例如:80vh,30%,50px
mapTypeId(string)
(默认: roadmap) 接受一个字符串:roadmap,satellite,hybrid,terrain
searchBoxPlaceholderText(string)
(默认: Search Address) 接受一个字符串以自定义搜索框占位符文本
locationButtonText(string)
(默认: My location) 接受一个字符串以自定义位置按钮文本
fixMarkerOnCenter(bool)
(默认: false) 当用户拖动地图时,标记将移动到中心并更新字段值
default(array)
(默认: ['lat' => 0,'lng' => 0]) 设置默认值
defaultToMyLocation(bool)
(默认: false) 设置默认值为当前位置
在您的filament表单模式中
LocationPicker::make('location') ->default(['lat' => 40.7587,'lng' => -73.9786]) ->zoom(15) ->zoomControl() ->minHeight('60vh') ->mapTypeId('satellite') ->mapTypeControl() ->scaleControl() ->streetViewControl() ->fullScreenControl() ->rotateControl() ->searchBoxControl() ->searchBoxPlaceholderText('Type an address') ->geolocationControl() ->locationButtonText('Go to my location') ->defaultToMyLocation() ->coordsBoxControl() ->fixMarkerOnCenter()
这将显示包含所有可用选项的地图
测试
composer test
更新日志
有关最近更改的更多信息,请参阅 更新日志。
致谢
许可证
MIT许可证(MIT)。有关更多信息,请参阅 许可证文件。