جزئیات مکان

با مجموعه‌ها، منظم بمانید ذخیره و دسته‌بندی محتوا براساس اولویت‌های شما.
پلتفرم را انتخاب کنید: سرویس وب جاوا اسکریپت اندروید iOS

Places SDK برای Android اطلاعات غنی درباره مکان‌ها، از جمله نام و آدرس مکان، موقعیت جغرافیایی مشخص شده به عنوان مختصات طول و عرض جغرافیایی، نوع مکان (مانند کلوپ شبانه، فروشگاه حیوانات خانگی، موزه) و غیره را در اختیار برنامه شما قرار می‌دهد. برای دسترسی به این اطلاعات برای یک مکان خاص، می توانید از شناسه مکان استفاده کنید، یک شناسه پایدار که به طور منحصر به فرد مکان را شناسایی می کند.

جزئیات مکان

شی Place اطلاعاتی در مورد یک مکان خاص ارائه می دهد. شما می توانید یک شی Place را به روش های زیر بدست آورید:

وقتی مکانی را درخواست می کنید، باید نوع داده های مکان را مشخص کنید. برای انجام این کار، یک List<Place.Field> را ارسال کنید و انواع داده‌های مورد نظر را مشخص کنید. این یک نکته مهم است، زیرا این امر بر هزینه هر درخواست تأثیر می گذارد. از آنجایی که نتایج داده‌های مکان نمی‌توانند خالی باشند، فقط نتایج مکان با داده برگردانده می‌شوند (مثلاً اگر مکان درخواستی عکس نداشته باشد، فیلد photos در نتیجه وجود نخواهد داشت). می توانید یک یا چند فیلد زیر را مشخص کنید:

  • Place.Field.ADDRESS
  • Place.Field.ADDRESS_COMPONENTS
  • Place.Field.BUSINESS_STATUS
  • Place.Field.ID
  • Place.Field.LAT_LNG
  • Place.Field.NAME
  • Place.Field.OPENING_HOURS
  • Place.Field.PHONE_NUMBER
  • Place.Field.PHOTO_METADATAS
  • Place.Field.PLUS_CODE
  • Place.Field.PRICE_LEVEL
  • Place.Field.RATING
  • Place.Field.TYPES
  • Place.Field.USER_RATINGS_TOTAL
  • Place.Field.ICON_URL
  • Place.Field.ICON_BACKGROUND_COLOR
  • Place.Field.VIEWPORT
  • Place.Field.UTC_OFFSET
  • Place.Field.WEBSITE_URI

درباره فیلدهای مکان بیشتر بیاموزید. برای اطلاعات بیشتر درباره نحوه صدور صورت‌حساب درخواست‌های داده مکان، استفاده و صورت‌حساب را ببینید.

از روش های زیر برای بازیابی داده ها از یک Place استفاده کنید:

  • getAddress() – آدرس مکان، در قالب قابل خواندن توسط انسان.
  • getAddressComponents()List از اجزای آدرس برای این مکان. این اجزا به منظور استخراج اطلاعات ساختاریافته در مورد آدرس یک مکان، به عنوان مثال یافتن شهری که یک مکان در آن قرار دارد، ارائه شده است. از این مؤلفه ها برای قالب بندی آدرس استفاده نکنید. در عوض، getAddress() را فراخوانی کنید، که یک آدرس فرمت شده محلی را ارائه می دهد.
  • getBusinessStatus() – وضعیت عملیاتی مکان، اگر یک کسب و کار باشد. می‌تواند حاوی یکی از مقادیر زیر باشد: OPERATIONAL ، CLOSED_TEMPORARILY ، CLOSED PERMANENTLY .
  • getAttributions() - انتساب هایی که باید به کاربر نشان داده شود، در صورتی که از داده های مکان استفاده شود.
  • getID() – شناسه متنی مکان. در ادامه این صفحه درباره شناسه مکان ها بیشتر بخوانید.
  • getLatLng() – موقعیت جغرافیایی مکان، مشخص شده به عنوان مختصات طول و عرض جغرافیایی.
  • getName() – نام مکان.
  • getOpeningHours()OpeningHours مکان. OpeningHours.getWeekdayText() را فراخوانی کنید تا لیستی از رشته ها را که نشان دهنده ساعات باز و بسته شدن هر روز هفته است، بازگرداند. OpeningHours.getPeriods() را فراخوانی کنید تا لیستی از اشیاء period را با اطلاعات دقیق تری که معادل داده های ارائه شده توسط getWeekdayText() است، برگردانید. توجه: اگر مکانی همیشه باز باشد، دوره زمانی یکشنبه در نیمه شب نمایش داده می‌شود و closeEvent پوچ است.
  • getPhoneNumber() – شماره تلفن مکان.
  • getPhotoMetadatas() – فراداده مرتبط با یک عکس مرتبط با مکان، از جمله تصویر بیت مپ.
  • getPlusCode() – محل PlusCode این مکان.
  • getPriceLevel() – سطح قیمت برای این مکان، به صورت یک عدد صحیح با مقادیری از 0 (ارزانترین) تا 4 (گرانترین) بازگردانده می شود.
  • getRating() – رتبه‌بندی انبوهی از مکان، که به صورت شناور با مقادیری از 1.0 تا 5.0، بر اساس نظرات جمع‌آوری شده کاربران برگردانده می‌شود.
  • getTypes() – لیستی از انواع مکان که مشخصه این مکان است. برای فهرستی از انواع مکان‌های موجود، به اسناد رابط Place مراجعه کنید.
  • getUserRatingsTotal() - تعداد کل رتبه‌بندی‌های کاربران این مکان.
  • getIconUrl() - URL برای یک ماسک نماد سیاه که نشان دهنده نوع مکان است.
  • getIconBackgroundColor – رنگ پس‌زمینه نماد برای نوع مکان.
  • getUtcOffsetMinutes() – افست UTC، در چند دقیقه.
  • getViewport() - یک viewport که به عنوان یک شی LatLngBounds می شود و برای نمایش مکان روی نقشه مفید است. در صورتی که اندازه مکان مشخص نباشد، ممکن است باطل برگرداند.
  • getWebsiteUri() – URI وب سایت مکان، در صورت شناخته شدن. این وب سایتی است که توسط کسب و کار یا نهاد دیگری مرتبط با مکان نگهداری می شود. اگر هیچ وب سایتی شناخته نشده باشد، پوچ برمی گردد.
  • isOpen() - یک بولی که نشان می دهد آیا مکان در حال حاضر باز است یا خیر. اگر زمان مشخص نشده باشد، پیش فرض اکنون است. isOpen فقط در صورتی برگردانده می شود که هر دو Place.Field.UTC_OFFSET و Place.Field.OPENING_HOURS موجود باشند. برای اطمینان از نتایج دقیق، Place.Field.BUSINESS_STATUS و Place.Field.UTC_OFFSET را در درخواست مکان اصلی خود درخواست کنید. در صورت عدم درخواست، فرض بر این است که کسب و کار عملیاتی است. برای نحوه استفاده از isOpen با جزئیات مکان، این ویدیو را ببینید.

