مهاجرت به عکسهای مکان جدید، مهاجرت به عکسهای مکان جدید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
توسعه دهندگان منطقه اقتصادی اروپا (EEA).
عکس مکان به شما امکان می دهد محتوای عکاسی با کیفیت بالا را به صفحات وب خود اضافه کنید. این صفحه تفاوتهای بین ویژگیهای عکس مکان در کلاس Place (جدید) و PlacesService (میراث) را توضیح میدهد و چند قطعه کد برای مقایسه ارائه میکند.
اگر فیلد photos در درخواست مشخص شده باشد، PlacesService (میراث) آرایه ای از حداکثر 10 شی PlacePhoto به عنوان بخشی از شی PlaceResult برای هر درخواست getDetails() برمی گرداند. در مورد textSearch() و nearbySearch() عکس مکان اول به صورت پیش فرض در صورت موجود بودن برگردانده می شود.
اگر فیلد photos در درخواست مشخص شده باشد، کلاس Place آرایه ای از حداکثر 10 شی Photo را به عنوان بخشی از درخواست fetchFields() برمی گرداند.
جدول زیر برخی از تفاوتهای اصلی در استفاده از عکسهای مکان را بین کلاس Place و PlacesService فهرست میکند:
روشها نیاز به استفاده از یک تماس برای رسیدگی به شی نتایج و پاسخ google.maps.places.PlacesServiceStatus دارند.
از Promises استفاده می کند و به صورت ناهمزمان کار می کند.
روشها به بررسی PlacesServiceStatus نیاز دارند.
بدون بررسی وضعیت مورد نیاز، می توان از مدیریت خطای استاندارد استفاده کرد. بیشتر بدانید .
PlacesService باید با استفاده از یک نقشه یا یک عنصر div نمونه سازی شود.
Place میتواند هر جا که لازم باشد، بدون ارجاع به نقشه یا عنصر صفحه، نمونهسازی شود.
مقایسه کدها
این بخش کد عکسهای مکان را مقایسه میکند تا تفاوتهای بین سرویس Places و کلاس Place را نشان دهد. تکههای کد کد مورد نیاز برای درخواست عکسها در هر API مربوطه را نشان میدهند.
خدمات مکانها (قدیمی)
قطعه زیر بازگشت عکس ها با استفاده از PlacesService و نمایش اولین نتیجه عکس در صفحه را نشان می دهد. در این مثال، درخواست جزئیات مکان، شناسه مکان را به همراه فیلدهای name و photos مشخص می کند. پس از بررسی وضعیت سرویس، اولین عکس در صفحه نمایش داده می شود. هنگام نمونه سازی PlacesService ، یک نقشه یا یک عنصر div باید مشخص شود. از آنجایی که این مثال دارای نقشه نیست، از عنصر div استفاده شده است.
functiongetPhotos(){// Construct the Place Details request.constrequest={placeId:"ChIJydSuSkkUkFQRsqhB-cEtYnw",fields:["name","photos"],};// Create an instance of PlacesService.constattributionDiv=document.getElementById("attribution-div");constservice=newgoogle.maps.places.PlacesService(attributionDiv);// Check status and display the first photo in an img element.service.getDetails(request,(place,status)=>{if(status===google.maps.places.PlacesServiceStatus.OK && place){constphotoImg=document.getElementById('image-container');photoImg.src=place.photos[0].getUrl({maxHeight:400});}});}
اسناد نویسنده در PlacesService
PlacesService ارجاعات نویسنده مورد نیاز را به عنوان یک رشته html_attributions حاوی یک URL که به صفحه نمایه Google نویسنده اشاره دارد، برمی گرداند. قطعه زیر بازیابی داده های انتساب را برای اولین نتیجه عکس نشان می دهد.
قطعه زیر با استفاده از متد fetchFields() برای بازگرداندن جزئیات مکان از جمله نام نمایشی و عکسهای مکان را نشان میدهد. ابتدا یک شیء Place جدید با استفاده از شناسه مکان و سپس فراخوانی به fetchFields() که در آن فیلدهای displayName و photos مشخص شده اند، نمونه سازی می شود. سپس اولین عکس در صفحه نمایش داده می شود. هنگام استفاده از کلاس Place ، نیازی به بررسی وضعیت سرویس نیست، زیرا این مورد به صورت خودکار مدیریت می شود.
asyncfunctiongetPhotos(){// Use a place ID to create a new Place instance.constplace=newgoogle.maps.places.Place({id:'ChIJydSuSkkUkFQRsqhB-cEtYnw',// Woodland Park Zoo, Seattle WA});// Call fetchFields, passing the needed data fields.awaitplace.fetchFields({fields:['displayName','photos']});console.log(place.displayName);console.log(place.photos[0]);// Add the first photo to an img element.constphotoImg=document.getElementById('image-container');photoImg.src=place.photos[0].getURI({maxHeight:400});}
اسناد نویسنده در کلاس Place
کلاس Place اسناد نویسنده را به عنوان یک نمونه AuthorAttribution شامل نام نویسنده، یک URI برای صفحه نمایه Google نویسنده و یک URI برای عکس نمایه نویسنده برمیگرداند. قطعه زیر بازیابی داده های انتساب را برای اولین نتیجه عکس نشان می دهد.
تاریخ آخرین بهروزرسانی 2025-09-04 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-09-04 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# Migrate to the new Place Photos\n\n\u003cbr /\u003e\n\n**European Economic Area (EEA) developers** If your billing address is in the European Economic Area, effective on 8 July 2025, the [Google Maps Platform EEA Terms of Service](https://cloud.google.com/terms/maps-platform/eea) will apply to your use of the Services. Functionality varies by region. [Learn more](/maps/comms/eea/faq).\n\nPlace photos lets you add high quality photographic content to your web pages.\nThis page explains the differences between place photos features in the `Place`\nclass (new) and `PlacesService` (legacy), and provides some code snippets for\ncomparison.\n\n- `PlacesService` (legacy) returns an array of up to 10 [`PlacePhoto`](/maps/documentation/javascript/reference/places-service#PlacePhoto) objects as part of the `PlaceResult` object for any `getDetails()` request if the `photos` field is specified in the request. In the case of `textSearch()` and `nearbySearch()` the first place photo is returned by default if available.\n- The `Place` class returns an array of up to 10 [`Photo`](/maps/documentation/javascript/reference/place#Photo) objects as part of a `fetchFields()` request if the `photos` field is specified in the request.\n\nThe following table lists some of the main differences in the use of place\nphotos between the `Place` class and `PlacesService`:\n\n| [`PlacesService`](/maps/documentation/javascript/reference/places-service) (Legacy) | [`Place`](/maps/documentation/javascript/reference/place) (New) |\n|-----------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|\n| [`PlacePhoto`](/maps/documentation/javascript/reference/places-service#PlacePhoto) interface | [`Photo`](/maps/documentation/javascript/reference/place#Photo) class |\n| `PlacePhoto` returns [`html_attributions`](/maps/documentation/javascript/reference/places-service#PlacePhoto.html_attributions) as a string. | `Photo` returns an [`AuthorAttribution`](/maps/documentation/javascript/reference/place#AuthorAttribution) instance. |\n| Methods require the use of a callback to handle the results object and `google.maps.places.PlacesServiceStatus` response. | Uses Promises, and works asynchronously. |\n| Methods require a `PlacesServiceStatus` check. | No required status check, can use standard error handling. [Learn more](/maps/documentation/javascript/reference/errors). |\n| `PlacesService` must be instantiated using a map or a div element. | `Place` can be instantiated wherever needed, without a reference to a map or page element. |\n\nCode comparison\n---------------\n\nThis section compares code for place photos to illustrate the differences\nbetween the Places Service and the\nPlace class. The code snippets show the code\nrequired to request place photos on each respective API.\n\n### Places service (legacy)\n\nThe following snippet shows returning photos using `PlacesService`, and\ndisplaying the first photo result on the page. In this example, the place\ndetails request specifies a place ID, along with the `name` and `photos` fields.\nThe first photo is then displayed on the page after checking service status.\nWhen instantiating the `PlacesService`, a map or a `div` element must be\nspecified; since this example does not feature a map, a `div` element is used. \n\n function getPhotos() {\n // Construct the Place Details request.\n const request = {\n placeId: \"ChIJydSuSkkUkFQRsqhB-cEtYnw\",\n fields: [\"name\", \"photos\"],\n };\n\n // Create an instance of PlacesService.\n const attributionDiv = document.getElementById(\"attribution-div\");\n const service = new google.maps.places.PlacesService(attributionDiv);\n\n // Check status and display the first photo in an img element.\n service.getDetails(request, (place, status) =\u003e {\n if (\n status === google.maps.places.PlacesServiceStatus.OK && place\n ) {\n const photoImg = document.getElementById('image-container');\n photoImg.src = place.photos[0].getUrl({maxHeight: 400});\n }\n });\n }\n\n#### Author attributions in `PlacesService`\n\nThe `PlacesService` returns the required author attributions as an\n[`html_attributions`](/maps/documentation/javascript/reference/places-service#PlacePhoto.html_attributions)\nstring containing a URL pointing to the author's Google profile page. The\nfollowing snippet shows retrieving attribution data for the first photo result. \n\n let attributionUrl = place.photos[0].html_attributions;\n\n#### Learn more\n\n- [See the documentation](/maps/documentation/javascript/places#places_photos)\n- [`getDetails` reference](/maps/documentation/javascript/reference/places-service#PlacesService.getDetails)\n- [`PlacePhoto` interface reference](/maps/documentation/javascript/reference/places-service#PlacePhoto)\n\n### Place class (new)\n\nThe following snippet shows using the\n[`fetchFields()`](/maps/documentation/javascript/reference/place#Place.fetchFields)\nmethod to return place details including the display name and place photos.\nFirst a new `Place` object is instantiated using a place ID, followed by a call\nto `fetchFields()` where the `displayName` and `photos` fields are specified.\nThe first place photo is then displayed on the page. There is no need to check\nservice status when using the `Place` class, as this is handled automatically. \n\n async function getPhotos() {\n // Use a place ID to create a new Place instance.\n const place = new google.maps.places.Place({\n id: 'ChIJydSuSkkUkFQRsqhB-cEtYnw', // Woodland Park Zoo, Seattle WA\n });\n\n // Call fetchFields, passing the needed data fields.\n await place.fetchFields({ fields: ['displayName','photos'] });\n\n console.log(place.displayName);\n console.log(place.photos[0]);\n // Add the first photo to an img element.\n const photoImg = document.getElementById('image-container');\n photoImg.src = place.photos[0].getURI({maxHeight: 400});\n }\n\n#### Author attributions in the `Place` class\n\nThe `Place` class returns author attributions as an\n[`AuthorAttribution`](/maps/documentation/javascript/reference/place#AuthorAttribution)\ninstance including the author's name, a URI for the author's Google profile\npage, and a URI for the author's profile photo. The following snippet shows\nretrieving attribution data for the first photo result. \n\n let name = place.photos[0].authorAttributions[0].displayName;\n let attributionUrl = place.photos[0].authorAttributions[0].uri;\n let photoUrl = place.photos[0].authorAttributions[0].photoUri;\n\n#### Learn more\n\n- [See the full example](/maps/documentation/javascript/examples/place-photos)\n- [See the documentation](/maps/documentation/javascript/place-photos)\n- [`fetchFields()` reference](/maps/documentation/javascript/reference/place#Place.fetchFields)\n- [`Photo` class reference](/maps/documentation/javascript/reference/place#Photo)"]]