antoniosiles/nova-4-card-map-plus

一个 Laravel Nova 插件卡片。

v0.0.28 2024-08-02 03:55 UTC

README

GitHub release (latest by date) Packagist

Nova4CardMap

使用 Leaflet 自定义 Laravel Nova 4 地图卡片。支持 Google Maps、标记聚合、地图高度、经纬度坐标、GeoJSON、标记弹出框和自定义标记图标。

image

安装

composer require antoniosiles/nova-4-card-map-plus

使用方法

use AntonioSiles\Nova4CardMap\Nova4CardMap
...
(new Nova4CardMap())->width("1/2")

可用方法

高度

(new Nova4CardMap())
->height('400px') // default is 300px

Google Maps

默认提供商是 OpenStreetMaps。
您必须设置您的 Google Maps API 密钥(https://developers.google.com/maps/documentation/javascript/get-api-key)。

(new Nova4CardMap())
->googleApiKey('')
->googleMapType('roadmap'), // roadmap, satellite or hybrid

经纬度(点)

(new Nova4CardMap())
->type('LatLon')
->point('-6.081689','145.391881')

GeoJSON

(new Nova4CardMap())
->type('GeoJson')
->geoJson('')

GeoJSON 示例

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "popup": "I am a Popup"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          23.8623046875,
          -30.221101852485987
        ]
      }
    }
  ]
}

弹出框

(new Nova4CardMap())
->popup('popup')

自定义标记图标

(new Nova4CardMap())
->markerIcon('/images/marker-icon.png')

您可以通过传递额外的参数来设置图标大小和锚点。

->markerIcon('/images/marker-icon.png',[100,100],[50,50])

image