次の例があります: http://dev.driz.co.uk/googlemap/これは、CakePHP で構築しているアプリのマッピング機能を表します (この例では Cake を使用していないことに注意してください)。
JSON を使用して、Google マップにいくつかのマーカーを設定し、Geolocation を使用してマップを現在地の中心に配置しています。これにより、基本的に周囲の投稿が表示されます。そのため、実際のアプリでは、JSON ファイルはデータベースから Cake を使用して動的に構築されます。
私がやりたいのは、あなたの場所 (ユーザー) の座標を使用してデータベースにクエリを実行し、それらの座標から半径 10 マイル以内にある投稿を見つけることです。そして、たとえば 10 個の投稿を引き出します...次に、マップをドラッグして、半径を広げたときにさらに多くの投稿をロードできるようにしたいと考えています。問題は、座標/半径 10 マイルを CakePHP に渡して、DB 内の投稿を照会する方法です!
これの例はありますか?また、そのようなクエリの作成を開始するのに役立つコード サンプルを誰かが投稿できますか? データベースから 10 件の投稿を取得するためのクエリが用意されていますが、座標に基づいて投稿が検索されません。一連の座標に対して設定された半径 10 マイル以内でそれを行うにはどうすればよいですか?
クエリの例は次のとおりです。
public function gMapTest() {
$posts = $this->Post->find('all', array('limit'=>10,'conditions'=>array('Post.status'=>array(1,2)),'order'=>array('Post.datetime'=>'desc'),
'contain'=>array('User'=>'Profile')));
$this->set('posts',$posts);
$this->set('_serialize', 'posts');
}