我正在 laravel 创建一个项目,通过使用 breezometer 热图层 api 和带有 openstreet 地图的传单来显示一个国家的热图,以实现相同的目的。但是Idk如何向最终用户隐藏api密钥,因为提供的api url不会返回任何响应,而是直接在leaflet的tilelayer函数中工作。请告诉我有没有办法在不暴露密钥的情况下做同样的事情?
这是在前端运行良好的代码:
your text
let map = L.map('map').setView([28.7041, 77.1025], 13);
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', { 最大缩放:19, 归因:'©OpenStreetMap' }).addTo(地图);
L.tileLayer(
https://tiles.breezometer.com/v1/air-quality/breezometer-aqi/current-conditions/{z}/{x}/{y}.png?key=${API_KEY}
, {
tms:假的,
不透明度:0.65,
最大原生缩放:19
}).addTo(地图);
我尝试在 leaflet 的 tilelayer 方法中使用路由调用函数。
这是我在 Laravel 控制器中创建的功能,但它不起作用。
your text
公共函数 getTileData() {
$path = 'https://tiles.breezometer.com/v1/air-quality/breezometer-aqi/current-conditions/{z}/{x}/{y}.png?key=685ce23260d0444c90871220f3a8cae6';
$file = Http::withHeaders(['Content-Type' => 'image/png'])->get($path);
echo $file;
}