Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Android选项卡上的脱机地图渲染_Javascript_Android_Json_D3.js_Geospatial - Fatal编程技术网

Javascript Android选项卡上的脱机地图渲染

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

我一直在尝试在android设备上脱机渲染地图。我正在尝试使用d3来解决这个问题,任何线索和建议都将大大帮助我

我可以使用d3和该地区的geojson/topojson文件在浏览器上绘制地图吗?然而,有没有一种方法可以在没有应用服务器的情况下做到这一点?到目前为止,d3通过函数d3.json()读取json,该函数本身需要一个应用服务器。有没有一种方法可以让d3直接从本地文件路径而不是URL读取json文件

任何其他解决此问题的方向都将受到赞赏。等待您的回复

问候,,
琼斯这是不可能的


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变量包含在代码中,但我想知道还有哪些其他选项是可能的。