限制Google自动完成仅限于城市和国家,iOS Swift。

8

我已经在我的应用程序中实现了Google自动完成功能。我希望确保这些自动完成仅适用于位置、行政区域和国家,而不是道路或其他任何地方。我们能做到吗?

typedef NS_ENUM(NSInteger, GMSPlacesAutocompleteTypeFilter) {
  /**
   * All results.
   */
  kGMSPlacesAutocompleteTypeFilterNoFilter,
  /**
   * Geeocoding results, as opposed to business results.
   */
 kGMSPlacesAutocompleteTypeFilterGeocode,
  /**
   * Geocoding results with a precise address.
   */
 kGMSPlacesAutocompleteTypeFilterAddress,
  /**
   * Business results.
   */
 kGMSPlacesAutocompleteTypeFilterEstablishment,
  /**
   * Results that match the following types:
   * "locality",
   * "sublocality"
   * "postal_code",
   * "country",
   * "administrative_area_level_1",
   * "administrative_area_level_2"
   */
  kGMSPlacesAutocompleteTypeFilterRegion,
  /**
   * Results that match the following types:
   * "locality",
   * "administrative_area_level_3"
   */
  kGMSPlacesAutocompleteTypeFilterCity,
};

这可以通过编辑此标题文件来实现,对吗?但是我尝试删除其中一些内容,但仍然起着相同的作用。
3个回答

12

您可以限制搜索结果。

let filter = GMSAutocompleteFilter()
filter.type = .City
filter.country = "uk"

使用上述代码限制结果为英国,并仅获取城市结果。


你好,你能给我任何解决方案吗?我只想要州过滤器,不需要城市和国家。谢谢。 - Yogesh Patel

3

一番搜索后,我找到了解决方案。

 let filter = GMSAutocompleteFilter() 
filter.type = GMSPlacesAutocompleteTypeFilter.City


你好,能给我任何解决方案吗?我只想要状态过滤器,不需要城市和国家。谢谢。 - Yogesh Patel
@YogeshPatel 我猜州应该属于 administrative_area_level_1 https://developers.google.com/maps/documentation/geocoding/intro - Im Batman
谢谢您的评论。是的,您说得对,但我该如何实现呢?请帮忙吗? - Yogesh Patel

1
这对我很有用。
let filter = GMSAutocompleteFilter()
filter.country = "uk|country:fr|country:us"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接