예제 #1
0
 def geocode(self):
     """Geocodes the address
     """
     address = self.get_address_string()
     if not address:
         latitude, longitude = (
             None,
             None,
         )
     else:
         latitude, longitude = get_latlng(address)
         if latitude and longitude:
             update_fields = []
             if self.latitude != latitude:
                 self.latitude = latitude
                 update_fields.append('latitude')
             if self.longitude != longitude:
                 self.longitude = longitude
                 update_fields.append('longitude')
             if update_fields:
                 self.save(update_fields=update_fields)
         else:
             pass
     return (
         latitude,
         longitude,
     )
예제 #2
0
 def geocode(self):
     """Geocodes the address
     """
     address = self.get_address_string()
     latitude, longitude = get_latlng(address)
     if latitude and longitude:
         update_fields = []
         if self.latitude != latitude:
             self.latitude = latitude
             update_fields.append('latitude')
         if self.longitude != longitude:
             self.longitude = longitude
             update_fields.append('longitude')
         if update_fields:
             self.save(update_fields=update_fields)
     else:
         pass
     return (latitude, longitude,)
예제 #3
0
    def find_near_location(cls, location_name, distance=DEFAULT_SEARCH_RADIUS, distance_unit=DEFAULT_DISTANCE_UNIT, offset=0, limit=0):
        """Given the geocode-able string `location_name`, find nearby AbstractGeolocation objects of type `cls`

        `distance` a float value
        `distance_unit` the unit for distance. Default is miles, DistanceUnit.MILE
        `offset` use for pagination
        `limit` return a limited number of records
        """
        latitude, longitude = get_latlng(location_name)
        nearby_objects = cls.find_near_latlng(
            latitude,
            longitude,
            distance=distance,
            distance_unit=distance_unit,
            offset=offset,
            limit=limit
        )
        return nearby_objects
예제 #4
0
    def find_near_location(cls, location_name, distance=DEFAULT_SEARCH_RADIUS, distance_unit=DEFAULT_DISTANCE_UNIT, extra_filters=None, offset=0, limit=0):
        """Given the geocode-able string `location_name`, find nearby AbstractGeolocation objects of type `cls`

        `distance` a float value
        `distance_unit` the unit for distance. Default is miles, DistanceUnit.MILE
        `offset` use for pagination
        `limit` return a limited number of records
        """
        latitude, longitude = get_latlng(location_name)
        nearby_objects = cls.find_near_latlng(
            latitude,
            longitude,
            distance=distance,
            distance_unit=distance_unit,
            extra_filters=extra_filters,
            offset=offset,
            limit=limit
        )
        return nearby_objects
예제 #5
0
파일: models.py 프로젝트: pkkup/django-htk
 def geocode(self, refresh=False):
     """Geocodes the address
     """
     address = self.get_address_string()
     if not address:
         latitude, longitude = (None, None,)
     else:
         latitude, longitude = get_latlng(address, refresh=refresh)
         if latitude and longitude:
             update_fields = []
             if self.latitude != latitude:
                 self.latitude = latitude
                 update_fields.append('latitude')
             if self.longitude != longitude:
                 self.longitude = longitude
                 update_fields.append('longitude')
             if update_fields:
                 self.save(update_fields=update_fields)
         else:
             pass
     return (latitude, longitude,)