Javascript Android选项卡上的脱机地图渲染
我一直在尝试在android设备上脱机渲染地图。我正在尝试使用d3来解决这个问题,任何线索和建议都将大大帮助我 我可以使用d3和该地区的geojson/topojson文件在浏览器上绘制地图吗?然而,有没有一种方法可以在没有应用服务器的情况下做到这一点?到目前为止,d3通过函数d3.json()读取json,该函数本身需要一个应用服务器。有没有一种方法可以让d3直接从本地文件路径而不是URL读取json文件 任何其他解决此问题的方向都将受到赞赏。等待您的回复 问候,,Javascript Android选项卡上的脱机地图渲染,javascript,android,json,d3.js,geospatial,Javascript,Android,Json,D3.js,Geospatial,我一直在尝试在android设备上脱机渲染地图。我正在尝试使用d3来解决这个问题,任何线索和建议都将大大帮助我 我可以使用d3和该地区的geojson/topojson文件在浏览器上绘制地图吗?然而,有没有一种方法可以在没有应用服务器的情况下做到这一点?到目前为止,d3通过函数d3.json()读取json,该函数本身需要一个应用服务器。有没有一种方法可以让d3直接从本地文件路径而不是URL读取json文件 任何其他解决此问题的方向都将受到赞赏。等待您的回复 问候,, 琼斯这是不可能的 d3.j
琼斯这是不可能的
d3.json旨在通过HTTP加载数据。作为一种解决方法,您可以设置一个本地服务器,通过HTTP为数据提供服务。这是可能的。我做过类似的事情 对我来说,我使用了一个应用服务器,但我将JSON字符串推入HTML并直接使用JavaScript获取它。代码如下所示:
var root = treeData = JSON.parse($('#json').val());
function visit(parent, visitFn, childrenFn) {
//....
visit(treeData, function(d) {
//....
您是否考虑过使用IndexedDB之类的方法来缓存json?通过这种方式,您可以在加载第一页时或在连接internet时将json加载到IndexedDB中,然后在脱机时从存储中检索它。如何在android设备上设置本地服务器?实际上,至少在osx和windows上,您可以从本地目录加载json、csv等文件,取决于浏览器是否加载(例如,在chrome上不加载外部本地文件,而在safari、internet explorer和firefox上则加载)好的,你知道android的免费web服务器应用程序吗。我知道终极服务器,但该应用程序将在7天后过期。之后我们需要购买应用程序。你在说什么样的服务器?运行在安卓系统上的服务器还是与安卓系统通信的服务器?运行在安卓系统上的服务器。我认为这不是常见的做法。是的,您可以在Android上设置数据库和本地存储,但在手机上运行服务器不是一个好主意。为什么手机上需要一个服务器?我的实际需要是能够将json数据读入javascript d3函数。我可以将整个文件作为json变量包含在代码中,但我想知道还有哪些其他选项是可能的。