Places SDK for iOS(新)可提供更出色的性能和新的价格模式,因此值得更新使用 Places SDK for iOS(旧)的应用。如需详细了解如何比较功能,请参阅选择 SDK。
本指南将帮助您了解 Places SDK for iOS(新版)与 Places SDK for iOS(旧版)之间的主要区别,以及如何处理必要的更改。
迁移结算方面的最佳实践
warning_amber
如果您的 API 用量足够高,可以采用第二级定价,则此指南适用。迁移到较新版本的 API 时,您还需要为不同的 SKU 付费。为避免在过渡当月增加费用,我们建议您在尽可能接近月初时切换到生产环境中的新 API。这样可确保您在迁移月份达到最具成本效益的月度价格层级。如需了解价格层级,请参阅价格页面和价格常见问题解答。
错误:kGMSPlacesRateLimitExceeded
启用 Places SDK for iOS(新)
Places SDK for iOS 依赖于 Places API 服务。如需使用 Places SDK for iOS(新)的功能,您必须先在 Google Cloud 项目中启用 Places API(新)。如需了解详情,请参阅设置您的 Google Cloud 项目。
然后,您必须验证是否已将 Places API(新)添加到应用使用的 API 密钥。如需了解详情,请参阅使用 API 密钥。
[null,null,["最后更新时间 (UTC):2025-08-31。"],[],[],null,["# Migration overview\n\nThe Places SDK for iOS (New) provides improved performance and a new\npricing model, making it worthwhile to update apps that use\nPlaces SDK for iOS (Legacy). For more details on comparing features, see\n[Choose your SDK](/maps/documentation/places/ios-sdk/choose-sdk).\n\nUse this guide to understand key differences in Places SDK for iOS\n(New) compared to Places SDK for iOS (Legacy), along with how to\nhandle necessary changes.\n\n\nBilling best practices for migration\n------------------------------------\n\nwarning_amber\n\nThis guidance applies if your API usage is high enough to\nmove into second-tier pricing. When migrating to a newer version of an API,\nyou're also being billed for a different SKU. To avoid increased costs during the month of\nyour transition, we recommend switching to the new APIs in production as close to the\nbeginning of the month as possible. This will ensure that you reach the most cost-effective\nmonthly pricing tiers during the migration month. For information about pricing tiers,\nsee the [pricing page](/maps/billing-and-pricing/pricing)\nand the [pricing FAQ](/maps/billing-and-pricing/faq).\n\n\u003cbr /\u003e\n\n#### Error: `kGMSPlacesRateLimitExceeded`\n\n| **Notice:** If your iOS app is experiencing `kGMSPlacesRateLimitExceeded`\n| errors, you may be using a deprecated version of the Places API.\n| Version 2.7.0 of the Places API was deprecated as of January 29,\n| 2019, and was turned off on **July 29, 2019** . A new version of the Places API\n| is now available. We recommend updating to the new version as soon as possible.\n| For details, see the [migration\n| guide](/maps/documentation/places/ios-sdk/client-migration).\n\nEnable Places SDK for iOS (New)\n-------------------------------\n\nPlaces SDK for iOS relies on the\n**Places API** service. To use the features of\nPlaces SDK for iOS (New), you must first enable\n**Places API (New)** in your Google Cloud project. For more\ninformation, see [Set up your Google Cloud\nproject](/maps/documentation/places/ios-sdk/cloud-setup).\n\nYou then must verify that you have added **Places API\n(New)** to the API key used by your app. For more information, see [Use API\nKeys](/maps/documentation/places/ios-sdk/get-api-key).\n\nGeneral changes\n---------------\n\nSome general changes that apply to multiple APIs include:\n\n- Uses a new pricing model. For pricing information for all APIs, see [Pricing\n for the Places SDK for iOS\n (New)](/maps/billing-and-pricing/pricing#places-pricing).\n\n- [Place Details\n (New)](/maps/documentation/places/ios-sdk/place-details), [Nearby Search\n (New)](/maps/documentation/places/ios-sdk/nearby-search), and [Text Search\n (New)](/maps/documentation/places/ios-sdk/text-search) require field masks\n to specify which fields you want returned in the response.\n\n- [`GMSPlacesClient`](/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSPlacesClient)\n contains new methods to call these new APIs.\n\n- New classes have been added to define the request to each of the new APIs.\n\n- The response `GMSPlace` instance contains the new [`reviews`](/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSPlace#reviews)\n property of type\n [`GMSPlaceReview`](/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSPlaceReview).\n When your app displays information obtained from the `GMSPlace` instance,\n such as photos and reviews, the app must also display the required\n attributions.\n\n For more information, see the documentation on\n [attributions](/maps/documentation/places/ios-sdk/policies#other_attribution_requirements).\n\n| **Note:** Because Text Search (New) and Nearby Search (New) were added to Places SDK for iOS and did not replace any existing APIs, there is no migration required to use them.\n\nAPI-specific changes\n--------------------\n\nThis section includes the following migration guides for each API:\n\n- [Migrate to Place Details (New)](/maps/documentation/places/ios-sdk/migrate-details)\n- [Migrate to Place Photo (New)](/maps/documentation/places/ios-sdk/migrate-photo)\n- [Migrate to Autocomplete (New)](/maps/documentation/places/ios-sdk/migrate-autocomplete)"]]