Ejemplo n.º 1
0
 def search(self, q, loc, radius):
     from .models import Voting
     """ 融合百度POI数据和自有数据
         point: 中心点坐标 tuple (lat, png)
         dist: 到中心点距离
     """
     loc = self.convert_GCJ02_to_BD09(loc)
     items = []
     res = BaiduMap.search_around(q=q, loc=reversed(loc), radius=radius)
     if res['message'] == 'ok':
         for it in res['results']:
             it['category'] = q
             item = self.get_cached_or_create_item(it['uid'], it)
             try:
                 voting = Voting.objects.get(item_id=item.pk)
                 item.voting = voting 
             except: 
                 item.voting = Voting(vote=0, unvote=0)
             items.append(item)
         return sorted(items, key=lambda x: x.voting.vote, reverse=True)