از شناسه های نقشه استفاده کنید

شناسه نقشه یک شناسه منحصر به فرد است که برای نشان دادن یک نمونه از نقشه گوگل استفاده می شود. شما از شناسه های نقشه برای فعال کردن ویژگی ها یا مدیریت یا سبک دادن به نقشه ها در وب سایت ها و برنامه های خود استفاده می کنید. می‌توانید شناسه‌های نقشه را برای هر پلتفرمی که نیاز دارید - نقشه‌های جاوا اسکریپت، اندروید، iOS یا استاتیک - در پروژه Google Cloud Console خود در صفحه مدیریت نقشه ایجاد کنید.

کارهایی که می توانید با شناسه های نقشه انجام دهید

از شناسه های نقشه برای فعال کردن ویژگی ها و استایل استفاده کنید. در اینجا چند نمونه از نحوه استفاده از شناسه نقشه آورده شده است. برای فهرست کامل، به ویژگی هایی که از شناسه های نقشه استفاده می کنند مراجعه کنید:

  • طراحی نقشه‌های مبتنی بر ابر : شناسه نقشه را با سبک نقشه مرتبط کنید تا نقشه‌های خود را با استفاده از Google Cloud Console سبک، سفارشی‌سازی و مدیریت کنید. در همه پلتفرم‌ها موجود است: JavaScript ، Android ، iOS و Maps Static API .

  • نقشه های برداری : از شناسه نقشه برای استفاده از نقشه ای متشکل از کاشی های بردار استفاده کنید که در زمان بارگذاری در سمت مشتری با استفاده از WebGL ترسیم می شوند. در جاوا اسکریپت موجود است.

  • نشانگرهای پیشرفته : از شناسه نقشه برای فعال کردن نشانگرهای پیشرفته استفاده کنید. در جاوا اسکریپت ، اندروید و iOS موجود است.

مثالی برای طراحی نقشه های مبتنی بر ابر

برای استفاده از طرح‌بندی نقشه‌های مبتنی بر ابر برای استایل دادن به نقشه‌ها در وب‌سایت و برنامه‌های Android خود، این مراحل را دنبال کنید:

  1. برای هر پلتفرمی که استفاده می کنید شناسه نقشه ایجاد کنید. به عنوان مثال، یک جاوا اسکریپت و یک شناسه نقشه اندروید ایجاد کنید. برای جزئیات، به ایجاد شناسه‌های نقشه مراجعه کنید.

  2. یک سبک نقشه را در Google Cloud Console پیکربندی کنید. برای جزئیات، به طرح‌بندی نقشه‌های مبتنی بر ابر مراجعه کنید.

  3. هر دو شناسه نقشه خود را با سبک نقشه در Google Cloud Console مرتبط کنید. برای جزئیات، به مرتبط کردن شناسه‌های نقشه با سبک خود مراجعه کنید.

  4. به شناسه نقشه در جاوا اسکریپت وب سایت خود و کد برنامه اندروید خود مراجعه کنید. برای جزئیات، به افزودن شناسه نقشه به برنامه خود مراجعه کنید.

سپس سبک نقشه مرتبط با شناسه های نقشه شما در وب سایت و برنامه اندروید شما نمایش داده می شود. می‌توانید سبک نقشه‌تان را در «کنسول ابر» به‌روزرسانی کنید و تغییرات در هر دو مکان به‌طور خودکار ظاهر می‌شوند، بدون اینکه نیازی به به‌روزرسانی برنامه‌ها توسط مشتریانتان باشد.

ویژگی هایی که از شناسه نقشه استفاده می کنند

جدول زیر ویژگی های پلتفرم نقشه های گوگل و API هایی را نشان می دهد که از شناسه نقشه استفاده می کنند:

