الإكمال التلقائي للأماكن (جديد)

اختيار النظام الأساسي: نظام التشغيل Android iOS JavaScript خدمة ويب

خدمة الإكمال التلقائي (الجديدة) هي واجهة برمجة تطبيقات لنظام التشغيل iOS يعرض اقتراحات الأماكن استجابةً للطلب. في الطلب، حدِّد سلسلة بحث نصي وحدود جغرافية تتحكم في منطقة البحث.

يمكن أن تتطابق خدمة الإكمال التلقائي (الجديدة) مع وضع الكلمات والسلاسل الفرعية للمدخل، وحل أسماء الأماكن والعناوين، و الرموز البرمجية. وبالتالي يمكن للتطبيقات إرسال طلبات البحث بصفتك المستخدم الأنواع، لتقديم اقتراحات لأماكن سريعة.

اقتراحات الأماكن هي أماكن، مثل الأنشطة التجارية والعناوين ونقاط الاهتمام، بناءً على سلسلة نص الإدخال المحددة ومنطقة البحث.

على سبيل المثال، يمكنك استدعاء واجهة برمجة التطبيقات باستخدام كإدخال سلسلة تحتوي على جزء إدخال المستخدم، "Spagh"، مع قصر منطقة البحث على مدينة أبوظبي. بعد ذلك، يحتوي الردّ على قائمة باقتراحات الأماكن التي تتطابق مع طلب البحث. السلسلة ومنطقة البحث، مثل المطعم الذي يحمل اسم "مقهى سباغيتي"، إلى جانب تفاصيل عن المكان.

تم تصميم اقتراحات الأماكن التي يتم عرضها بحيث يتم عرضها للمستخدم حتى حتى يتمكّن من اختيار المكان الذي تريده يمكنك إنشاء تفاصيل مكان (جديد) طلب للحصول على مزيد من معلومات حول أي من اقتراحات الأماكن التي يتم عرضها.

طلبات الإكمال التلقائي (الجديدة)

إنشاء طلب إكمال تلقائي من خلال استدعاء طريقة في GMSPlaceClient يمكنك تمرير المعلمات في GMSAutocompleteRequest الخاص بك. يقدّم الردّ اقتراحات بشأن الإكمال التلقائي خلال GMSAutocompletePlaceSuggestion الخاص بك.

يجب إدخال مفتاح واجهة برمجة التطبيقات ومَعلمتَي query. يمكنك أيضًا تضمين GMSAutocompleteSessionToken لربط الطلبات بجلسة فوترة GMSAutocompleteFilter لتطبيقه على النتائج.

لمزيد من المعلومات عن المَعلمات المطلوبة والاختيارية، راجِع قسم المَعلمات في هذا المستند.

Swift

let token = GMSAutocompleteSessionToken()

let northWestBounds = CLLocationCoordinate2DMake(40.921628, -73.700051)
let southEastBounds = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.types = [kGMSPlaceTypeRestaurant]
filter.locationBias = GMSPlaceRectangularLocationOption(northWestBounds, southEastBounds)
    
let request = GMSAutocompleteRequest(query:"Spagh")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

Objective-C

CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.388162, -122.088137);
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.395804, -122.077023);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ kGMSPlaceTypeRestaurant ];
filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

GooglePlacesSwift

let center = (37.3913916, -122.0879074)
let northEast = (37.388162, -122.088137)
let southWest = (37.395804, -122.077023)

let bias = RectangularCoordinateRegion(northEast: northEast, southWest: southWest)
let filter = AutocompleteFilter(types: [ .restaurant ], origin: center, coordinateRegionBias: bias)

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  // Handle suggestions.
case .failure(let placesError):
  // Handle error.
}

ردود الإكمال التلقائي (الجديدة)

تعرض ميزة الإكمال التلقائي مصفوفة من ما يصل إلى خمسة GMSAutocompleteSuggestion أمثلة. تحتوي الصفيفة على:

  • placeID
  • types: الأنواع التي تنطبق على هذا المكان
  • distanceMeters: المسافة من المصدر
  • attributedFullText: نص الاقتراح الكامل الذي يمكن لشخص عادي قراءته
  • attributedPrimaryText: نص أساسي لاقتراح يمكن للمستخدمين قراءته.
  • attributedSecondaryText: نص ثانوي من اقتراح يمكن للمستخدمين قراءته.
  • structuredFormat: الاسم المحدّد والنص المميّز، مثل المدينة أو .

المعلمات المطلوبة

query

