2016-03-01 8 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 
     ] 
    } 
} 

(Эта структура распространяющийся через примеры и документацию относительно firebase и geofire)

Вот examples.

Надеюсь, я был достаточно ясен, иначе дайте мне знать.

+0

вместо ссылки на приборную панель, включите (минимальный) JSON в свой вопрос (в виде текста). Ссылки rot, так как изображение в вопросе, с которым вы связаны, показывает. Ваш jsfiddle пуст. –

+0

Помимо этого, я не понимаю, о чем вы спрашиваете. Почему структура неправильна в соответствии с вами? Как вы написали структуру? Тот факт, что он отличается от учебника, не имеет значения, если вы не пытаетесь следовать этому учебнику. Но если это так, покажите точный минимальный код, который вы использовали. Без [mcve] (http://stackoverflow.com/help/mcve) сложно помочь. –

+0

Я отредактировал, чтобы сделать его более ясным, пожалуйста, будьте так любезны, чтобы дать мне свое мнение о ясности вопроса и, если возможно, какое-то руководство. – JohnHPG

ответ

0

Проблема заключалась в том, что более ранняя версия GeoFire хранила данные в другом формате, проблема заключалась в том, что в ней не было ссылки на это ....