def get_by_coordinates(self, obj, latlng): lat, lng = map(float, latlng.split(";")) resp = [] for city in City.find_nearby('coordinates', [lat, lng], 100): resp.append({"name": city.name, "slug": city.slug, "country": city.relation_set.country.name, "distance": get_distance([lat, lng], city.coordinates)}) return sorted(resp, key=lambda k: k["distance"])
def get_by_coordinates(self, obj, latlng): lat, lng = map(float, latlng.split(";")) resp = [] for city in City.find_nearby('coordinates', [lat, lng], 100): resp.append({ "name": city.name, "slug": city.slug, "country": city.relation_set.country.name, "distance": get_distance([lat, lng], city.coordinates) }) return sorted(resp, key=lambda k: k["distance"])
from triplander.models import City city = City.find_one({"slug": "groningen"}) point = city.coordinates distance = 20 City.set_lang("en") for c in City.find_nearby("coordinates", point, distance): print "1", c.name for c in City.find_prefix("name", "gro"): print "2", c.name