【问题标题】:Receive GPS data from android into cakephp - support for gps locations in cakePHP从 android 接收 GPS 数据到 cakephp - 支持 cakePHP 中的 gps 位置
【发布时间】:2013-02-18 11:40:20
【问题描述】:

我想将我的位置 GPS 数据从我的 android 手机发送到 cakePHP 网站。我浏览了我的 sql 并找到了可用于存储位置信息的 POINT 类型。但我不知道如何使用 cakePHP 样式代码插入这些信息。我希望能够在以后获得靠近我的位置。所以我的问题是:

1 - cakePHP 是否支持存储 GPS 数据和准备函数来获取给定经度和纬度对象的附近位置。

2 - 如果没有,如何在 cakePHP 中将接收到的经度和纬度插入到我的模型中,最好的数据类型是什么,因为我将在此之后查询附近的位置。

提前致谢。

【问题讨论】:

    标签: android cakephp geolocation gps


    【解决方案1】:

    要将坐标存储为(纬度,经度)对,您可以将其存储为

    float latitude,
    float longitude
    

    或作为

    double latitdue,
    double longitude
    

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

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

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

    因此您也可以将其存储到任何具有 (x,y) 的 Point 结构中
    用 x 表示经度,用 y 表示纬度。

    【讨论】:

      【解决方案2】:

      我找到了如下解决方案:

      在给定一个构造数组的情况下,要将数据插入到 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

      【讨论】:

        猜你喜欢
        • 2018-02-17
        • 2011-08-04
        • 1970-01-01
        • 2015-05-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        相关资源
        最近更新 更多