چند مثال ساده:

جاوا


final CharSequence name = place.getName();
final CharSequence address = place.getAddress();
final LatLng location = place.getLatLng();

      

کاتلین


val name = place.name
val address = place.address
val location = place.latLng

      

با شناسه مکان بگیرید

شناسه مکان یک شناسه متنی است که به طور منحصر به فرد مکان را شناسایی می کند. در Places SDK برای Android، می‌توانید شناسه یک مکان را با فراخوانی Place.getId() بازیابی کنید. سرویس تکمیل خودکار مکان همچنین برای هر مکان یک شناسه مکان برمی‌گرداند که با عبارت جستجو و فیلتر ارائه شده مطابقت دارد. می‌توانید شناسه مکان را ذخیره کنید و بعداً از آن برای بازیابی مجدد شیء Place استفاده کنید.

برای دریافت مکان با شناسه، با ارسال یک FetchPlaceRequest با PlacesClient.fetchPlace() تماس بگیرید.

API یک FetchPlaceResponse در یک Task برمی گرداند. FetchPlaceResponse حاوی یک شی Place است که با شناسه مکان ارائه شده مطابقت دارد.

مثال کد زیر فراخوانی fetchPlace() را برای دریافت جزئیات مکان مشخص شده نشان می دهد.

جاوا


// Define a Place ID.
final String placeId = "INSERT_PLACE_ID_HERE";

// Specify the fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);

// Construct a request object, passing the place ID and fields array.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
    Place place = response.getPlace();
    Log.i(TAG, "Place found: " + place.getName());
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        final ApiException apiException = (ApiException) exception;
        Log.e(TAG, "Place not found: " + exception.getMessage());
        final int statusCode = apiException.getStatusCode();
        // TODO: Handle error with given status code.
    }
});

      

کاتلین


// Define a Place ID.
val placeId = "INSERT_PLACE_ID_HERE"

// Specify the fields to return.
val placeFields = listOf(Place.Field.ID, Place.Field.NAME)

// Construct a request object, passing the place ID and fields array.
val request = FetchPlaceRequest.newInstance(placeId, placeFields)

placesClient.fetchPlace(request)
    .addOnSuccessListener { response: FetchPlaceResponse ->
        val place = response.place
        Log.i(PlaceDetailsActivity.TAG, "Place found: ${place.name}")
    }.addOnFailureListener { exception: Exception ->
        if (exception is ApiException) {
            Log.e(TAG, "Place not found: ${exception.message}")
            val statusCode = exception.statusCode
            TODO("Handle error with given status code")
        }
    }

      

اسناد را در برنامه خود نمایش دهید

هنگامی که برنامه شما اطلاعات مکان را نمایش می دهد، برنامه باید اسناد را نیز نمایش دهد. اسناد مربوط به اسناد را ببینید.

اطلاعات بیشتر درباره شناسه مکان

شناسه مکان مورد استفاده در Places SDK برای Android همان شناسه مورد استفاده در Places API است. هر شناسه مکان می تواند تنها به یک مکان اشاره داشته باشد، اما یک مکان واحد می تواند بیش از یک شناسه مکان داشته باشد. شرایط دیگری وجود دارد که ممکن است باعث شود یک مکان شناسه مکان جدیدی دریافت کند. برای مثال، اگر یک کسب و کار به مکان جدیدی نقل مکان کند، ممکن است این اتفاق بیفتد.

هنگامی که با تعیین شناسه مکان درخواست مکانی می کنید، می توانید مطمئن باشید که همیشه همان مکان را در پاسخ دریافت خواهید کرد (اگر مکان هنوز وجود دارد). با این حال، توجه داشته باشید که پاسخ ممکن است حاوی شناسه مکانی متفاوت از شناسه درخواست شما باشد.

برای اطلاعات بیشتر، نمای کلی شناسه مکان را ببینید.