السلسلة النصية المطلوب البحث فيها. تحديد الكلمات الكاملة والسلاسل الفرعية، مكان الأسماء والعناوين ورموز المواقع المفتوحة. تشير رسالة الأشكال البيانية تعرض خدمة الإكمال التلقائي (الجديدة) النتائج المطابقة للمرشحين تستند إلى هذه السلسلة ويتم ترتيب النتائج استنادًا إلى مدى صلتها بموضوع البحث.

المعلمات الاختيارية

الأنواع

يمكن أن يحتوي المكان على نوع أساسي واحد فقط من الأنواع جدول. A أو Table B المرتبطة به. على سبيل المثال، قد يكون النوع الأساسي mexican_restaurant أو steak_house.

تعرض واجهة برمجة التطبيقات تلقائيًا جميع الأماكن استنادًا إلى مَعلمة input، بصرف النظر عن قيمة النوع الأساسي المرتبطة بالمكان. حصر النتائج من نوع أساسي معيّن أو أنواع أساسية معيّنة عبر تمرير مَعلمة types.

يمكنك استخدام هذه المَعلمة لتحديد ما يصل إلى خمس قيم أنواع من الجدول. A أو Table ب. يجب أن يطابق المكان إحدى قيم النوع الأساسي المحددة المراد تضمينها في الرد.

يتم رفض الطلب مع ظهور خطأ INVALID_REQUEST في الحالات التالية:

  • تم تحديد أكثر من خمسة أنواع.
  • تم تحديد أي أنواع غير معروفة.

البلدان

تضمين نتائج من قائمة المناطق المحددة فقط والمحددة كمصفوفة بما يصل إلى 15 ccTLD ("المستوى الأعلى" نطاقك") القيم المكونة من حرفين. في حال إسقاطها، لا يتم فرض أي قيود على الردّ. على سبيل المثال، لحصر المناطق بألمانيا وفرنسا:

Swift

let filter = GMSAutocompleteFilter()
filter.countries = ["DE", "FR"]

Objective-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.countries = @[ @"DE", @"FR" ];

GooglePlacesSwift

let filter = AutocompleteFilter(countries: ["DE", "FR"])
  

إذا حددت كلاً من locationRestriction وcountries، ستكون النتائج كما يلي: الموجودة في منطقة تقاطع الإعدادين.

inputOffset

إزاحة أحرف Unicode بدون قيمة تشير إلى موضع المؤشر في input ويمكن أن يؤثر موضع المؤشر على عبارات البحث المقترحة التي يتم عرضها. في حال حذف فارغة، يتم ضبطها تلقائيًا على طول input.

تحيز الموقع أو locationRestriction

يمكنك تحديد locationBias أو locationRestriction، ولكن ليس كليهما. منطقة البحث. يمكنك اعتبار locationRestriction على أنّه تحديد المنطقة التي يجب أن تكون النتائج ضمن، وlocationBias على أنه يحدد المنطقة التي يجب أن تكون النتائج قريبة ولكن يمكن أن تكون خارج المنطقة.

  • تحدّد السمة locationBias منطقة للبحث فيها. هذا الموقع بمثابة تحيز، مما يعني أنه يمكن عرض النتائج حول الموقع المحدد، بما في ذلك نتائج خارج المنطقة المحددة.

  • تحدّد السمة locationRestriction منطقة للبحث فيها. النتائج خارج لا يتم إرجاع المنطقة المحددة.

حدِّد منطقة locationBias أو locationRestriction على أنّها مستطيلة. إطار العرض أو كدائرة.

يتم تحديد الدائرة بنقطة المركز ونصف القطر بالمتر. يجب أن يكون نصف القطر بين 0.0 و50000.0، ضمنًا. القيمة التلقائية هي 0.0. بالنسبة locationRestriction، يجب ضبط النطاق الجغرافي على قيمة أكبر من 0.0. بخلاف ذلك، لا يعرض الطلب أي نتائج.

على سبيل المثال:

Swift

let center = CLLocationCoordinate2DMake(40.730610, -73.935242)
let radius = 1000.0

filter.locationBias = GMSPlaceCircularLocationOption(center, radius)

Objective-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.730610, -73.935242);
radius = 1000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);

GooglePlacesSwift

let center = CLLocationCoordinate2DMake(40.477398, -74.259087)

let bias = CircularCoordinateRegion(center: center, radius: 1000.0)

let filter = AutocompleteFilter(coordinateRegionBias: bias)      
  

