نحوه ایجاد شناسه نقشه

پلتفرم را انتخاب کنید: سرویس وب جاوا اسکریپت اندروید iOS

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

برای جزئیات بیشتر و ویژگی‌هایی که از شناسه‌های نقشه استفاده می‌کنند، به نمای کلی Map ID مراجعه کنید.

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

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

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

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

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

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

  3. روی ایجاد شناسه نقشه کلیک کنید.

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

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

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

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

اگر از طراحی نقشه های مبتنی بر ابر استفاده می کنید، یک سبک نقشه را با شناسه نقشه خود مرتبط می کنید. برای جزئیات، به Associate a مراجعه کنید.

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

اندروید

شناسه نقشه خود را از طریق یک عنصر <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 ایجاد کنید.
  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 حذف کنید.