2013-02-17 29 views
0

GPS位置我想从我的Android手机发送我的位置GPS数据的CakePHP的网站支持。我导航我的SQL,我发现POINT类型,可用于存储位置信息。但我不知道如何使用cakePHP样式代码插入这些信息。我希望能够在将来获得靠近我的位置。所以我的问题是:接收GPS数据,从机器人到CakePHP的 - 用于在CakePHP

1 - 确实CakePHP有用于存储GPS数据和准备函数来获取给定的经度和纬度对象附近地点的任何支持。

2 - 如果没有,如何将接收到的经度和纬度为我在CakePHP模型,什么是最好的数据类型,当我将查询后,这附近的位置。

在此先感谢。

回答

0

我找到了解决方法如下:

为了给我们使用这个构造的阵列将数据插入模型在CakePHP:

$db = $this->Service->getDataSource(); 
$serv = array(
       'name'=>$data['name'], 
       'loc_point' => $db->expression('POINT('.$dataJson['long'].','.$dataJson['lat'].')') 
      ); 
$this->Service->save($serv)); 

这行是我在CakePHP的问题: 'loc_point' => $db->expression('POINT('.$data['lng'].','.$data['lat'].')')

解决插入故障后,我发现从谷歌获得附近位置的教程。它使用lng和lat作为十进制值,我更改了我的代码以遵循它。链接here

0

要存储坐标为对(纬度,经度),可以存储它无论是作为

float latitude, 
float longitude 

或作为

double latitdue, 
double longitude 

(这具有没有优势浮动,在磁盘上,但代码更兼容)

或者你甚至可以将它作为整数存储它

int latitude = (int) round(latDegrees * 1E7); 
    int longitude = (int) round(lonDegrees * 1E7); 

所以,你也可以将其存储到具有任何结构法点(X,Y)
经度使用X和Y纬度。