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

شناسه نقشه یک شناسه است که با یک سبک یا ویژگی خاص نقشه مرتبط است. یک سبک نقشه را پیکربندی کنید و آن را با شناسه نقشه در Google Cloud Console مرتبط کنید. سپس، هنگامی که به شناسه نقشه در کد خود اشاره می کنید، سبک نقشه مرتبط با آن در برنامه شما نمایش داده می شود. هر گونه به‌روزرسانی سبک بعدی که ایجاد می‌کنید به‌طور خودکار در برنامه‌تان ظاهر می‌شود، بدون اینکه نیازی به به‌روزرسانی توسط مشتریانتان باشد.

پس از ایجاد، شناسه‌های نقشه با یک پروژه مرتبط می‌شوند و همچنین به یک پلتفرم (اندروید، iOS، جاوا اسکریپت) یا Maps Static API محدود می‌شوند.

برای ایجاد یا مدیریت هر شناسه نقشه در Cloud Console، باید نقش IAM مالک پروژه یا ویرایشگر پروژه را داشته باشید.

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

برای ایجاد یا مدیریت هر شناسه نقشه یا سبک نقشه در یک پروژه Google Cloud خاص، باید نقش مالک یا ویرایشگر IAM در پروژه را نگه دارید.

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

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

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

  1. در Cloud Console، به صفحه مدیریت نقشه ها بروید.
  2. برای نمایش فرم Create New Map ID، Create New Map ID را انتخاب کنید.
    شناسه نقشه جدید ایجاد کنید

    در فرم، موارد زیر را انجام دهید:

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

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

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

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

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

اندروید

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

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

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

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

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    class="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: "<YOUR 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:@"<YOUR 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=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />

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

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

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

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

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