خدمة "الإكمال التلقائي (جديد)" هي واجهة برمجة تطبيقات لنظام التشغيل iOS تهدف إلى عرض اقتراحات للأماكن استجابةً لطلب. في الطلب، حدِّد سلسلة بحث نصيّة وحدود جغرافية تتحكّم في منطقة البحث.
يمكن لخدمة "الإكمال التلقائي (جديد)" مطابقة الكلمات الكاملة والسلسلة الفرعية للنص الذي يتم إدخاله، وحلّ أسماء الأماكن والعناوين ورموز التنسيق. وبالتالي، يمكن للتطبيقات إرسال طلبات بحث أثناء كتابة المستخدمين، وذلك لتقديم اقتراحات فورية عن الأماكن.
الاقتراحات المتعلّقة بالأماكن هي أماكن، مثل الأنشطة التجارية والعناوين ونقاط ملفتة للاهتمام، استنادًا إلى سلسلة نص الإدخال المحدّدة ومنطقة البحث.
على سبيل المثال، يمكنك استدعاء واجهة برمجة التطبيقات باستخدام سلسلة تحتوي على إدخال جزئي للمستخدم، "Spagh"، مع حصر منطقة البحث في مدينة نيويورك. يحتوي الردّ بعد ذلك على قائمة باقتراحات الأماكن التي تتطابق مع سلسلة البحث ومنطقة البحث، مثل المطعم المُسمى "Cafe Spaghetti"، بالإضافة إلى تفاصيل عن المكان.
تم تصميم اقتراحات الأماكن المعروضة ليتم تقديمها للمستخدم كي تتمكّن من اختيار المكان المطلوب. يمكنك تقديم طلب تفاصيل الأماكن (جديد) للحصول على المزيد من المعلومات عن أيّ من اقتراحات الأماكن المعروضة.
طلبات الإكمال التلقائي (جديد)
أنشئ طلبًا لإكمال تلقائي من خلال استدعاء طريقة في
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. } } }];
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
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
سلسلة النصوص المطلوب البحث فيها. حدِّد الكلمات الكاملة والسلسلة الفرعية والأسماء المكانية والعناوين ورموز المواقع المفتوحة. تعرض خدمة "التمويه التلقائي (جديد)" مطابقات مرشحة استنادًا إلى هذه السلسلة وترتيب النتائج استنادًا إلى مدى صلة كل نتيجة بطلب البحث.
المعلمات الاختيارية
الأنواع
لا يمكن أن يتضمّن المكان سوى نوع أساسي واحد من النوعَين جدول
أ أو جدول
ب المرتبط به.
على سبيل المثال، قد يكون النوع الأساسي هو mexican_restaurant
أو steak_house
.
تعرض واجهة برمجة التطبيقات تلقائيًا جميع الأماكن استنادًا إلى المَعلمة input
،
بغض النظر عن قيمة النوع الأساسي المرتبطة بالمكان. يمكنك حصر النتائج
لتكون من نوع أساسي معيّن أو أنواع أساسية معيّنة من خلال تمرير المَعلمة
types
.
استخدِم هذه المَعلمة لتحديد ما يصل إلى خمس قيم من النوع من الجدول أ أو الجدول ب. يجب أن يتطابق مكان مع إحدى قيم النوع الأساسي المحدّدة ليتم تضمينها في الاستجابة.
يتم رفض الطلب مع ظهور خطأ INVALID_REQUEST
في الحالات التالية:
- تم تحديد أكثر من خمسة أنواع.
- يتم تحديد أي أنواع غير معروفة.
البلدان
تضمين النتائج من قائمة المناطق المحدّدة فقط، والتي يتم تحديدها كصفيف يضم ما يصل إلى 15 قيمة من قيم النطاقات التي يتم ترميزها حسب البلد ("نطاق المستوى الأعلى") المكوّنة من حرفَين في حال حذف هذا الحقل، لن يتم فرض أي قيود على الردّ. على سبيل المثال، لتقتصر المناطق على ألمانيا وفرنسا:
Swift
let filter = GMSAutocompleteFilter() filter.countries = ["DE", "FR"]
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.countries = @[ @"DE", @"FR" ];
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
let filter = AutocompleteFilter(countries: ["DE", "FR"])
في حال تحديد كل من locationRestriction
وcountries
، يتم
العثور على النتائج في منطقة تقاطع الإعدادَين.
inputOffset
فهرس أحرف Unicode المستند إلى الصفر الذي يشير إلى موضع المؤشر في
input
. يمكن أن يؤثّر موضع المؤشر في التوقّعات التي يتم عرضها. إذا كانت
فارغة، سيتم ضبطها تلقائيًا على الطول input
.
locationBias أو 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);
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
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);
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
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];
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
regionCode
رمز المنطقة المستخدَم لتنسيق الردّ، ويتم تحديده على أنّه قيمة نطاق المستوى الأعلى الذي يتضمّن رمز بلد (ccTLD) ("نطاق الدرجة العليا") تتألف من حرفَين. تتطابق معظم رموز نطاقات المستوى الأعلى التي تتضمّن رموز بلدان (ccTLD) مع رموز ISO 3166-1، مع بعض الاستثناءات البارزة. على سبيل المثال، رمز المستوى الأعلى للمنطقة الجغرافية للمملكة المتحدة هو "uk" (.co.uk)، بينما رمزه وفقًا لمعيار ISO 3166-1 هو "gb" (من الناحية الفنية للكيان " المملكة المتحدة لبريطانيا العظمى وأيرلندا الشمالية").
إذا حدّدت رمز منطقة غير صالح، ستُعرِض واجهة برمجة التطبيقات خطأ INVALID_ARGUMENT
. يمكن أن تؤثّر المَعلمة في النتائج استنادًا إلى القانون الساري.
sessionToken
علامات الجلسات هي سلاسل ينشئها المستخدمون وتتتبّع طلبات "الإكمال التلقائي (جديد)" على أنّها "جلسات". يستخدم ميزة "الإكمال التلقائي" (الإصدار الجديد) الرموز المميّزة للجلسات لتجميع مرحلتَي الطلب والاختيار في عملية بحث الإكمال التلقائي للمستخدِم في جلسة منفصلة لأغراض الفوترة. لمزيد من المعلومات، يُرجى الاطّلاع على معرّفات جلسة.
أمثلة على ميزة "الإكمال التلقائي" (جديد)
استخدام locationRestriction وlocationBias
تستخدم ميزة "الإكمال التلقائي (جديد)" التوجيه حسب عنوان IP تلقائيًا للتحكّم في منطقة البحث. من خلال منح الأولوية لعنوان IP، تستخدم واجهة برمجة التطبيقات عنوان IP للجهاز لمنح الأولوية للنتائج. يمكنك اختياريًا استخدام locationRestriction
أو
locationBias
، ولكن ليس كليهما، لتحديد
منطقة للبحث فيها.
يحدِّد قيد الموقع الجغرافي المنطقة التي يتم البحث فيها. ولا يتم عرض النتائج خارج المنطقة المحدّدة. يستخدم المثال التالي قيد الموقع الجغرافي لتقييد الطلب على قيد موقع جغرافي دائري بنصف قطر 5,000 متر مع توسّط سان فرانسيسكو:
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. } } }];
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
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. } } }];
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
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. }
أنواع الاستخدام
استخدِم المَعلمة types لحصر النتائج من طلب معيّن على أنّها من نوع معيّن كما هو موضّح في الجدول أ والجدول ب. يمكنك تحديد صفيف يتضمّن ما يصل إلى خمس قيم. في حال حذف هذا العنصر، يتم عرض جميع الأنواع.
يحدِّد المثال التالي سلسلة طلب بحث هي "كرة القدم" ويستخدم المَعلمة types
لحصر النتائج بالمنشآت من النوع
"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. } } }];
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
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. } } }];
حزمة تطوير البرامج Swift لأماكن Google لنظام التشغيل iOS (إصدار تجريبي)
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 و الإحالات.