diff --git a/rog/views.py b/rog/views.py index bef02ec..fcfcfb8 100644 --- a/rog/views.py +++ b/rog/views.py @@ -78,11 +78,19 @@ def LocationInBound(request): lon2 = float(request.GET.get('ln2')) lat3 = float(request.GET.get('la3')) lon3 = float(request.GET.get('ln3')) + cat = request.GET.get('cat') - pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon1, lat1)), srid=4326) - res = Location.objects.filter(geom__within=pl) - serializer = LocationSerializer(res, many=True) - return JsonResponse(serializer.data, safe=False) + if(lat1 != None and lon1 != None and lat2 != None and lon2 != None and lat3 != None and lon3 != None): + pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon1, lat1)), srid=4326) + if(cat): + locs = Location.objects.filter(geom__within=pl, category=cat) + else: + locs = Location.objects.filter(geom__within=pl) + res = Location.objects.filter(geom__within=pl) + serializer = LocationSerializer(res, many=True) + return JsonResponse(serializer.data, safe=False) + else: + return JsonResponse({}, safe=False)