Class GLSearch


public class GLSearch extends GLNativeObject
GLSearchOffline contains a set of parameters that defines search in offline maps
  • Constructor Details

    • GLSearch

      public GLSearch()
      Default constructor
  • Method Details

    • Initialize

      public static void Initialize(@NonNull android.content.Context context)
      Call this method before using any other method from `globus.glsearch`
      Parameters:
      context - context needed to load icu and categories data
    • MapObjectNearPoint

      public static GLMapVectorObject MapObjectNearPoint(@NonNull GLMapViewRenderer mapView, @NonNull MapPoint point, double maxDistance)
      Returns object near point on map
      Parameters:
      mapView - Map view
      point - Point on map
      maxDistance - Distance in points
      Returns:
      Vector object on map
    • RelationsNearPoint

      public static GLMapRelation[] RelationsNearPoint(@NonNull GLMapViewRenderer mapView, @NonNull MapPoint point, double maxDistance, @Nullable GLSearchFilter[] filters)
      Search for relations near point on map
      Parameters:
      mapView - Map view
      point - Point on map
      maxDistance - Distance in points
      filters - Filters for relations
      Returns:
      relations near point
    • LoadMergedRelationLines

      @Nullable public static GLMapVectorObject LoadMergedRelationLines(GLMapRelation relation, boolean isForward, @Nullable GLMapInfo map)
      Load all lines from relation in one
      Parameters:
      relation - relation to load
      isForward - true for forward route, false for backward route
      map - map from where to load relation. if null - will load from random map
      Returns:
      vector object with multiline
    • GetSearchCategory

      @Nullable public static GLSearchCategory GetSearchCategory(@NonNull GLMapVectorObject object)
      Detects category for vector object
      Parameters:
      object - Vector object
      Returns:
      Category that matches to object
    • MatchedCategoryTags

      @Nullable public static android.util.SparseArray<GLMapValue> MatchedCategoryTags(@NonNull GLMapVectorObject object)
      Return array of tags that defines object's category
      Parameters:
      object - vector object
      Returns:
      array of tags that defines object's category
    • GetAddress

      @Nullable public static GLMapValue GetAddress(@NonNull GLMapVectorObject object, int style, @NonNull GLMapLocaleSettings localeSettings)
      Returns address with given style
      Parameters:
      object - vector object
      style - style of address
      localeSettings - locale settings
      Returns:
      address formatted with given style
    • LocalizedAddressNames

      @Nullable public static GLMapValue[] LocalizedAddressNames(@NonNull GLMapVectorObject object, @NonNull GLMapLocaleSettings localeSettings)
      Returns all address names associated with object
      Parameters:
      object - vector object
      localeSettings - Locale settings used to find name
      Returns:
      array of address names
    • SplitByWords

      @NonNull public static String[] SplitByWords(@NonNull String string)
      Split string into words using ICU root rules
      Parameters:
      string - string to split into words
      Returns:
      words from string
    • PrepareWords

      public static long PrepareWords(long collator, @NonNull String[] words)
      Prepares words for collation
      Parameters:
      collator - collator that will be used in collation
      words - words to prepare
      Returns:
      native object. Must be destroyed when not needed.
    • DestroyWords

      public static void DestroyWords(long words)
      Destroy native object returned by GLSearch#PrepareWords(long, String[]).
      Parameters:
      words - native object
    • FindWords

      @Nullable public static GLMapValue FindWords(long collator, @NonNull String string, long words)
      Split string into words. Then checks if all prepared words are equal to start of any word in string
      Parameters:
      collator - collator to use
      string - string where prepared words will be checked
      words - prepared words
      Returns:
      value that contains same string, but with highlight information. Null if not all prepared words are in string
    • CreateCollator

      public static long CreateCollator()
      Creates ICU collator with strength set to Primary. For example "Straße" equal to "sTrassE" with this collator
      Returns:
      native collator object. Must be destroyed when not needed.
    • CreateNumericCollator

      public static long CreateNumericCollator()
      Creates ICU collator with strength set to Primary and numeric collation is ON. For example "Straße 10" greater "sTrassE 2" with this collator
      Returns:
      native collator object. Must be destroyed when not needed.
    • DestroyCollator

      public static void DestroyCollator(long collator)
      Destroy collator
      Parameters:
      collator - native collator object
    • Collate

      public static int Collate(long collator, @Nullable String a, @Nullable String b)
      Compare to string with collator
      Parameters:
      collator - collator to use
      a - the first object to be compared.
      b - the second object to be compared.
      Returns:
      a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.
    • Nearest

      @Nullable public static GLMapVectorObject Nearest(double lat, double lon, double maxDist, @Nullable List<GLSearchFilter> filters)
      Search for nearest object
      Parameters:
      lat - latitude
      lon - longitude
      maxDist - max search distance in meters
      filters - search filters
      Returns:
      nearest object or null
    • setTiles

      public void setTiles(@NonNull long[] tiles)
      Adds tile hashes to use for search (child tiles will be skipped)
      Parameters:
      tiles - Array of tile hashes public native void setTiles(long tiles[]);
    • setLocaleSettings

      public void setLocaleSettings(@NonNull GLMapLocaleSettings localeSettings)
      Sets locale settings that used to sort results by importance. Results in user language displayed on top.
      Parameters:
      localeSettings - Language priority settings.
    • setLimit

      public void setLimit(int limit)
      Sets maximum number of results to fetch from map
      Parameters:
      limit - Results limit
    • setBBox

      public void setBBox(@NonNull GLMapBBox bbox)
      Sets bounding box where search will be performed
      Parameters:
      bbox - Search bounding box.
    • setCenter

      public void setCenter(@NonNull MapPoint center)
      Sets center of search. Distance from this center will define importance of object. Usually center is user location or center of the screen.
      Parameters:
      center - Center point.
    • addFilter

      public void addFilter(@NonNull GLSearchFilter filter)
      Adds filter to search. Result of search will contain objects that matches all filters
      Parameters:
      filter - filter to add.
    • setNeedEnclosingAreas

      public void setNeedEnclosingAreas(boolean needEnclosingAreas)
      Set this value to `YES` if you plan to get address of objects. Loading address after search is much faster (cache reuse, bulk loading)
      Parameters:
      needEnclosingAreas - if `YES` search will load enclosing areas.
    • setObjectTypes

      public void setObjectTypes(int objectTypes)
      Set object types
      Parameters:
      objectTypes - object types
    • searchAsync

      public void searchAsync(@NonNull GLSearch.ResultsCallback callback)
      Starts search.
      Parameters:
      callback - will be called when search is finished or when search needs information about custom object.
    • search

      @NonNull public GLMapVectorObjectList search()
      Performs search synchronously
      Returns:
      result of search
    • merge

      public Object[] merge(@NonNull GLMapVectorObjectList searchResults, @NonNull List<Object> customObjects, @NonNull GLSearch.CustomObjectInfoCallback infoCallback)
      Merge search results with custom objects
      Parameters:
      searchResults - search results
      customObjects - custom objects
      infoCallback - callback that will provide information about object
      Returns:
      merged array
    • cancel

      public void cancel()
      Cancels search operation.