2016-03-01 52 views
0

GeoFire使用未公开的结构保存数据。我怎样才能让它像官方的例子一样保存。我没有遵循任何特定的教程或指南,但我的工作主要依据这些示例。GeoFire结构与文档不匹配

我已经能够复制此问题:

JS:

var ref = new Firebase("https://skgz3dfvs9.firebaseio-demo.com"); 
var geoFire = new GeoFire(ref.child("_geofire")); 

geoFire.set("ADb3b3j2"+parseInt(Math.random(1000)*10000), [20.573771400000002, -100.35827]).then(function() { 
    document.getElementById("result").innerHTML = "Provided key has been added to GeoFire"; 
}, function(error) { 
    document.getElementById("result").innerHTML = "Error: " + error; 
}); 

HTML

<div id="result"></div> 

https://jsfiddle.net/johnhparkerg/c0852c6s/1/

结果以JSON看起来像这样:

{ 
    "_geofire":{ 
     "i":{ 
     "9g8th336fu:ADb3b3j2":true, 
     "9g8th336fu:ADb3b3j21770":true, 
     "9g8th336fu:ADb3b3j23390":true, 
     "9g8th336fu:ADb3b3j24122":true, 
     "9g8th336fu:ADb3b3j25036":true, 
     "9g8th336fu:ADb3b3j27393":true, 
     "9g8th336fu:ADb3b3j28182":true, 
     "9g8th336fu:ADb3b3j28276":true, 
     "9g8th336fu:ADb3b3j29206":true, 
     "9g8th336fu:ADb3b3j29674":true 
     }, 
     "l":{ 
     "ADb3b3j2":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j21770":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j23390":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j24122":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j25036":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j27393":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j28182":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j28276":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j29206":[ 
      20.573771400000002, 
      -100.35827 
     ], 
     "ADb3b3j29674":[ 
      20.573771400000002, 
      -100.35827 
     ] 
     } 
    } 
} 

https://skgz3dfvs9.firebaseio-demo.com/

当结果应该是这样的:

{ 
    "fish1":{ 
     "g":"pns0h0mf2u", 
     "l":[ 
     -53.435719, 
     140.808716 
     ] 
    }, 
    "fish2":{ 
     "g":"u417k3dwub", 
     "l":[ 
     56.83069, 
     1.94822 
     ] 
    }, 
    "fish3":{ 
     "g":"8m3rz3s480", 
     "l":[ 
     30.902225, 
     -166.66809 
     ] 
    } 
} 

(这种结构是横跨关于火力和geofire实例和文档无处不在)

这里是examples

我希望我很清楚,否则让我知道。

+0

而不是链接到仪表板,包括(最小)JSON到你的问题(作为文本)。链接腐烂,因为你链接到的问题中的图像显示。你的jsfiddle是空的顺便说一句。 –

+0

除此之外,我不明白你在问什么。为什么结构是错的?你是怎么写这个结构的?与教程不同的事实是无关紧要的,除非您试图遵循该教程。但是,如果是这种情况,请显示您使用的确切最小代码。没有[mcve](http://stackoverflow.com/help/mcve)就很难提供帮助。 –

+0

为了让问题更加明确,我已经编辑过,请尽可能给我一些关于问题的明确性的意见,如果可能,请提供一些指导。 – JohnHPG

回答

0

问题是GeoFire的一个早期版本以不同的格式存储数据,问题是没有任何地方提及......。