المستطيل هو إطار عرض لخطوط الطول والعرض، ويتم تمثيله كخطين قطريًا مقابل low وhigh نقطة. يُعد إطار العرض منطقة مغلقة، مما يعني أنه يتضمن حدودها. يجب أن تتراوح حدود خط العرض بين -90 و تتضمن العلامة 90 درجة، ويجب أن تتراوح حدود خط الطول بين -180 و180. درجات تشمل:

  • إذا كانت low = high، يتكوّن إطار العرض من هذه النقطة الفردية.
  • إذا كان low.longitude > high.longitude، تم قلب نطاق خط الطول ( إطار العرض يتقاطع مع خط الطول بزاوية 180 درجة).
  • إذا كانت low.longitude = -180 درجة وhigh.longitude= 180 درجة، يشمل إطار العرض جميع خطوط الطول.
  • إذا كانت low.longitude = 180 درجة وhigh.longitude = -180 درجة، نطاق خط الطول فارغ.

يجب تعبئة كل من low وhigh، ولا يمكن إدخال المربّع الممثَّل فارغ. يؤدي استخدام إطار عرض فارغ إلى حدوث خطأ.

على سبيل المثال، يشمل إطار العرض هذا مدينة نيويورك بالكامل:

Swift

let high = CLLocationCoordinate2DMake(40.921628, -73.700051)
let low = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceRectangularLocationOption(high, low)

Objective-C

CLLocationCoordinate2D high = CLLocationCoordinate2DMake(40.477398, -74.259087);
CLLocationCoordinate2D low = CLLocationCoordinate2DMake(440.921628, -73.700051);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceRectangularLocationOption(high, low);

GooglePlacesSwift

let northEast = CLLocationCoordinate2DMake(40.477398, -74.259087)
let southWest = CLLocationCoordinate2DMake(40.921628, -73.700051)

let filter = AutocompleteFilter(coordinateRegionBias: bias)
  

الأصل

نقطة الانطلاق المطلوب منها حساب المسافة المستقيمة الوجهة (تم إرجاعها على أنّها distanceMeters). إذا تم إسقاط هذه القيمة، لن يتم إرجاع مسافة الخط المستقيم. يجب تحديدها كخط عرض إحداثيات خط الطول:

Swift

let filter = GMSAutocompleteFilter()
filter.origin =  CLLocation(latitude: 37.395804, longitude: -122.077023)
 

Objective-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];

filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude: -122.077023];

GooglePlacesSwift

let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
  

regionCode

رمز المنطقة المستخدم لتنسيق الاستجابة، وتم تحديده على أنه ccTLD ("المستوى الأعلى" نطاقك") قيمة مؤلفة من حرفين. تتطابق معظم رموز نطاقات المستوى الأعلى التي يتم ترميزها حسب البلد (ccTLD)، مع رموز ISO 3166-1، مع بعض الاستثناءات الملحوظة. على سبيل المثال، نطاق المستوى الأعلى الذي يتم ترميزه حسب البلد (ccTLD) في المملكة المتحدة هو uk. (co.uk.)، لكنّ رمزها وفقًا لمعيار ISO 3166-1 هو gb. (من الناحية الفنية لكيان "The المملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية").

إذا حدّدت رمز منطقة غير صالح، ستعرض واجهة برمجة التطبيقات رمز INVALID_ARGUMENT خطأ. ويمكن أن تؤثّر المَعلمة في النتائج استنادًا إلى القانون الساري.

sessionToken

الرموز المميزة للجلسة هي سلاسل من إنشاء المستخدمين تتتبّع استدعاءات الإكمال التلقائي (جديدة) كـ "جلسات". تستخدم ميزة الإكمال التلقائي (جديدة) الرموز المميّزة للجلسة لتجميع مرحلتي طلب البحث والتحديد لبحث المستخدم التلقائي في جلسة منفصلة لأغراض الفوترة. لمزيد من المعلومات، يُرجى مراجعة الجلسة الرموز المميزة.

أمثلة على الإكمال التلقائي (جديدة)

استخدام حصر الموقع الجغرافي وانحياز المواقع الجغرافية

يستخدم الإكمال التلقائي (جديد) انحياز عنوان IP افتراضيًا إلى التحكم في منطقة البحث. من خلال انحياز IP، تستخدم واجهة برمجة التطبيقات عنوان IP الجهاز لتحيز النتائج. يمكنك اختياريًا استخدام locationRestriction أو locationBias، ولكن ليس كلاهما، لتحديد منطقة للبحث.

تحديد الموقع الجغرافي يحدِّد المنطقة المراد البحث فيها. النتائج خارج النطاق المحدّد المنطقة. يستخدم المثال التالي تقييد الموقع الجغرافي للحد الطلب إلى قيد موقع دائري مع نطاق جغرافي يبلغ 5000 متر في سان فرانسيسكو:

Swift

let token = GMSAutocompleteSessionToken()

let center = CLLocationCoordinate2DMake(37.775061, -122.419400)
let radius = 5000.0

let filter = GMSAutocompleteFilter()
filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius)
    
