Skip to content

Geocoder Autocomplete API

GeocoderAutoCompleteApi

Bases: HEREApi

A python interface into the HERE Geocoder Auto Complete API

Source code in herepy/geocoder_autocomplete_api.py
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
class GeocoderAutoCompleteApi(HEREApi):
    """A python interface into the HERE Geocoder Auto Complete API"""

    def __init__(self, api_key: str = None, timeout: int = None):
        """Returns a GeocoderAutoCompleteApi instance.
        Args:
          api_key (str):
            API key taken from HERE Developer Portal.
          timeout (int):
            Timeout limit for requests.
        """

        super(GeocoderAutoCompleteApi, self).__init__(api_key, timeout)
        self._base_url = "https://autocomplete.search.hereapi.com/v1/autocomplete"

    def __get(self, data):
        url = Utils.build_url(self._base_url, extra_params=data)
        response = requests.get(url, timeout=self._timeout)
        json_data = json.loads(response.content.decode("utf8"))
        if json_data.get("items") != None:
            return GeocoderAutoCompleteResponse.new_from_jsondict(json_data)
        else:
            raise HEREError(
                json_data.get(
                    "error_description",
                    "Error occurred on " + sys._getframe(1).f_code.co_name,
                )
            )

    def address_suggestion(
        self, query: str, prox: List[float], radius: int, lang: str = "en-US"
    ) -> Optional[GeocoderAutoCompleteResponse]:
        """Request a list of suggested addresses found within a specified area
        Args:
          query (str):
            Query search string
          prox (List):
            List contains latitude and longitude in order.
          radius (int):
            Radius in meters
          lang (str):
            BCP47 compliant Language Code.
        Returns:
          GeocoderAutoCompleteResponse
        Raises:
          HEREError"""

        data = {
            "q": query,
            "prox": str.format("{0},{1},{2}", prox[0], prox[1], radius),
            "apikey": self._api_key,
            "lang": lang,
        }
        return self.__get(data)

    def limit_results_byaddress(
        self, query: str, country_code: str, lang: str = "en-US"
    ) -> Optional[GeocoderAutoCompleteResponse]:
        """Request a list of suggested addresses within a single country
        Args:
          query (str):
            Query search string
          countryCode (str):
            Country code (USA etc.)
          lang (str):
            BCP47 compliant Language Code.
        Returns:
          GeocoderAutoCompleteResponse
        Raises:
          HEREError"""

        data = {
            "q": query,
            "in": "countryCode:" + country_code,
            "apikey": self._api_key,
            "lang": lang,
        }
        return self.__get(data)

__init__(api_key=None, timeout=None)

Returns a GeocoderAutoCompleteApi instance. Args: api_key (str): API key taken from HERE Developer Portal. timeout (int): Timeout limit for requests.

Source code in herepy/geocoder_autocomplete_api.py
18
19
20
21
22
23
24
25
26
27
28
def __init__(self, api_key: str = None, timeout: int = None):
    """Returns a GeocoderAutoCompleteApi instance.
    Args:
      api_key (str):
        API key taken from HERE Developer Portal.
      timeout (int):
        Timeout limit for requests.
    """

    super(GeocoderAutoCompleteApi, self).__init__(api_key, timeout)
    self._base_url = "https://autocomplete.search.hereapi.com/v1/autocomplete"

address_suggestion(query, prox, radius, lang='en-US')

Request a list of suggested addresses found within a specified area Args: query (str): Query search string prox (List): List contains latitude and longitude in order. radius (int): Radius in meters lang (str): BCP47 compliant Language Code. Returns: GeocoderAutoCompleteResponse Raises: HEREError

Source code in herepy/geocoder_autocomplete_api.py
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
def address_suggestion(
    self, query: str, prox: List[float], radius: int, lang: str = "en-US"
) -> Optional[GeocoderAutoCompleteResponse]:
    """Request a list of suggested addresses found within a specified area
    Args:
      query (str):
        Query search string
      prox (List):
        List contains latitude and longitude in order.
      radius (int):
        Radius in meters
      lang (str):
        BCP47 compliant Language Code.
    Returns:
      GeocoderAutoCompleteResponse
    Raises:
      HEREError"""

    data = {
        "q": query,
        "prox": str.format("{0},{1},{2}", prox[0], prox[1], radius),
        "apikey": self._api_key,
        "lang": lang,
    }
    return self.__get(data)

limit_results_byaddress(query, country_code, lang='en-US')

Request a list of suggested addresses within a single country Args: query (str): Query search string countryCode (str): Country code (USA etc.) lang (str): BCP47 compliant Language Code. Returns: GeocoderAutoCompleteResponse Raises: HEREError

Source code in herepy/geocoder_autocomplete_api.py
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
def limit_results_byaddress(
    self, query: str, country_code: str, lang: str = "en-US"
) -> Optional[GeocoderAutoCompleteResponse]:
    """Request a list of suggested addresses within a single country
    Args:
      query (str):
        Query search string
      countryCode (str):
        Country code (USA etc.)
      lang (str):
        BCP47 compliant Language Code.
    Returns:
      GeocoderAutoCompleteResponse
    Raises:
      HEREError"""

    data = {
        "q": query,
        "in": "countryCode:" + country_code,
        "apikey": self._api_key,
        "lang": lang,
    }
    return self.__get(data)