طرح JSON برای طراحی نقشه های مبتنی بر ابر به شما امکان می دهد از JSON برای سفارشی کردن نقشه ها درست همانطور که از طریق رابط ویرایشگر سبک استفاده می کنید استفاده کنید. این سند طرح JSON و نحوه ایجاد اعلانهای سبک JSON را توضیح میدهد.
برای یادگیری نحوه ویرایش یک سبک نقشه با استفاده از JSON در ویرایشگر سبک، یا وارد کردن و صادر کردن یک سبک نقشه، به استفاده از JSON با طراحی نقشه های مبتنی بر ابر مراجعه کنید.
نمونه ای از اعلان سبک JSON را ببینید
اعلان سبک JSON زیر یک رنگ پسزمینه تنظیم میکند و سپس استایلهایی را برای نقاط دیدنی، پارکها، آبنماها تعریف میکند و برچسبها را برای مکانهای غذا و نوشیدنی پنهان میکند.
{
"variant": "light",
"styles": [
{
"id": "natural.land",
"geometry": {
"fillColor": "#f7e3f7"
}
},
{
"id": "natural.water",
"geometry": {
"fillColor": "#d4b2ff"
},
"label": {
"textFillColor": "#3d2163",
"textStrokeColor": "#f0e1ff"
}
},
{
"id": "pointOfInterest",
"label": {
"pinFillColor": "#e0349a",
"textFillColor": "#a11e6e",
"textStrokeColor": "#ffd9f0"
}
},
{
"id": "pointOfInterest.emergency.hospital",
"geometry": {
"fillColor": "#ffe3e3"
}
},
{
"id": "pointOfInterest.foodAndDrink",
"label": {
"visible": false
}
},
{
"id": "pointOfInterest.recreation.park",
"geometry": {
"fillColor": "#f9b9d2"
}
}
]
}
شی JSON
یک اعلان سبک JSON از یک شی سطح بالا و یک آرایه از قوانین سبک تشکیل شده است.
- تنظیمات سطح بالا (اختیاری) - تنظیمات سبک جهانی مانند
backgroundColor
وvariant
. -
styles
- آرایه ای از اشیاء قانون سبک، که می تواند شامل موارد زیر باشد:-
id
- ویژگی نقشه برای انتخاب این تغییر سبک (به عنوان مثال،pointOfInterest.recreation.park
). -
geometry
(اختیاری) - عناصر هندسی ویژگی نقشه و قوانین سبکی که باید اعمال شوند (به عنوان مثال،fillColor
). -
label
(اختیاری) - برچسب متن یا پین ویژگی نقشه و قوانین سبکی که باید اعمال شوند (مثلاtextStrokeColor
).
-
تنظیمات سطح بالا
ویژگی های جدول زیر برای کل سبک نقشه اعمال می شود.
اموال | تایپ کنید | توضیحات | مثال |
---|---|---|---|
| رشته | رنگ پسزمینه برنامه نقشه را با استفاده از یک رشته هگز #RRGGBB سفارشی کنید. این تنظیم از تغییرات شفافیت پشتیبانی نمی کند. | "#002211" |
| "روشن"|"تاریک" | حالت روشن یا تاریک را مشخص کنید. اگر مشخص نشده باشد، پیشفرض «نور» است. | "نور" |
| بولی | برای فعال کردن تک رنگ، از true برای نسخه خاکستری نقشه استفاده کنید. | |
اشیاء قانون سبک
این بخش خصوصیاتی را شرح می دهد که اشیاء قانون سبک را در آرایه styles
برای سفارشی کردن ویژگی های نقشه تعریف می کنند. هر شی قانون سبک باید شامل موارد زیر باشد:
- دارایی
id
-
geometry
یا عنصرlabel
با ویژگی های استایلر مرتبط تعریف شده است.
id
(ویژگی نقشه)
ویژگی id
ویژگی نقشه را برای استایل مشخص می کند. نامهای دارایی نسخههای شتری از نام ویژگیهای نقشه در ویرایشگر سبک هستند.
ویژگی های نقشه یک درخت دسته بندی را تشکیل می دهند. اگر یک نوع ویژگی والد را مشخص کنید، مانند pointOfInterest
، سبکهایی که برای والدین مشخص میکنید برای همه فرزندانش اعمال میشود، مانند pointOfInterest.retail
و pointOfInterest.lodging
. برای جزئیات، به سلسله مراتب ویژگی نقشه مراجعه کنید.
لیست ویژگی های id
موجود
ویژگی های id
موجود به شرح زیر است:
-
pointOfInterest
-
pointOfInterest.emergency
-
pointOfInterest.emergency.fire
-
pointOfInterest.emergency.hospital
-
pointOfInterest.emergency.pharmacy
-
pointOfInterest.emergency.police
-
pointOfInterest.entertainment
-
pointOfInterest.entertainment.arts
-
pointOfInterest.entertainment.casino
-
pointOfInterest.entertainment.cinema
-
pointOfInterest.entertainment.historic
-
pointOfInterest.entertainment.museum
-
pointOfInterest.entertainment.themePark
-
pointOfInterest.entertainment.touristAttraction
-
pointOfInterest.foodAndDrink
-
pointOfInterest.foodAndDrink.bar
-
pointOfInterest.foodAndDrink.cafe
-
pointOfInterest.foodAndDrink.restaurant
-
pointOfInterest.foodAndDrink.winery
-
pointOfInterest.landmark
-
pointOfInterest.lodging
-
pointOfInterest.recreation
-
pointOfInterest.recreation.beach
-
pointOfInterest.recreation.boating
-
pointOfInterest.recreation.fishing
-
pointOfInterest.recreation.golfCourse
-
pointOfInterest.recreation.hotSpring
-
pointOfInterest.recreation.natureReserve
-
pointOfInterest.recreation.park
-
pointOfInterest.recreation.peak
-
pointOfInterest.recreation.sportsComplex
-
pointOfInterest.recreation.sportsField
-
pointOfInterest.recreation.trailhead
-
pointOfInterest.recreation.zoo
-
pointOfInterest.retail
-
pointOfInterest.retail.grocery
-
pointOfInterest.retail.shopping
-
pointOfInterest.service
-
pointOfInterest.service.atm
-
pointOfInterest.service.bank
-
pointOfInterest.service.carRental
-
pointOfInterest.service.evCharging
-
pointOfInterest.service.gasStation
-
pointOfInterest.service.parkingLot
-
pointOfInterest.service.postOffice
-
pointOfInterest.service.restStop
-
pointOfInterest.service.restroom
-
pointOfInterest.transit
-
pointOfInterest.transit.airport
-
pointOfInterest.other
-
pointOfInterest.other.bridge
-
pointOfInterest.other.cemetery
-
pointOfInterest.other.government
-
pointOfInterest.other.library
-
pointOfInterest.other.military
-
pointOfInterest.other.placeOfWorship
-
pointOfInterest.other.school
-
pointOfInterest.other.townSquare
-
political
-
political.countryOrRegion
-
political.border
-
political.reservation
-
political.stateOrProvince
-
political.city
-
political.sublocality
-
political.neighborhood
-
political.landParcel
-
infrastructure
-
infrastructure.building
-
infrastructure.building.commercial
-
infrastructure.businessCorridor
-
infrastructure.roadNetwork
-
infrastructure.roadNetwork.noTraffic
-
infrastructure.roadNetwork.noTraffic.pedestrianMall
-
infrastructure.roadNetwork.noTraffic.trail
-
infrastructure.roadNetwork.noTraffic.trail.paved
-
infrastructure.roadNetwork.noTraffic.trail.unpaved
-
infrastructure.roadNetwork.parkingAisle
-
infrastructure.roadNetwork.ramp
-
infrastructure.roadNetwork.road
-
infrastructure.roadNetwork.road.arterial
-
infrastructure.roadNetwork.road.highway
-
infrastructure.roadNetwork.road.local
-
infrastructure.roadNetwork.road.noOutlet
-
infrastructure.roadNetwork.roadShield
-
infrastructure.roadNetwork.roadSign
-
infrastructure.roadNetwork.roadDetail
-
infrastructure.roadNetwork.roadDetail.surface
-
infrastructure.roadNetwork.roadDetail.crosswalk
-
infrastructure.roadNetwork.roadDetail.sidewalk
-
infrastructure.roadNetwork.roadDetail.intersection
-
infrastructure.railwayTrack
-
infrastructure.railwayTrack.commercial
-
infrastructure.railwayTrack.commuter
-
infrastructure.transitStation
-
infrastructure.transitStation.bicycleShare
-
infrastructure.transitStation.busStation
-
infrastructure.transitStation.ferryTerminal
-
infrastructure.transitStation.funicularStation
-
infrastructure.transitStation.gondolaStation
-
infrastructure.transitStation.monorail
-
infrastructure.transitStation.railStation
-
infrastructure.transitStation.railStation.subwayStation
-
infrastructure.transitStation.railStation.tramStation
-
infrastructure.urbanArea
-
natural
-
natural.continent
-
natural.archipelago
-
natural.island
-
natural.land
-
natural.land.landCover
-
natural.land.landCover.crops
-
natural.land.landCover.dryCrops
-
natural.land.landCover.forest
-
natural.land.landCover.ice
-
natural.land.landCover.sand
-
natural.land.landCover.shrub
-
natural.land.landCover.tundra
-
natural.water
-
natural.water.ocean
-
natural.water.lake
-
natural.water.river
-
natural.water.other
-
natural.base
عناصر
عناصر زیربخش های یک ویژگی نقشه هستند. به عنوان مثال، یک جاده از خط گرافیکی ( geometry
) روی نقشه و همچنین متنی که نام آن را نشان می دهد ( label
) تشکیل شده است.
عناصر زیر در دسترس هستند، اما توجه داشته باشید که یک ویژگی نقشه خاص ممکن است از هیچ یک، برخی یا همه عناصر پشتیبانی نکند:
-
geometry
: تمام عناصر هندسی (به عنوان مثال، چند ضلعی، چند خط) ویژگی نقشه مشخص شده را انتخاب می کند. -
label
: تمام عناصر برچسب (مثلا متن، پین) ویژگی نقشه مشخص شده را انتخاب می کند.
استایلرها
استایلرها نحوه تعریف قوانین سبک خود برای هر عنصر از ویژگی نقشه هستند.
به عنوان مثال، برای یک ردپای ساختمان می توانید هر عنصر را به صورت زیر استایل کنید:
نمونه ای از استایلرهای geometry برای یک ساختمان | نمونه ای از استایلرهای label برای یک ساختمان |
---|---|
اینکه چند ضلعی ردپای ساختمان را پنهان کنید یا روی نقشه نشان دهید. | آیا برای پنهان کردن یا نشان دادن برچسب ساختمان. |
رنگ پر کردن چند ضلعی و کدورت. | رنگ پر کردن متن و کدورت. |
رنگ حاشیه، تیرگی و عرض. | رنگ و تیرگی خط متن. |
این بخش گزینه های مختلف سبک موجود برای عناصر geometry
و label
را شرح می دهد.
استایلرهای geometry
جدول زیر تمام استایلرهای هندسی موجود را فهرست می کند.
استایلر | تایپ کنید | توضیحات |
---|---|---|
| بولی | برای پنهان کردن چند ضلعی یا چند خطی یک ویژگی نقشه، روی false تنظیم کنید. |
| رشته | رنگ چند ضلعی یا چند خطی را با یک رشته شش گوش RGB سفارشی کنید. |
| شناور | کدورت چند ضلعی یا چند خطی را سفارشی کنید، جایی که 0 شفاف و 1 مات است. |
| رشته | رنگ طرح کلی را با یک رشته شش گوش RGB سفارشی کنید. |
| شناور | کدورت طرح کلی را سفارشی کنید، جایی که 0 شفاف و 1 مات است. |
| شناور | ضخامت طرح کلی را از محدوده 0 تا 8 سفارشی کنید. |
برای اطلاعات بیشتر، به Polygons and Polylines مراجعه کنید.
استایلرهای label
جدول زیر تمام استایلرهای برچسب موجود را فهرست می کند.
استایلر | تایپ کنید | توضیحات |
---|---|---|
| بولی | برای پنهان کردن برچسب یک ویژگی نقشه، روی false تنظیم کنید. |
| رشته | رنگ برچسب متن را با یک رشته هگز RGB سفارشی کنید. |
| شناور | کدورت برچسب متن را سفارشی کنید، جایی که 0 شفاف و 1 مات است. |
| رشته | رنگ طرح کلی را با یک رشته شش گوش RGB سفارشی کنید. |
| شناور | کدورت طرح کلی را سفارشی کنید، جایی که 0 شفاف و 1 مات است. |
| شناور | ضخامت طرح کلی را از محدوده 0 تا 8 سفارشی کنید. |
| رشته | رنگ پین را با یک رشته شش گوش RGB سفارشی کنید. |
برای اطلاعات بیشتر، نمادها و برچسبهای نوشتاری را ببینید.
کلید زوم ها
شما می توانید یک سبک واحد را برای یک ویژگی برای تمام سطوح بزرگنمایی کلید تنظیم کنید یا سبک های مختلف را برای سطوح مختلف بزرگنمایی کلید مشخص کنید. اگر فقط یک سبک ارائه دهید، برای تمام سطوح بزرگنمایی کلید از z0 استفاده می شود. اگر سبک هایی را برای سطوح مختلف کلید زوم ارائه کنید، این سبک از آن سطح بزرگنمایی تا سطح بعدی که تعریف کرده اید اعمال می شود.
برای تنظیم سطح کلید زوم برای یک استایل، در ویژگی styler، سطح keyzoom را از z0 تا z22 و سپس سفارشی سازی styler را تعریف کنید.
در مثال زیر، رنگ آب سیاه از سطوح کلید زوم 0-5، خاکستری تیره از سطوح کلید زوم 6-11، و خاکستری روشن از سطح کیزوم 12 شروع می شود.
{
"id": "natural.water",
"geometry": {
"fillColor": {
"z0": "#000000",
"z6": "#666666",
"z12": "#cccccc"
}
}
}
برای اطلاعات بیشتر، سطوح بزرگنمایی سبک را ببینید.