В настоящее время я загружаю таблицу carto, содержащую полигоны, на свою карту в файле php, используя catro.js, и ключ виден в 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"}
}
как скрыть этот ключ API на моем сервере, используя прокси-файл php или внутренний php-файл, если вы можете предложить пример кода, который я могу использовать.
Некоторое время назад я пытался, но я застрял с проблемой, что в URL-адресе изображений с сервера карт будет содержать ключ карты.
Боюсь, вам нужно создать свой собственный прокси. Вот пример прокси на основе node.js: https://github.com/CartoDB/cartodb-api-proxy , но это не поддерживаемый код и, вероятно, он даже устарел.
Если ваши данные таблицы в любом случае общедоступны (и они будут общедоступны — также через прокси-сервер), то я бы определил таблицу как «Общедоступную» в веб-карте Carto, тогда вашему приложению вообще не нужно добавлять ключ API к запросу.
Других решений пока нет …