let request = GMSAutocompleteRequest(query:"Piz")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

Objective-C


CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400);
radius = 5000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

GooglePlacesSwift

let center = (37.775061, -122.419400)
let radius = 5000.0
let restriction = CircularCoordinateRegion(center: center, radius: radius)
let filter = AutocompleteFilter(coordinateRegionRestriction: restriction)
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

مع تحيز الموقع، يعمل الموقع بمثابة تحيز، مما يعني أن النتائج حول يمكن عرض الموقع المحدد، بما في ذلك النتائج خارج الموقع المحدد واحدة. يغير المثال التالي الطلب السابق لاستخدام تحيز الموقع:

Swift

let token = GMSAutocompleteSessionToken()

let center = CLLocationCoordinate2DMake(37.775061, -122.419400)
let radius = 5000.0

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceCircularLocationOption(center, radius)
    
let request = GMSAutocompleteRequest(query:"Piz")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

Objective-C

CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400);
radius = 5000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

GooglePlacesSwift

let center = (37.775061, -122.419400)
let radius = 5000.0
let bias = CircularCoordinateRegion(center: center, radius: radius)
let filter = AutocompleteFilter(coordinateRegionBias: bias)
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

أنواع الاستخدام

استخدم معلمة type لفرض قيود على النتائج التي تكون معينة في الطلب كما هو موضح في الجدول A وTable ب. يمكنك تحديد صفيفة تتكون من خمس قيم كحد أقصى. وفي حال حذفها، يتم عرض جميع الأنواع.

يحدّد المثال التالي سلسلة طلب بحث "كرة القدم" وتستخدم أنواع لحصر النتائج بمؤسسات من النوع "sporting_goods_store":

Swift

let token = GMSAutocompleteSessionToken()

let filter = GMSAutocompleteFilter()
filter.types = ["sporting_goods_store"]
    
let request = GMSAutocompleteRequest(query:"Soccer")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))")
        }
      }
    })

Objective-C

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.types = @[ "sporting_goods_store" ];
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Soccer"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
    }
  }
}];

GooglePlacesSwift

let filter = AutocompleteFilter(types: [ PlaceType(rawValue: "sporting_goods_store") ])
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Soccer", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
    

استخدام المصدر

عند تضمين المَعلمة origin في الطلب، يتم تحديدها على أنّها إحداثيات خطوط العرض وخطوط الطول، تشمل واجهة برمجة التطبيقات المسافة المستقيمة من المصدر إلى الوجهة في الرد. تُرجع الإجابة المسافة باسم distanceMeters.

يحدّد هذا المثال الأصل في وسط سان فرانسيسكو:

Swift

let token = GMSAutocompleteSessionToken()

let origin = CLLocation(latitude: 37.7749, longitude: -122.4194)

let filter = GMSAutocompleteFilter()

filter.origin =  origin
    
let request = GMSAutocompleteRequest(query:"Amoeba")
request.filter = filter
request.sessionToken = token

GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in
      if let error = error {
        print("Autocomplete error: \(error)")
        return
      }
      if let autocompleteResults = results {
        for result in autocompleteResults {
          print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText)) and distance: \(String(describing: result.placeSuggestion?.distanceMeters))")
        }
      }
    })

Objective-C


GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude:-122.077023];
GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Amoeba"];
request.sessionToken = token;
request.filter = filter;

[[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){
  // Handle response
  for (GMSAutocompleteSuggestion *suggestion in results) {
    if (suggestion.placeSuggestion) {
      // Show place suggestion data.
      }
    }
}];

GooglePlacesSwift

let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.7749, longitude: -122.4194))
let token = AutocompleteSessionToken()

let autocompleteRequest = AutocompleteRequest(query: "Amoeba", sessionToken: token, filter: filter)
switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) {
case .success(let autocompleteSuggestions):
  for suggestion in autocompleteSuggestions {
    switch suggestion {
    case .place:
      // Show place suggestion data.
    }
  }
case .failure(let placesError):
  // Handle error.
}
  

عمليات تحديد المصدر

يمكنك استخدام الإكمال التلقائي (جديد) حتى بدون الخريطة. إذا عرضت خريطة، يجب أن تكون خريطة Google. عند عرض اقتراحات من خدمة الإكمال التلقائي (الجديدة) بدون خريطة، يجب تضمين شعار Google المعروض بشكل مضمّن في البحث الحقل/النتائج. لمزيد من المعلومات، راجع عرض شعار Google تلقائيًا.