目前我正在使用catro.js将包含多边形的carto表加载到我的地图上的php文件中,并且密钥在javascript中可见。下面给出的示例是调用sql api。
var layerStyle = $('#landuse-style').text();
cartodb.createLayer(CartoDbLib.map, {
user_name: 'sandyjones',
type: 'cartodb',
sublayers: [{
sql: "SELECT * FROM master " + query,
cartocss: layerStyle,
}],
extra_params: {
map_key: "myAPiKey"
}
}
如果您可以建议我可以使用的代码示例,如何使用代理php文件或后端php文件在我的服务器上隐藏此api密钥。
某个时候我试过但是我遇到了一个问题,即来自carto服务器的图像的url会包含地图密钥。
答案 0 :(得分:0)
我担心你需要创建自己的代理。这是一个基于node.js的代理作为示例:https://github.com/CartoDB/cartodb-api-proxy,但这不是支持的代码,可能它甚至已过时。
如果您的表数据是公开的(并且它将是公开的 - 也通过代理),那么我将表定义为" Public"在Carto网站中,您的应用根本不需要将API密钥放入请求中。