ویژگی یا API از شناسه های نقشه برای دستیابی به این اهداف استفاده می کند
نشانگرهای پیشرفته نشانگرهای پیشرفته را فعال کنید. شما نیازی به ایجاد شناسه نقشه ندارید و در عوض می توانید از شناسه نقشه آزمایشی «DEMO_MAP_ID» استفاده کنید.
یک ظاهر طراحی مبتنی بر داده برای مرزها شناسه نقشه را با مجموعه‌ای از مرزها و استایل‌بندی مرتبط کنید تا نقشه را مطابق با مرزها شکل دهید.
یک سبک مبتنی بر داده برای مجموعه داده ها شناسه نقشه را با مجموعه‌ای از داده‌ها و طرح‌بندی مرتبط کنید تا نقشه را مطابق مجموعه داده‌ها استایل دهید.
بال زدن به نقشه های Google مورد استفاده در برنامه های Flutter خود سبک دهید.
Maps Embed API نقشه را برای تعبیه شدن در یک صفحه وب مشخص و سبک دهید.
Maps JavaScript API نقشه را برای نمایش در یک صفحه وب طراحی کنید.
Maps SDK برای اندروید نقشه را برای نمایش در یک برنامه اندرویدی طراحی کنید. 1
Maps SDK برای iOS نقشه را برای نمایش در یک برنامه iOS طراحی کنید. 1
Maps Static API نقشه را برای نمایش به عنوان یک تصویر ثابت و استایل مشخص کنید.
راه حل های تحرک از Maps JavaScript API و SDK برای Android و iOS برای استایل دادن به نقشه ها در راهکارهای Mobility استفاده کنید. 1
WebGL (نقشه برداری) ویژگی های WebGL را با استفاده از شناسه نقشه برداری جاوا اسکریپت فعال کنید.

1 استفاده از شناسه نقشه در Maps SDK برای Android یا Maps SDK برای iOS بارگذاری نقشه را راه‌اندازی می‌کند که در مقابل Dynamic Maps SKU شارژ می‌شود.

نحوه ایجاد و استفاده از شناسه نقشه

شناسه نقشه یک شناسه منحصر به فرد است که یک نمونه از نقشه گوگل را نشان می دهد. شناسه‌های نقشه ایجاد می‌کنید و سبک نقشه مرتبط با شناسه نقشه را در Cloud Console به‌روزرسانی می‌کنید.

مجوزهای مورد نیاز

برای ایجاد یا مدیریت هر شناسه نقشه در پروژه خود، باید از یک اصل با مجوزهای سطح نقش مناسب، ویرایشگر یا مالک، در صفحه IAM کنسول Cloud برای پروژه استفاده کنید. برای جزئیات، به مرجع نقش های اساسی و از پیش تعریف شده IAM مراجعه کنید.

شناسه های نقشه را ایجاد کنید

می‌توانید شناسه‌های نقشه ایجاد کنید و سبک مرتبط با شناسه نقشه را در هر زمان در کنسول Cloud به‌روزرسانی کنید.

برای ایجاد شناسه نقشه، مراحل زیر را دنبال کنید:

  1. به یک پروژه Cloud Console با مجوزهای لازم وارد شوید و آن را باز کنید.

  2. در Cloud Console، به صفحه مدیریت نقشه ها بروید.

  3. ایجاد شناسه نقشه را انتخاب کنید.

    شناسه نقشه جدید ایجاد کنید

  4. در صفحه ایجاد شناسه نقشه جدید ، موارد زیر را انجام دهید:

    1. برای نام ، به شناسه نقشه یک نام بدهید.
    2. اختیاری : برای توضیحات ، توضیح دهید که شناسه نقشه برای چه مواردی استفاده می شود.
    3. برای نوع نقشه ، پلتفرمی را که قصد دارید از شناسه نقشه در آن استفاده کنید، انتخاب کنید. اگر جاوا اسکریپت را انتخاب می کنید، نوع نقشه Raster (پیش فرض) یا Vector را نیز انتخاب کنید. برای اطلاعات بیشتر در مورد نقشه های برداری، به نقشه های برداری مراجعه کنید.
    4. ذخیره را برای نمایش شناسه نقشه جدید خود انتخاب کنید.

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

این دستورالعمل ها فرض می کنند که حداقل یک سبک نقشه موجود در پروژه شما وجود دارد. اگر سبک نقشه ندارید، به استایل نقشه‌های مبتنی بر ابر مراجعه کنید و پلتفرم خود را برای دستورالعمل‌های نحوه ایجاد آن انتخاب کنید.

  1. در Cloud Console، به صفحه مدیریت نقشه ها بروید.
  2. از جدول، شناسه نقشه موجود را انتخاب کنید.
  3. در زیر سبک نقشه مرتبط ، یک سبک نقشه را انتخاب کنید.
  4. ذخیره را انتخاب کنید.

    صفحه جزئیات برای شناسه نقشه، جایی که یک سبک نقشه را مرتبط می‌کنید

شناسه نقشه را به برنامه خود اضافه کنید

اندروید

