gazetteer/gazetteer/places/views.py

42 lines
1.3 KiB
Python
Raw Normal View History

2011-08-18 17:14:56 +00:00
# Create your views here.
from django.shortcuts import render_to_response
2011-08-29 12:52:10 +00:00
from ox.django.shortcuts import render_to_json_response, get_object_or_404
from django.template import RequestContext
2011-08-28 02:55:39 +00:00
from models import Feature
def search(request):
d = RequestContext(request, {})
return render_to_response("search.html", d)
def search_json(request):
2011-08-27 23:27:53 +00:00
search_term = request.GET.get("search", "")
bbox = request.GET.get("bbox", False)
if not bbox:
return render_to_json_response({'error': 'no bbox parameter'})
2011-08-28 02:55:39 +00:00
bs = bbox.split(",")
2011-08-28 03:22:09 +00:00
bs_param = (float(bs[0]), float(bs[1]), float(bs[2]), float(bs[3]),)
features_qset = Feature.search.overlaps(bs_param, text=search_term, srid=3785)[0:20]
2011-08-29 00:22:27 +00:00
features = [f.get_geojson() for f in features_qset]
d = {
'type': 'FeatureCollection',
'features': features
}
return render_to_json_response(d)
def search_related(request):
2011-08-29 12:52:10 +00:00
id = request.GET.get("id", "0")
feature = get_object_or_404(Feature, pk=id)
similar_features = feature.similar_features()
return render_to_response("search_related.html", {
'feature': feature,
'similar_features': similar_features
})
def search_related_json(request):
d = {}
return render_to_json_response(d)