我正在使用 breezometer api 和 leaflet 以及 openstreetmap 来显示世界的热图,但是 api 需要密钥,我不想向最终用户显示密钥

问题描述 投票:0回答:0

我正在 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;
}
javascript php laravel leaflet openstreetmap
© www.soinside.com 2019 - 2024. All rights reserved.