0

自分の位置情報GPSデータをAndroidフォンからCakePHPWebサイトに送信したい。私は自分のSQLをナビゲートし、POINT位置情報を格納するために使用できるタイプを見つけました。しかし、cakePHPスタイルのコードを使用してこれらの情報を挿入する方法がわかりません。将来、近くの場所を取得できるようにしたいと思います。だから私の質問は:

1-cakePHPは、GPSデータの保存と、経度と緯度のオブジェクトを指定して近くの場所を取得するための準備ができた関数をサポートしていますか?

2-そうでない場合は、受信した経度と緯度をcakePHPのモデルに挿入する方法と、この後に近くの場所を照会するため、そのための最適なデータ型は何ですか。

前もって感謝します。

4

2 に答える 2

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'].')')

挿入の問題を解決した後、私はグーグルから近くの場所を取得するチュートリアルを見つけました。10進値としてlngとlatを使用しているので、それに続くようにコードを変更しました。ここにリンク

于 2013-02-18T03:40:20.697 に答える
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を使用する任意のポイント構造に保存することもできます。

于 2013-02-18T02:06:11.943 に答える