این موضوع الزامات ذکر منبع را برای همه برنامههایی که با «کیت توسعه نرمافزار مکانها» برای Android توسعه یافتهاند، ازجمله سرویس «تکمیل خودکار جا» که بخشی از آن میانای برنامهسازی کاربردی است، ارائه میدهد. برای اطلاع از شرایط بیشتر Google Maps Platform، شرایط خدمات Google Maps Platform را ببینید.
خطمشیها
این بخش خطمشیهای مربوط به «کیت توسعه نرمافزار مکانها، ویژه Android» را شرح میدهد. خطمشیها دستورالعملها و الزامات پیادهسازی عملی را ارائه میدهند تا به شما کمک کنند از «سرویس» بهدرستی و مطابق با انتظارات «پلاتفرم Google Maps» استفاده کنید.
ذخیرهسازی، ذخیره موقت، و استخراج دادهها
هنگام استفاده از «محتوای Google Maps» در برنامهتان، الزامات مدیریت داده را در بخش ۳.۲.۳ از شرایط خدمات پلاتفرم Google Maps و شرایط خاص سرویس پلاتفرم Google Maps دنبال کنید:
- محدودیتهای ذخیرهسازی در حافظه نهان و استخراج داده (بخش ۳.۲.۳ (الف) و (ب)): «محتوای Google Maps» را فقط بهصورت صریح و طبق آنچه در شرایط خاص سرویس Google Maps Platform مجاز شده است در حافظه نهان ذخیره یا نگهداری کنید. «محتوای Google Maps» را برای استفاده در خارج از «سرویسها» صادر، استخراج، یا جمعآوری نکنید. برای مثال، «محتوای Google Maps» را خارج از «سرویسها» پیشواکشی، نمایهگذاری، ذخیره، یا بازتوزیع نکنید؛ کاشیهای نقشه، تصاویر «نمای خیابان»، زمینکدها، مسیرها، نتایج ماتریس فاصله، اطلاعات جادهها، اطلاعات مکانها، مقادیر ارتفاع، یا جزئیات منطقه زمانی را بهصورت انبوه بارگیری نکنید؛ یا نامها، نشانیها، یا مرورهای کاربران کسبوکارها را کپی و ذخیره نکنید.
- محدودیتهای محتوای مشتقشده (بخش ۳.۲.۳(ج)): از «محتوای Google Maps» در برنامهتان طبق آنچه در شرایط خدمات Google Maps Platform مجاز شده است استفاده کنید. براساس «محتوای Google Maps» محتوا ایجاد نکنید. برای مثال، ویژگیها را از تصاویر ماهوارهای ردیابی یا دیجیتالی نکنید، مدلهای سهبعدی یا زمینی نسازید، از مقادیر طول و عرض جغرافیایی «مکانها» بهعنوان ورودی برای تحلیل نقطه در چندضلعی استفاده نکنید، از تصاویر «نمای خیابان» نمایه مکان نسازید، یا زمانهای رانندگی مبتنی بر نوشتار را به گفتار ترکیبی تبدیل نکنید.
برای کاهش تأخیر و هزینههای صورتحساب بدون ذخیره کردن دادههای محدودشده در حافظه نهان، از ماسکهای فیلد یا فهرستهای فیلد استفاده کنید تا فقط فیلدهایی را درخواست کنید که میانای کاربر شما نیاز دارد. شناسههای معاف مانند شناسه مکان را ذخیره کنید تا جزئیات جدید را هنگام تعامل کاربر با مکان واکشی کنید.
مهندسان پشتیبانی فنی Google نمیتوانند مشاوره حقوقی ارائه دهند یا برای «شرایط خدمات Google Maps Platform» استثنا قائل شوند. با مشاور حقوقیتان مشورت کنید تا ببینید آیا پیادهسازی شما با شرایط مطابقت دارد یا نه، یا اگر مورد استفاده شما به صدور پروانه سفارشی نیاز دارد، با بخش فروش تماس بگیرید.
استثنائات محدودیتهای ذخیره کردن در حافظه نهان
شرایط خاص سرویس پلاتفرم Google Maps استثناهای محدود زیر را برای ذخیرهسازی در حافظه نهان اعطا میکند:
- شناسههای مکان: شناسه مکان که برای
شناسایی منحصربهفرد مکان استفاده میشود، از
محدودیتهای ذخیرهسازی موقت مستثنی است.
بنابراین میتوانید مقادیر شناسه مکان را برای مدت نامحدود ذخیره کنید. شناسههای جا
در فیلد
idیاplace_idدر پاسخهای میانای برنامهسازی کاربردی برگردانده میشوند. در راهنمای «شناسههای مکان»، با نحوه ذخیره، بازآوری، و مدیریت شناسههای مکان آشنا شوید. - مختصات عرض و طول جغرافیایی: هنگام استفاده از سرویسهایی که این استثنا را در شرایط خاص سرویس Google Maps Platform اعطا میکنند، میتوانید مقادیر عرض جغرافیایی (
latitude) و طول جغرافیایی (longitude) را بهطور موقت تا ۳۰ روز تقویمی متوالی در حافظه نهان ذخیره کنید و پساز آن باید مختصات ذخیرهشده در حافظه نهان را حذف کنید:- Routes API، Route Optimization API، Directions API (قدیمی)، و Roads API
- Geocoding API، Geolocation API، و Address Validation API
- Places API، کیت میانای کاربر «جاها»، و کیت توسعه نرمافزار ناوبری
- دورههای ذخیرهسازی موقت مختص سرویس: شرایط مختص سرویس پلاتفرم Google Maps همچنین دورههای ذخیرهسازی موقت مختص فیلد و اهداف مجاز را برای Address Validation API، Air Quality API، Pollen API، Solar API، Weather API، و Places Aggregate API تعریف میکند.
کشورها و قلمروهای منطقه اقتصادی اروپا
این محصول برای مشتریانی که نشانی صورتحسابشان در منطقه اقتصادی اروپا (EEA) است، «شرایط خدمات» متفاوتی دارد و ممکن است عملکرد آن نیز متفاوت باشد. پیشاز ساختن با Google Maps Platform، شرایط و اطلاعات زیر را که مختص منطقه اقتصادی اروپا است مرور کنید:
- شرایط خدمات Google Maps Platform در منطقه اقتصادی اروپا
- شرایط خاص سرویس Google Maps Platform در منطقه اقتصادی اروپا
- پرسشگان منطقه اقتصادی اروپا
- الزامات ایمنی جادهای Google Maps Platform
اگر نشانی صورتحساب شما در منطقه اقتصادی اروپا نیست، شرایط خدمات زیر برای شما اعمال میشود:
الزامات ارجاع Google Maps
این بخش الزامات و دستورالعملهای ذکر منبع را برای نمایش Google Maps و محتوا ازطریق برنامههای شما ارائه میدهد.
نمونه اسناد
در زیر نمونهای از ارجاع برای «کیت میانای کاربر جاها» ارائه شده است.
نمایش ارجاع Google Maps
هنگام نمایش محتوا از میاناهای برنامهسازی کاربردی پلاتفرم Google Maps در برنامه یا وبسایت خود، باید الزامات ذکر منبع Google Maps را رعایت کنید. اگر «محتوا» در Google Map نشان داده میشود و ارجاع ازقبل نمایان است، لازم نیست ارجاع اضافی اضافه کنید.
ارجاع Google Maps اضافه شد
برای ارجاع Google Maps که قبلاً توسط «پلاتفرم Google Maps» در میانای کاربر ارائه شده است، مثلاً در «کیت میانای کاربر جاها»:
- صرفنظر از اینکه ارجاع در کجا نمایش داده میشود، ارجاع گنجاندهشده را برندارید. اسناد را تغییر ندهید، پنهان نکنید، یا مبهم نکنید و مطمئن شوید که بهوضوح در پسزمینه قابلمشاهده است.
- همیشه «محتوای Google Maps Platform» را بااستفاده از نشانههای میانای کاربری مانند حاشیه، رنگ پسزمینه، سایه، یا فضای خالی کافی بهصورت بصری از محتوای دیگر متمایز کنید.
- هنگام ایجاد تغییرات بصری، باید از همه الزامات ذکر منبع Google Maps پیروی کنید.
نشانواره Google Maps و ارجاع نوشتاری
درصورت امکان، ارجاع باید بهشکل نشانواره Google Maps باشد. در مواردی که فضا محدود است، نوشتار Google Maps قابلقبول است. همیشه باید برای کاربران نهایی مشخص باشد که کدام محتوا را Google Maps ارائه کرده است.
ارجاع نشانواره
برای استفاده از نشانواره Google Maps در برنامه یا وبسایتتان، این الزامات را دنبال کنید.بارگیری نشانوارههای Google Maps
از فایلهای نشانواره رسمی Google Maps استفاده کنید. نشانوارههای زیر را بارگیری کنید و دستورالعملهای این بخش را دنبال کنید.
بارگیری داراییهای ارجاع Google Mapsهنگام استفاده از نشانواره Google Maps، این دستورالعملها را دنبال کنید.
- به هیچ وجه نشانواره را تغییر ندهید.
- نسبت ابعادی نشانواره را حفظ کنید تا از اعوجاج جلوگیری شود.
- از نشانواره خطی روی پسزمینه شلوغ، مثل نقشه یا تصویر، استفاده کنید.
- از نشانواره بدون خط پیرامونی روی پسزمینه ساده، مثل رنگ یکدست یا گرادیان ملایم، استفاده کنید.
مشخصات اندازه نشانواره
این مشخصات اندازه را برای نشانواره Google Maps دنبال کنید:- حداقل ارتفاع نشانواره: ۱۶ پیکسل مستقل از تراکم
- حداکثر ارتفاع نشانواره: ۱۹ پیکسل مستقل از تراکم
- حداقل فضای خالی نشانواره: ۱۰ پیکسل مستقل از تراکم در چپ، راست، و بالا، ۵ پیکسل مستقل از تراکم در پایین
برای آشنایی با dp، به تراکم پیکسل در وبسایت Material Design مراجعه کنید.
دسترسپذیری نشانواره
این الزامات دسترسپذیری را برای نشانواره Google Maps دنبال کنید:- کنتراست دسترسپذیری بین نشانواره و پسزمینه را حفظ کنید.
- برچسب دسترسپذیری با نوشتار Google Maps اضافه کنید.
انتساب نوشتار
اگر اندازه میانای شما از استفاده از نشانواره Google Maps پشتیبانی نمیکند، میتوانید Google Maps را بهصورت نوشتاری بنویسید. این دستورالعملها را دنبال کنید:
- به هیچ وجه نوشتار Google Maps را تغییر ندهید:
- حروف بزرگ و کوچک Google Maps را تغییر ندهید
- Google Maps را در چند خط ننویسید
- Google Maps را به زبان دیگری بومیسازی نکنید.
- بااستفاده از مشخصه HTML
translate="no"، از ترجمه Google Maps توسط مرورگرها جلوگیری کنید.
نوشتار Google Maps را همانطور که در جدول زیر شرح داده شده است سبکبندی کنید:
الزامات سبک نوشتار Google Maps دارایی سبک خانواده قلم Roboto. بار کردن قلم اختیاری است. خانواده قلم جایگزین هر قلم سنسریف نوشتار اصلی که قبلاً در محصولتان استفاده شده است یا «سنسریف» برای فراخوانی قلم پیشفرض سیستم سبک قلم معمولی وزن قلم ۴۰۰ رنگ قلم سفید، سیاه (#1F1F1F)، یا خاکستری (#5E5E5E). کنتراست قابلدسترس (۴.۵:۱) را درمقابل پسزمینه حفظ کنید. اندازه قلم حداقل اندازه قلم: ۱۲ اسپی
حداکثر اندازه قلم: ۱۶ اسپی
برای آشنایی با اسپی، به واحدهای اندازه قلم در وبسایت Material Design مراجعه کنید.فاصله حروف معمولی
سرویس مقایسه قیمت نمونه
CSS زیر Google Maps را با سبک و رنگ تایپوگرافی مناسب در پسزمینه سفید یا روشن ارائه میکند.
@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); .GMP-attribution { font-family: Roboto, Sans-Serif; font-style: normal; font-weight: 400; font-size: 1rem; letter-spacing: normal; white-space: nowrap; color: #5e5e5e; }
الزامات دیداری
این الزامات را برای پردازش بصری ارجاع Google Maps دنبال کنید.نشان انتساب را نزدیک بالا یا پایین محتوا و در همان ظرف دیداری قرار دهید. برای یک خط محتوا، ارجاع میتواند در سمت راست یا چپ قرار گیرد.
بااستفاده از نشانههای میانای کاربری مانند حاشیه، رنگ پسزمینه، سایه، یا فضای سفید کافی، «محتوای پلاتفرم Google Maps» را بهصورت دیداری از محتوای دیگر متمایز کنید.
- با نسبت دادن Google Maps به محتوای غیر از «پلاتفرم Google Maps»، آن را بهاشتباه معرفی نکنید.
- تأیید کنید که ارجاع همیشه قابلمشاهده و خوانا باشد. هرگز آن را حذف، پنهان، یا مبهم نکنید یا تغییر ندهید.
شکلهای زیر نمونههایی از این الزامات بصری را نشان میدهد.
ارائهدهندگان دادههای طرف سوم
برخیاز دادهها و تصاویر موجود در محصولات نقشهبرداری ما از ارائهدهندگانی غیراز Google دریافت میشود. برای برخیاز محصولات، مانند Map Tiles API، ممکن است ارجاع لازم به ارائهدهنده داده طرف سوم را دراختیارتان قرار دهیم. وقتی این کار را انجام میدهیم، نوشتار ارجاع شما باید نام «Google Maps» و ارائهدهنده(های) داده مربوطه را ذکر کند، مانند «دادههای نقشه: Google، Maxar Technologies». وقتی Google ارجاع به طرف سوم ارائه میدهد، فقط گنجاندن «Google Maps» یا نشانواره Google ارجاع مناسبی نیست.
سایر الزامات ذکر منبع
برای بازیابی ارجاعهای شخص ثالث و نمایش ارجاعها در برنامهتان، این دستورالعملها را دنبال کنید.
بازیابی ارجاعها از «مکان»
اگر برنامهتان اطلاعات بهدستآمده ازطریق فراخوانی دریافت مکان با شناسه را نمایش میدهد، برنامه باید ارجاعهای شخص ثالث را نیز برای جزئیات مکان بهدستآمده نمایش دهد.
میانای برنامهسازی کاربردی شیء
Place
را برمیگرداند. برای بازیابی ارجاعها از شیء Place،
Place.getAttributions() را فراخوانی کنید.
این روش List از اشیاء String یا null را برمیگرداند
اگر هیچ ارجاعی برای نمایش وجود نداشته باشد.
String placeId = "INSERT_PLACE_ID_HERE"; List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME); FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); textView.append("Place found: " + place.getName()); List<String> attributions = place.getAttributions(); if (attributions != null) { StringBuilder stringBuilder = new StringBuilder("Attributions: "); for (String attribution : attributions) { stringBuilder.append(attribution).append("\n"); } textView.append(stringBuilder.toString()); }}).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { // Handle the error. } } );
نمایش ارجاعها برای عکس
اگر برنامهتان عکسهای مکان را نمایش میدهد، باید
برای هر عکسی که ارجاع دارد، ارجاع آن را نشان دهید.
PhotoMetadata،
میتواند حاوی یکی از دو نوع ارجاع باشد:
- ارجاعها، رشته ارجاعی که توسط
PhotoMetadata.getAttributions()قابلدسترسی است. - AuthorAttributions،
شیء
AuthorAttributionsکه توسطPhotoMetadata.getAuthorAttributions()قابلدسترسی است.
برای دریافت رشتههای منبع عکس،
PhotoMetadata.getAttributions() را فراخوانی کنید. این روش یک
دنباله نویسه HTML یا یک رشته خالی را برمیگرداند اگر هیچ ارجاعی برای
نمایش وجود نداشته باشد.
// Get the photo metadata from the Place object. PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0); // Get the attribution text. String attributions = photoMetadata.getAttributions();
برای دریافت ذکر منبع عکاس برای عکس،
PhotoMetadata.getAuthorAttributions() را فراخوانی کنید. این روش یک شیء
AuthorAttributions برمیگرداند. این شیء حاوی List
از AuthorAttribution
شیء است، هرکدام برای یک ارجاع به نویسنده.
// Get the photo metadata from the Place object. PhotoMetadata photoMetadata = place.getPhotoMetadatas().get(0); // Get the author attributions object. AuthorAttributions authorAttributions = photoMetadata.getAuthorAttributions(); List<AuthorAttribution> authorAttributionList = authorAttributions.asList();
اسناد نتایج جستجو
در اروپا، هنگام استفاده از رتبهبندی بدون تغییر Google، محصولات جستجو باید نوشتار توضیحی داشته باشند که بیشتر از ۱ کلیک فاصله نداشته باشد و عوامل اصلی و وزن عوامل اصلی را که رتبهبندی نتایج جستجو را تعیین میکنند شرح دهد. نوشتار توضیحی:
سرصفحه: درباره این نتایج
متن اصلی: وقتی در اطراف جایی دنبال کسبوکار یا مکانی میگردید، Google Maps به شما نتایج محلی را نشان میدهد. عوامل زیادی - ارتباط درجه اول داشتن، فاصله، و برجسته بودن - ترکیب میشوند تا در یافتن بهترین نتایج برای شما کمک کنند.
دکمه ۱: بیشتر بدانید
نوشتار «بیشتر بدانید» باید به مقاله «مرکز راهنمایی» پیوند داده شود.
دکمه ۲: تأیید
نمایش مرور
یک شیء Place میتواند حداکثر پنج مرور داشته باشد که هر مرور با یک شیء Review نشان داده میشود. میتوانید این مرورها را بهصورت اختیاری در برنامهتان نمایش دهید.
هنگام نمایش مرورهای ارائهشده توسط کاربران Google، باید نام نویسنده را در مجاورت آن قرار دهید. وقتی در فیلد ارجاع به نویسنده
شیء Review دردسترس باشد، توصیه میکنیم عکس نویسنده
و پیوند به نمایه او را نیز اضافه کنید. تصویر زیر نمونهای از مرور یک پارک را نشان میدهد:

Google همچنین توصیه میکند که نحوه مرتبسازی مرورها را برای کاربر نهایی نمایش دهید.
برای دسترسی به مرورها، با
Place.getReviews() تماس بگیرید:
// Specify the fields to return. final List<Place.Field> placeFields = Arrays.asList(Place.Field.REVIEWS); // Construct a request object, passing the place ID and fields array. final FetchPlaceRequest request = FetchPlaceRequest.newInstance("INSERT_PLACE_ID_HERE", placeFields); placesClient.fetchPlace(request).addOnSuccessListener((response) -> { Place place = response.getPlace(); List<Review> reviews = place.getReviews(); // For loop for iterating over the List for (int i = 0; i < reviews.size(); i++) { // For each review, get the Review object. Review placeReview = reviews.get(i); // Get any attribution and author attribution. String reviewAttribution = placeReview.getAttribution(); AuthorAttribution authorAttribution = placeReview.getAuthorAttribution(); // Display the review contents and attributions as necessary. } }).addOnFailureListener((exception) -> { if (exception instanceof ApiException) { // Handle the error. } });
درحال نمایش ارجاعهای طرف سوم
ارجاعها به ارائهدهندگان شخص ثالث حاوی محتوا و پیوندهایی در قالب HTML است که باید آنها را حفظ کنید و به همان قالبی که ارائه شدهاند به کاربر نمایش دهید. Google توصیه میکند این اطلاعات را زیر جزئیات مکان نمایش دهید.
این API برای همه مکانهایی که برنامه استفاده میکند ارجاع ایجاد میکند. ارجاعها برای هر فراخوانی API ارائه میشوند، نه برای هر مکان.
یکی از راههای نمایش ارجاعها استفاده از
TextView است.
برای مثال:
TextView attributionsText = (TextView) findViewById(R.id.attributions); String thirdPartyAttributions = place.getAttributions(); attributionsText.setText(thirdPartyAttributions);
نمونهای از ارجاع طرف سوم
Listings by <a href="https://www.example.com/">Example Company</a>
تکمیل خودکار برای نشانیهای کاربر نهایی
وقتی کاربر نهایی از عملکرد «تکمیل خودکار» در «برنامه مشتری» شما برای تایپ کردن نشانی خیابان استفاده میکند و آن نشانی خیابان میتوانست بهطور کامل و دقیق توسط آن کاربر نهایی بدون «تکمیل خودکار» ارائه شود، نشانی انتخابشده کاربر نهایی مشمول محدودیتهای «محتوای Google Maps» در «قرارداد پلاتفرم Google Maps» شما نمیشود. این استثنا فقط برای نشانی خیابان انتخابشده توسط کاربر نهایی و صرفاً برای تراکنش خاص آن کاربر نهایی اعمال میشود؛ این استثنا برای فهرست نشانیهای پیشنهادی ارائهشده توسط عملکرد «تکمیل خودکار» یا برای «محتوای Google Maps» دیگر اعمال نمیشود. این استثنا برای هیچکدام از عملکردهای جستجوی نشانی یا نقطه موردعلاقه که توسط دیگر سرویسهای «پلاتفرم Google Maps» ارائه میشود اعمال نمیشود.

در تصویر قبلی، فهرست نشانی در سمت راست همچنان مشمول محدودیتهای «محتوای Google Maps» است. وقتی کاربر نهایی نشانی انتخابیاش را انتخاب میکند، آن نشانی صرفاً برای تراکنش مربوطه آن کاربر نهایی مشمول محدودیتهای «محتوای Google Maps» نمیشود.