我正在尝试使用Doctrine ODM在MongoDb中以GeoJson格式存储位置:
我所做的是:
映射:
class Coordinates
{
/** @MongoDB\String */
protected $type;
/** @MongoDB\Hash */
protected $coordinates;
public function __construct($type='Point',$coordinates)
{
$this->setType($type);
$this->setCoordinates($coordinates);
}
当我尝试存储一个位置时,我得到如下:
coordinates: { type: "Point", coordinates: { 0: -6.855243444442749, 1: 33.9704221689807 } }
这不是GeoJson格式。 正确的格式应该是
coordinates: { type: "Point", coordinates: [ -6.855243444442749,33.9704221689807 ] }
我怎样才能做到这一点? 非常感谢你!
编辑! 这是我如何将它存储在PHP中:
$coordinates=new Coordinates('Point',[$lng,$lat]);
答案 0 :(得分:1)
是的! 我在twitter上得到了答案:P 我应该将整个坐标字段映射为哈希