Exemplo n.º 1
0
     $lon = \Illuminate\Support\Facades\Input::get('lon', 153.00207);
     // Check if a valid location
     $radius = 25;
     $city = \App\City::select(DB::raw("*, (6371 * acos( cos( radians({$lat}) ) * cos( radians( latitude ) ) * cos( radians( {$lon} ) - radians(longitude) ) + sin( radians({$lat}) ) * sin( radians(latitude) ) )) AS distance"))->having('distance', '<', $radius)->orderby('distance', 'asc')->first();
     if (!$city) {
         abort(400, 'City not supported.');
     }
     $radius = 1.5;
     $places = \App\Place::select(DB::raw("*, (6371 * acos( cos( radians({$lat}) ) * cos( radians( latitude ) ) * cos( radians( {$lon} ) - radians(longitude) ) + sin( radians({$lat}) ) * sin( radians(latitude) ) )) AS distance"))->having('distance', '<', $radius)->orderby('distance', 'asc')->with('ranks', 'ranks.category')->get();
     return response()->json($places);
 });
 Route::get('/hotspots', function () {
     $lat = \Illuminate\Support\Facades\Input::get('lat', -27.49611);
     $lon = \Illuminate\Support\Facades\Input::get('lon', 153.00207);
     $radius = 15;
     $hotspots = \App\Hotspot::select(DB::raw("*, (6371 * acos( cos( radians({$lat}) ) * cos( radians( latitude ) ) * cos( radians( {$lon} ) - radians(longitude) ) + sin( radians({$lat}) ) * sin( radians(latitude) ) )) AS distance"))->having('distance', '<', $radius)->orderby('distance', 'asc')->get();
     return response()->json($hotspots);
 });
 Route::get('/hotspots/{hotspotId}', function ($hotspotId) {
     $hotspot = \App\Hotspot::find($hotspotId);
     return response()->json($hotspot);
 });
 Route::get('/categories', function () {
     $lat = \Illuminate\Support\Facades\Input::get('lat', -27.49611);
     $lon = \Illuminate\Support\Facades\Input::get('lon', 153.00207);
     $radius = 50;
     // Get city for lat lon
     $city = \App\City::select(DB::raw("*, (6371 * acos( cos( radians({$lat}) ) * cos( radians( latitude ) ) * cos( radians( {$lon} ) - radians(longitude) ) + sin( radians({$lat}) ) * sin( radians(latitude) ) )) AS distance"))->having('distance', '<', $radius)->orderby('distance', 'asc')->first();
     if (!$city) {
         abort(400, 'City not supported.');
     }