Android选项卡上的离线地图渲染

时间:2014-06-26 07:36:47

标签: javascript android json d3.js geospatial

我一直在尝试在Android设备上离线渲染地图。我正在尝试使用d3,任何线索和建议都将在很长一段时间内帮助我。

我可以使用d3和该地区的geojson / topojson文件在浏览器上绘制地图吗?但是,有没有办法在没有应用服务器的情况下执行此操作?截至目前,d3通过函数d3.json()读取json,该函数本身需要一个app服务器。有没有一种方法可以让d3直接从本地文件路径而不是URL读取json文件?

任何其他方向来解决这个问题将不胜感激。等待你的回复。

此致 琼斯

3 个答案:

答案 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中,然后在脱机时从存储中检索它。