【发布时间】:2020-02-03 09:27:30
【问题描述】:
我为个人项目创建了一个 API,它返回一些 GeoJSON 数据。
目前,这些数据基本上是返回给客户端显示在地图上。但是,客户端(显然)可以完全访问返回的数据,并且它必须自己实现必要的 Javascript 才能显示它。
类似:
$.ajax({
url: "url/to/my/api",
type: "POST",
data: JSON.stringify({ /* some parameters */ }),
contentType: 'application/json',
}).done(function(data) {
data.addTo(map);
//data contains all the geo-coordinates, visible in browser console, that I'd like to hide
});
问题:有没有什么办法可以“混淆”数据,让客户在地图上显示,但剥夺他查看数据的权利?
例如,Google Maps API 实现了一些traffic layer,我们无法查看构成地铁线路的数据,只需显示即可:
var transitLayer = new google.maps.TransitLayer();
transitLayer.setMap(map);
如何实现类似的东西,将返回的数据“隐藏”给客户端,让他可以在地图上显示它?
谢谢
【问题讨论】:
-
地图需要哪些属性(或属性类型),而您不想与客户端共享?
-
实际上,我只是希望我的客户在他们的地图上添加一个包含我的数据的图层,但我不希望他们可以访问(即使在浏览器的控制台中)这些数据。我的 API 返回的数据是一堆 lat/lng,我想将它们保密。与我在原始问题中引用的 Google 传输层完全相同。
标签: javascript api maps geojson data-layers