我一直在尝试在Android设备上离线渲染地图。我正在尝试使用d3,任何线索和建议都将在很长一段时间内帮助我。
我可以使用d3和该地区的geojson / topojson文件在浏览器上绘制地图吗?但是,有没有办法在没有应用服务器的情况下执行此操作?截至目前,d3通过函数d3.json()读取json,该函数本身需要一个app服务器。有没有一种方法可以让d3直接从本地文件路径而不是URL读取json文件?
任何其他方向来解决这个问题将不胜感激。等待你的回复。
此致 琼斯
答案 0 :(得分:2)
这是不可能的。
d3.json旨在通过HTTP加载数据。作为解决方法,您可以设置本地服务器以通过HTTP提供数据。
答案 1 :(得分:0)
这是可能的。我做过类似的事情。
对我来说,我使用的是app服务器,但我将JSON字符串推送到HTML中并使用JavaScript直接获取它。代码是这样的:
var root = treeData = JSON.parse($('#json').val());
function visit(parent, visitFn, childrenFn) {
//....
visit(treeData, function(d) {
//....
答案 2 :(得分:0)
你是否考虑使用像IndexedDB这样的方法来缓存json?通过这种方式,您可以在第一页加载时或在有Internet连接时将json加载到IndexedDB中,然后在脱机时从存储中检索它。