شناسه نقشه خود را از طریق یک عنصر <fragment> در فایل طرح‌بندی فعالیت، با استفاده از کلاس MapView یا به صورت برنامه‌ریزی با استفاده از کلاس GoogleMapOptions اضافه کنید.

به عنوان مثال، فرض کنید یک شناسه نقشه ایجاد کرده اید که به عنوان مقدار رشته ای به نام map_id در res/values/strings.xml ذخیره می شود:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">MAP_ID</string>
</resources>

برای نقشه‌هایی که از طریق عنصر <fragment> در فایل طرح‌بندی فعالیت اضافه می‌شوند، همه قطعات نقشه که باید سبک سفارشی داشته باشند باید شناسه نقشه را در ویژگی map:mapId مشخص کنند:

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    map:name="com.google.android.gms.maps.SupportMapFragment"
    …
    map:mapId="@string/map_id" />

همچنین می توانید از ویژگی map:mapId کلاس MapView برای تعیین شناسه نقشه استفاده کنید:

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    ....
    map:mapId="@string/map_id" />

برای تعیین شناسه نقشه به صورت برنامه‌ریزی، آن را با استفاده از کلاس GoogleMapOptions به یک نمونه MapFragment ارسال کنید:

جاوا

 MapFragment mapFragment = MapFragment.newInstance(
     new GoogleMapOptions()
         .mapId(getResources().getString(R.string.map_id)));

کاتلین

 val mapFragment = MapFragment.newInstance(
     GoogleMapOptions()
         .mapId(resources.getString(R.string.map_id))
 )

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

iOS

برای نمونه سازی نقشه با استفاده از شناسه نقشه، موارد زیر را انجام دهید:

  1. یک GMSMapID با رشته شناسه نقشه از Cloud Console ایجاد کنید.
  2. یک GMSMapView ایجاد کنید که شناسه نقشه ای را که ایجاد کرده اید مشخص کنید.

سویفت

let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "MAP_ID")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView

هدف-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
                                                        longitude:-122.336471
                                                             zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;

اگر از شناسه نقشه خود استفاده می‌کنید، می‌توانید شناسه نقشه خود را در کنسول Cloud طوری تنظیم کنید که در هر زمان خواستید سبک جدیدی داشته باشد و این سبک به طور خودکار در نمای نقشه شما و کاربران در عرض حدود شش ساعت منعکس می‌شود.

اگر می‌خواهید فوراً تغییرات را مشاهده کنید، می‌توانید با خروج از برنامه، برنامه خود را ببندید و مجدداً راه‌اندازی کنید، برنامه را از لیست برنامه‌های اخیراً استفاده شده خارج کنید و سپس آن را دوباره باز کنید. سپس نقشه به روز شده قابل مشاهده خواهد بود.

جاوا اسکریپت

برای ایجاد نقشه با شناسه نقشه در کد برنامه:

  1. اگر قبلاً نقشه خود را با کد JSON تعبیه شده سفارشی می کنید، ویژگی styles را از شی MapOptions خود حذف کنید. در غیر این صورت، این مرحله را رها کنید.

  2. با استفاده از ویژگی mapId یک شناسه نقشه به نقشه اضافه کنید. به عنوان مثال:

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
mapId: 'MAP_ID'
});

Maps Static

برای افزودن شناسه نقشه به نقشه جدید یا موجود که از یکی از APIهای وب سرویس ما استفاده می کند، پارامتر URL map_id را اضافه کرده و آن را روی شناسه نقشه خود تنظیم کنید. این مثال اضافه کردن شناسه نقشه را با استفاده از Maps Static API به نقشه نشان می‌دهد.

<img src="https://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=YOUR_API_KEY&map_id=MAP_ID&signature=YOUR_SIGNATURE" />

نقشه ای در مرکز پل بروکلین در شهر نیویورک، نیویورک، ایالات متحده با کنترل های نقشه در گوشه پایین سمت راست. نقشه یک ظاهر طراحی سفارشی را در جاده ها، آب و خشکی نشان می دهد.

اگر قبل از افزودن شناسه نقشه، در URL استاتیک Maps خود دارای امضای دیجیتالی هستید، پس از افزودن شناسه نقشه، باید امضای دیجیتالی جدیدی ایجاد کرده و اضافه کنید . هنگام ایجاد رمز امضای URL جدید، به یاد داشته باشید که امضای دیجیتال قبلی خود را از URL حذف کنید.