إنشاء خرائط OpenLayers من كائنات مواصفات نمط Mapbox.
احصل على انطباع عما تفعله هذه المكتبة من خلال استكشاف الأمثلة المباشرة.
لاستخدام المكتبة في تطبيق مع بيئة DEV القائمة على NPM ، قم بتثبيتها مع
npm install ol-mapbox-style
عند تثبيته بهذه الطريقة ، ما عليك سوى استيراد وحدة OL-Mapbox ، كما هو الحال في مثال الاستخدام أدناه. لاستخدام بناء مستقل من طراز OL-Mapbox ، فقط قم بتضمين "Dist/OLMS.JS" على صفحة HTML الخاصة بك ، والوصول إلى الوظائف المصدرة من كائن olms
العالمي (على سبيل المثال olms.apply()
، olms.applyBackground()
) . لاحظ أن البناء المستقل يعتمد على البناء الكامل لـ OpenLayers.
يتطلب ol-mapbox-style> = V9 إصدار OpenLayers> = 7 .
يتطلب V8 OL-Mapbox V8 إصدار OpenLayers> = 6.13.0 <7 .
انظر قسم API للحصول على الوثائق الكاملة.
يقوم الرمز أدناه بإنشاء خريطة OpenLayers من نمط V9 Bright من MapBox ، باستخدام https://
url:
import { apply } from 'ol-mapbox-style' ;
apply ( 'map' , 'https://api.mapbox.com/styles/v1/mapbox/bright-v9?access_token=YOUR_MAPBOX_TOKEN' ) ;
لتعيين النمط والمصدر لطبقة فقط ، استخدم applyStyle()
. mapbox://
urls مدعوم أيضًا:
import { applyStyle } from 'ol-mapbox-style' ;
import VectorTileLayer from 'ol/layer/VectorTile.js'
const layer = new VectorTileLayer ( { declutter : true } ) ;
applyStyle ( layer , 'mapbox://styles/mapbox/bright-v9' , { accessToken : 'YOUR_MAPBOX_TOKEN' } ) ;
لتطبيق خصائص طبقة background
نمط Mapbox على الخريطة أو طبقة VectorTile
، استخدم وظيفة applyBackground()
.
هناك أيضا واجهة برمجة تطبيقات منخفضة المستوى متوفرة. لإنشاء وظيفة نمط لطبقات OpenLayers OpenLayers أو طبقات البلاط المتجه ، استخدم وحدة stylefunction
:
import { stylefunction } from 'ol-mapbox-style' ;
import VectorLayer from 'ol/layer/Vector.js' ;
import VectorSource from 'ol/source/Vector.js' ;
import GeoJSON from 'ol/format/GeoJSON.js' ;
const layer = new VectorLayer ( {
source : new VectorSource ( {
format : new GeoJSON ( ) ,
url : 'data/states.geojson'
} )
} ) ;
fetch ( 'data/states.json' ) . then ( function ( response ) {
response . json ( ) . then ( function ( glStyle ) {
stylefunction ( layer , glStyle , 'states' ) ;
} ) ;
} ) ;
لاحظ أن واجهة برمجة التطبيقات منخفضة المستوى هذه لا تنشئ مصدرًا للطبقة ، وأن العمل الإضافي مطلوب لإعداد معالجة العفريت للأساليب التي تستخدم الرموز.
لا يمكن ol-mapbox-style
استخدام الرسوم المتحركة PBF/SDF لخاصية تصميم text-font
، كما هو محدد في مواصفات نمط Mapbox. بدلاً من ذلك ، يعتمد على خطوط الويب. A ol:webfonts
على جذر كائن النمط لتحديد موقع لـ WebFonts ، على سبيل المثال
{
"version" : 8 ,
"metadata" : {
"ol:webfonts" : "https://my.server/fonts/{font-family}/{fontweight}{-fontstyle}.css"
}
// ...
}
كبديل ، يمكن استخدام خيار webfonts
لوظائف apply()
أو applyStyle()
.
يمكن استخدام العناصر النائبة التالية في عنوان URL القالب:
{font-family}
: تم تحويل عائلة خط CSS إلى أحرف صغيرة ، تم استبدال الفراغات بـ-على سبيل المثال{Font+Family}
: عائلة Font CSS في الحالة الأصلية ، تم استبدال الفراغات بـ+، على سبيل المثال{fontweight}
: وزن الخط CSS (رقمي) ، على سبيل المثال ، 400 ، 700{fontstyle}
: نمط Font CSS ، على سبيل المثال ، عادي ، مائل{-fontstyle}
: نمط الخط CSS غير المعتاد ، على سبيل المثال ، السلسلة الفارغة أو الفارغة إذا لم تتوفر خاصية metadata['ol:webfonts']
على كائن النمط ، فسيتم استخدام خطوط FontSource. من الممكن أيضًا لتطبيق تحميل الخطوط الأخرى ، باستخدام CSS. إذا كان الخط متاحًا بالفعل في المتصفح ، فلن يقوم ol-mapbox-style
بتحميله.
بسبب هذا الاختلاف ، يتم التعامل مع مكدس الخط مختلف قليلاً عن المحدد في المواصفات: الأسلوب والوزن مأخوذ من الخط الأساسي (أي الأول في مكدس الخط). لا يتم استخدام الخطوط اللاحقة في مكدس الخط إلا إذا لم يكن الخط الأساسي متاحًا/تحميلًا ، وسيتم استخدامها بأسلوب ووزن الخط الأساسي.
npm run build
ستكون ملفات التوزيع الناتجة في المجلد dist/
المجلد. لمشاهدة المكتبة في العمل ، انتقل إلى dist/index.html
.
لتشغيل الاختبار محليًا ، قم بتشغيل
npm test
لاختبارات تصحيح الأخطاء في المتصفح ، قم بالتشغيل
npm run karma
وافتح متصفحًا على المضيف والمنفذ المشار إليه في إخراج وحدة التحكم (عادةً ما يكون http: // localhost: 9876/) انقر فوق زر "Debug" للانتقال إلى بيئة التصحيح.
ol-mapbox-style • docs
ol-mapbox-style • docs
الطبقات :
string
[]
طبقات. إذا لم يتم توفير أي مصدر ، فسيتم استخدام الطبقات مع المعرفات المقدمة من صفيف layers
النمط. تحتاج جميع الطبقات إلى استخدام نفس المصدر.
المصدر :
string
مصدر. الافتراضي هو ''
، والذي يتسبب في استخدام المصدر الأول في النمط.
التحديثات :
boolean
قم بتحديث أو إنشاء مصدر طبقة متجه (TILE) مع المعلمات المحددة للمصدر في تعريف نمط Mapbox.
ol-mapbox-style • docs
معرف :
string
|number
معرف الميزة.
المصدر :
string
معرف المصدر.
ol-mapbox-style • docs
AccessToken :
string
رمز الوصول لأسلوب mapbox الخاص بك. يجب توفير هذا لـ mapbox://
style url. بالنسبة إلى https://
وعنوان URL الأخرى ، يجب أن يكون أي مفتاح وصول المعلمة الاستعلام الأخيرة لعنوان URL النمط.
الخلفية :
false
|BackgroundColor
لون الخلفية للطبقة. إذا لم يتم تحديدها ، سيتم استخدام الخلفية من كائن نمط Mapbox. قم بتعيين false
لمنع استخدام خلفية نمط Mapbox.
ClassName :
string
اسم فئة CSS لتعيين عنصر الطبقة.
declutter :
boolean
صور مرفقة ونص. يتم تطبيق Deluttering على جميع أنماط الصور والنصوص لجميع طبقات المتجهات والطبقات Vectortile التي وضعت هذا على true
. يتم تعريف الأولوية من خلال مؤشر z للطبقة ، zIndex
من النمط وترتيب تقديم الميزات. ارتفاع z يعني المؤشر أعلى الأولوية. ضمن نفس المؤشر z ، فإن الميزة المقدمة قبل أخرى لها أولوية أعلى.
نظرًا لأن ميزات التحسين التي تم تحديدها من الطبقات ذات className
نفسه يتم تقديمها فوق أنماط التعبئة والسكتة الدماغية لجميع تلك الطبقات بغض النظر عن مؤشر z. للاضطراب من هذا السلوك ووضع ميزات delutterd مع طبقة خاصة بها ، قم بتكوين الطبقة مع اسم className
بخلاف ol-layer
.
المدى :
Extent
المدى المحدد لتقديم الطبقة. لن يتم تقديم الطبقة خارج هذا المدى.
الطبقات :
string
[]
الحد من تقديم إلى قائمة الطبقات المشمولة. يجب أن تشارك جميع الطبقات نفس مصدر المتجه. إذا كان أسلوبك يستخدم أكثر من مصدر ، فأنت بحاجة إلى استخدام خاصية source
أو خاصية layers
للحد من تقديم مصدر متجه واحد.
الخريطة :
Map
يضع الطبقة كتراكب على الخريطة. لن تدير الخريطة هذه الطبقة في مجموعة الطبقات الخاصة بها ، وسيتم تقديم الطبقة في الأعلى. هذا مفيد للطبقات المؤقتة. الطريقة القياسية لإضافة طبقة إلى خريطة وإدارتها بواسطة الخريطة هي استخدام map.addLayer()
.
MaxResolution :
number
أقصى دقة (حصرية) والتي ستكون هذه الطبقة مرئية أدناه. إذا لم يتم تعريف maxResolution
أو minZoom
، فسيتطابق maxResolution
للطبقة مع minzoom
لمصدر النمط.
Maxzoom :
number
الحد الأقصى لمستوى تكبير العرض (شامل) والتي ستكون فيها هذه الطبقة مرئية.
MinResolution :
number
الحد الأدنى دقة (شاملة) التي ستكون فيها هذه الطبقة مرئية.
Minzoom :
number
الحد الأدنى لمستوى تكبير العرض (حصري) الذي ستكون هذه الطبقة مرئية. إذا لم يتم تعريف maxResolution
أو minZoom
، فسوف يتطابق minZoom
للطبقة مع minzoom
لمصدر النمط.
العتامة :
number
عتامة (0 ، 1).
التحميل المسبق :
number
التحميل المسبق. تحميل البلاط منخفض الدقة تصل إلى مستويات preload
. 0
يعني عدم التحميل المسبق.
الخصائص :
object
خصائص يمكن ملاحظتها التعسفي. يمكن الوصول إليها مع #get()
و #set()
.
Renderbuffer :
number
المخزن المؤقت في وحدات البكسل حول مدى البلاط المستخدم من قبل العارض عند الحصول على ميزات من بلاط المتجه لتقديم أو اكتشاف. القيمة الموصى بها: عادة ما يتم إنشاء بلاط المتجه مع المخزن المؤقت ، لذلك يجب أن تتطابق هذه القيمة مع أكبر مخزن مؤقت ممكن من البلاط المستخدمة. يجب أن يكون على الأقل حجم أكبر رمز أو عرض خط.
Rendermode :
VectorTileRenderType
وضع وضع لبلاط المتجهات:
'hybrid'
: يتم تقديم عناصر المضلع والخط كصور ، بحيث يتم تحجيم وحدات البكسل خلال الرسوم المتحركة للتكبير. يتم تقديم رموز النقطة والنصوص بدقة كمتجهات ويمكن أن تظل منتصبة في وجهات النظر المدورة.'vector'
: يتم تقديم كل شيء كمتجهات. استخدم هذا الوضع لتحسين الأداء على طبقات البلاط المتجه مع عدد قليل من الميزات المقدمة (على سبيل المثال لتسليط الضوء على مجموعة فرعية من ميزات طبقة أخرى مع نفس المصدر). RenderOrder :
OrderFunction
تقديم ترتيب. وظيفة لاستخدامها عند فرز الميزات قبل التقديم. يتم رسم الميزات الافتراضية بالترتيب الذي تم إنشاؤه. استخدم null
لتجنب هذا النوع ، ولكن الحصول على ترتيب سحب غير محدد.
المصدر :
string
إذا كان أسلوبك يستخدم أكثر من مصدر ، فأنت بحاجة إلى استخدام خاصية source
أو خاصية layers
للحد من تقديم مصدر متجه واحد. تتوافق خاصية source
مع معرف مصدر المتجه في نمط MapBox الخاص بك.
styleurl :
string
عنوان URL لكائن نمط Mapbox لاستخدامه لهذه الطبقة. للحصول على نمط تم إنشاؤه باستخدام MapBox Studio واستضافته على MapBox ، سيبدو هذا مثل "MapBox: // Styles/You/Your Style".
updateWhileAnimating :
boolean
عند التعيين على true
، سيتم إعادة إنشاء دفعات الميزات أثناء الرسوم المتحركة. هذا يعني أنه لن يتم عرض أي متجهات مقطوعة ، لكن الإعداد سيكون له تأثير أداء لكميات كبيرة من بيانات المتجهات. عند ضبطها على false
، سيتم إعادة إنشاء دفعات عندما لا تكون الرسوم المتحركة نشطة.
update whileNtracting :
boolean
عند التعيين على true
، سيتم إعادة إنشاء دفعات الميزات أثناء التفاعلات. انظر أيضا updateWhileAnimating
.
useInterimtilesOnerror :
boolean
استخدام البلاط المؤقت على الخطأ.
مرئي :
boolean
الرؤية.
Zindex :
number
Z-index لتقديم الطبقة. في وقت العرض ، سيتم طلب الطبقات ، أولاً بواسطة z-index ثم عن طريق الموقف. عندما undefined
، يتم افتراض zIndex
من 0 للطبقات التي تتم إضافتها إلى مجموعة layers
الخريطة ، أو Infinity
عند استخدام طريقة setMap()
للطبقة.
ol-mapbox-style • docs
AccessToken :
string
الرمز المميز للوصول إلى "MapBox: //" عناوين URL.
AccessTokenParam :
string
الوصول إلى الرمز المميز. للاستخدام الداخلي.
getImage : (
arg0
،arg1
) =>string
|HTMLCanvasElement
|HTMLImageElement
الوظيفة التي تُرجع صورة لاسم أيقونة. إذا كانت النتيجة عبارة عن htmlimageElement ، فيجب تحميلها بالفعل. يمكن استخدام الطبقة لاستدعاء Layer.Changed () عند انتهاء تحميل ومعالجة الصورة. يتم استخدام هذه الوظيفة في الرموز وليس في العفريت أو لتجاوز أيقونات العفريت.
• Arg0 : VectorLayer
< VectorSource
any
، any
> | VectorTileLayer
< VectorTile
any
، any
>
• Arg1 : string
string
| HTMLCanvasElement
| HTMLImageElement
الإسقاط :
string
مفيد فقط عند العمل مع التوقعات غير القياسية. رمز الإسقاط المسجل لدى OpenLayers. يجب توفير جميع مصادر الأسلوب في هذا الإسقاط. يجب أن يكون للإسقاط أيضًا محددًا صحيحًا ، والذي سيتم استخدامه لتحديد أصل وقرارات شبكة البلاط لجميع مصادر البلاط للأسلوب. عند توفيره ، يتغير العنصر النائب Bbox في Tile و Geojson عناوين URL: الافتراضي هو {bbox-epsg-3857}
، عندما يتم تعيين الإسقاط على EPSG:4326
، سيكون صاحب Bbox {bbox-epsg-4326}
.
قرارات :
number
[]
مفيد فقط عند العمل مع التوقعات غير القياسية. قرارات لرسم الخرائط zoom
المستخدم في نمط Mapbox.
styleurl :
string
عنوان URL لنمط Mapbox GL. مطلوب للأنماط التي تم توفيرها ككائن ، عندما تحتوي على عنوان URL النسبي Sprite ، أو مصادر تشير إلى البيانات بواسطة عنوان URL النسبي.
TransformRequest : (
arg0
،arg1
) =>string
|void
|Request
|Promise
<string
|Request
>
وظيفة للتحكم في كيفية جلب موارد ol-mapbox-style
. يمكن استخدامها لتعديل عنوان URL ، وإضافة رؤوس أو تعيين خيارات بيانات الاعتماد. تم استدعاؤه مع عنوان URL ونوع المورد كوسائط ، من المفترض أن تقوم هذه الوظيفة بإرجاع Request
أو string
عناوين URL ، أو وعد. بدون قيمة الإرجاع ، لن يتم تعديل الطلب الأصلي.
• Arg0 : string
• Arg1 : ResourceType
string
| void
| Request
| Promise
< string
| Request
>
WebFonts :
string
قالب لحل WebFonts. يمكن استخدامها لتحديد مكان جلب خطوط الويب عندما لا يتم تعيين بيانات تعريف ol:webfonts
في كائن النمط. انظر getFonts()
وقسم "معالجة الخط" في README.md
للحصول على التفاصيل.
ol-mapbox-style • docs
ResourceType <>:
"Style"
|"Source"
|"Sprite"
|"SpriteImage"
|"Tiles"
|"GeoJSON"
ol-mapbox-style • docs
تنطبق إعادة تسمية وإعادة التصدير
ol-mapbox-style • docs
import { MapboxVectorLayer } from 'ol-mapbox-style' ;
طبقة بلاط المتجه تستند إلى نمط MapBox الذي يستخدم مصدر متجه واحد. قم بتكوين الطبقة باستخدام styleUrl
و accessToken
المعروضة في لوحة مشاركة MapBox Studio. إذا كان النمط يستخدم أكثر من مصدر ، فاستخدم الخاصية source
لاختيار مصدر متجه واحد. إذا كنت ترغب في تقديم مجموعة فرعية من الطبقات في النمط ، فاستخدم خاصية layers
(يجب أن تشارك جميع الطبقات نفس مصدر المتجه). انظر خيارات المنشئ لمزيد من التفاصيل.
const map = new Map({
view: new View({
center: [0, 0],
zoom: 1,
}),
layers: [
new MapboxVectorLayer({
styleUrl: 'mapbox://styles/mapbox/bright-v9',
accessToken: 'your-mapbox-access-token-here',
}),
],
target: 'map',
});
عند التكوين أو خطأ التحميل ، ستؤدي الطبقة إلى ظهور حدث 'error'
. سيتلقى المستمعون كائنًا يحتوي على خاصية error
يمكن استخدامها لتشخيص المشكلة.
ملاحظة لمستخدمي الإنشاء الكامل : يتطلب MapboxVectorLayer
تحميل مكتبة OL-Mapbox على طراز OL-Mapbox أيضًا.
خيارات.
الوحدة النمطية: OL/Events/Event ~ Baseevent#الحدث: خطأ
VectorTileLayer
جديد MapBoxVectorLayer (
options
):MapboxVectorLayer
• الخيارات : Options
خيارات الطبقة. على الأقل ، يجب توفير styleUrl
و accessToken
.
MapboxVectorLayer
VectorTileLayer.constructor
AccessToken :
string
ol-mapbox-style • docs
addmapboxlayer (
mapOrGroup
،mapboxLayer
،beforeLayerId
؟):Promise
void
إضافة كائن طبقة MapBox جديدة إلى النمط. سيتم إعادة تقديم الخريطة.
• maporgroup : Map
| LayerGroup
تم استدعاء الخريطة أو الطبقة apply
.
• MapBoxLayer : any
كائن طبقة Mapbox.
• beforelayerid؟ : string
معرف اختياري لطبقة MapBox قبل الطبقة الجديدة التي سيتم إضافتها.
Promise
void
يحل عندما تتوفر الطبقة المضافة.
ol-mapbox-style • docs
تطبيق (
mapOrGroupOrElement
،style
،options
):Promise
<Map
|LayerGroup
>
يقوم بتحميل وتطبيق كائن نمط Mapbox في خريطة أو طبقة OpenLayers. ويشمل ذلك خلفية الخريطة والطبقات ومحالات الخريطة التي لم يكن لها عرض محدد ولكنه أيضًا المركز والتكبير.
مثال:
import apply from 'ol-mapbox-style' ;
apply ( 'map' , 'mapbox://styles/mapbox/bright-v9' , { accessToken : 'YOUR_MAPBOX_TOKEN' } ) ;
سيتم تعيين المركز والتكبير فقط في حالة وجوده في مستند Mapbox Style ، وإذا لم يتم تعيينه بالفعل على خريطة OpenLayers.
سيتم إضافة الطبقات إلى خريطة OpenLayers ، دون التأثير على أي طبقات قد يتم تعيينها بالفعل على الخريطة.
سيكون للطبقات التي تمت إضافتها بواسطة apply()
خصائص إضافية:
mapbox-source
: id
مصدر مستند Mapbox Style الذي تم إنشاء طبقة OpenLayers منه. عادةً apply()
إنشاء طبقة OpenLayers واحدة لكل مصدر نمط Mapbox ، ما لم يكن لمكدس الطبقة طبقات من مصادر مختلفة بينهما.mapbox-layers
: id
طبقات مستند Mapbox Style التي يتم تضمينها في طبقة OpenLayers. تقوم هذه الوظيفة بتعيين خاصية إضافية على mapbox-style
على خريطة OpenLayers أو مثيل LayerGroup ، والذي يحمل كائن Mapbox Style.
• maporgrouporelement : string
| Map
| LayerGroup
| HTMLElement
إما مثيل خريطة OpenLayers موجودة ، أو عنصر HTML ، أو معرف عنصر HTML الذي سيكون هدفًا لخريطة OpenLayers جديدة ، أو مجموعة طبقة. إذا كانت مجموعة الطبقة ، فسيتم تجاهل الأنماط إلى الخريطة وسيتم تجاهل العرض.
• النمط : any
كائن نمط JSON أو عنوان URL النمط الذي يشير إلى كائن نمط Mapbox. عند استخدام MapBox APIs ، يكون عنوان URL هو styleUrl
الموضح في لوحة "Share" الخاصة بـ MapBox Studio. بالإضافة إلى ذلك ، يجب تعيين خيار accessToken
(انظر أدناه). عندما يتم تمريرها ككائن نمط JSON ، ستكون جميع طبقات OpenLayers التي تم إنشاؤها بواسطة apply()
متاحة على الفور ، ولكن قد لا يكون لها مصدر حتى الآن (أي عندما يتم تعريفها بواسطة عنوان URL Tilejson في مستند نمط Mapbox). عند تمريره كقوانين url النمط ، ستتم إضافة الطبقات إلى الخريطة عندما يتم تحميل مستند نمط Mapbox وتوحله.
• الخيارات : Options
= {}
خيارات.
Promise
< Map
| LayerGroup
>
الوعد الذي يحل بعد جميع الطبقات تمت إضافة إلى مثيل خريطة OpenLayers أو طبقة الطبقة ، ومصادرها ، وتطبيق أنماطها. سيتم استدعاء رد resolve
مع مثيل خريطة OpenLayers أو LayerGroup كوسيطة.
ol-mapbox-style • docs
ApplicBackground (
mapOrLayer
،glStyle
،options
):Promise
any
يطبق خصائص طبقة background
الأولى لنمط Mapbox على الخريطة أو الطبقة المقدمة (المجموعة).
مثال:
import { applyBackground } from 'ol-mapbox-style' ;
import { Map } from 'ol' ;
const map = new Map ( { target : 'map' } ) ;
applyBackground ( map , 'https://api.maptiler.com/maps/basic/style.json?key=YOUR_OPENMAPTILES_TOKEN' ) ;
• MaporLayer : Map
| BaseLayer
OpenLayers خريطة أو طبقة (مجموعة).
• glstyle : any
كائن نمط Mapbox أو عنوان URL.
• الخيارات : Options
= {}
خيارات.
Promise
any
وعد بأن يحل عند تطبيق الخلفية.
ol-mapbox-style • docs
ApplyStyle (
layer
،glStyle
،sourceOrLayersOrOptions
؟ ،optionsOrPath
؟ ،resolutions
؟):Promise
any
يطبق وظيفة النمط على ol/layer/VectorTile
أو ol/layer/Vector
مع ol/source/VectorTile
أو ol/source/Vector
. إذا لم يكن للطبقة مصدرًا حتى الآن ، فسيتم إنشاؤها وملفتها من المعلومات الموجودة في glStyle
(ما لم يتم ضبط updateSource
على false
).
مثال:
import { applyStyle } from 'ol-mapbox-style' ;
import { VectorTile } from 'ol/layer.js' ;
const layer = new VectorTile ( { declutter : true } ) ;
applyStyle ( layer , 'https://api.maptiler.com/maps/basic/style.json?key=YOUR_OPENMAPTILES_TOKEN' ) ;
ستقوم وظيفة النمط بتقديم جميع الطبقات من كائن glStyle
الذي يستخدم مصدر الطبقة الأولى أو source
المحدد أو مجموعة فرعية من الطبقات من نفس المصدر. يجب أن يكون المصدر "type": "vector"
أو "type": "geojson"
مصدر.
سيتم تعيين اثنين من الخصائص الإضافية على الطبقة المقدمة:
mapbox-source
: id
مصدر مستند Mapbox Style الذي تم إنشاء طبقة OpenLayers منه. عادةً apply()
إنشاء طبقة OpenLayers واحدة لكل مصدر نمط Mapbox ، ما لم يكن لمكدس الطبقة طبقات من مصادر مختلفة بينهما.mapbox-layers
: id
طبقات مستند Mapbox Style التي يتم تضمينها في طبقة OpenLayers. • الطبقة : VectorLayer
< VectorSource
any
، any
> | VectorTileLayer
< VectorTile
any
، any
>
طبقة OpenLayers. عندما يكون للطبقة تكوين مصدر ، سيتم تعديلها لاستخدام التكوين من source
Glstyle. ستتجاوز الخيارات المحددة على مصدر الطبقة تلك الموجودة في source
GLSTYLE ، باستثناء url
و tileUrlFunction
. عندما يكون الإسقاط المصدر هو الافتراضي ( EPSG:3857
) ، سيتم أيضًا تجاوز tileGrid
. إذا كنت تفضل عدم تعديل المصدر على طراز OL-Mapbox ، فقم بتكوين applyStyle()
مع خيار updateSource: false
.
• glstyle : any
كائن نمط Mapbox.
• SourceOrlayersoroptions؟ : string
| string
[] | Options
و ApplyStyleOptions
= ''
الخيارات أو المفتاح source
أو مجموعة من id
الطبقة من كائن نمط Mapbox. عند توفير مفتاح source
، سيتم تضمين جميع طبقات المصدر المحدد في وظيفة النمط. عند توفير id
الطبقة ، يجب أن تكون من طبقات تستخدم نفس المصدر. عندما لا يتم توفيرها أو قيمة خاطئة ، سيتم تقديم جميع الطبقات التي تستخدم المصدر الأول المحدد في glstyle.
• Optionsorpath؟ : string
| Options
و ApplyStyleOptions
= {}
تم إهماله . خيارات. بدلاً من ذلك ، مسار ملف النمط (مطلوب فقط عند استخدام مسار نسبي لخاصية "sprite"
للنمط).
• قرارات؟ : number
[] = undefined
تم إهماله . قرارات لرسم الخرائط الدقة إلى مستوى التكبير. لا يلزم إلا عند العمل مع شبكات البلاط غير القياسية أو التوقعات ، يمكن أيضًا تزويدها بالخيارات.
Promise
any
الوعد الذي سيتم حله عندما يمكن استخدام النمط لتقديمه.
ol-mapbox-style • docs
getFeatuRestate (
mapOrLayer
،feature
):any
يضبط أو يزيل حالة ميزة. يتم أخذ حالة الميزة في الاعتبار للتصميم ، تمامًا مثل خصائص الميزة ، ويمكن استخدامها على سبيل المثال لتقديم ميزات محددة بشكل مختلف.
• MaporLayer : Map
| VectorLayer
< VectorSource
any
، any
> | VectorTileLayer
< VectorTile
any
، any
>
خريطة أو طبقة لتعيين حالة الميزة على.
• الميزة : FeatureIdentifier
معرف الميزة.
any
حالة الميزة أو null
عندما لا يتم تعيين حالة ميزة لمعرف الميزة المحددة.
ol-mapbox-style • docs
getLayer (
map
،layerId
):Layer
<Source
،LayerRenderer
<any
>>
احصل على مثيل طبقة OpenLayers التي تحتوي على layer
نمط Mapbox المقدمة. لاحظ أنه يتم دمج طبقات نمط MapBox المتعددة في مثيل طبقة OpenLayers واحدة عندما تستخدم نفس source
نمط Mapbox.
• الخريطة : Map
| LayerGroup
خريطة OpenLayers أو طبقة.
• طبقة : string
معرف طبقة نمط Mapbox.
Layer
< Source
، LayerRenderer
< any
>>
OpenLayers طبقة مثيل.
ol-mapbox-style • docs
GetLayers (
map
،sourceId
):Layer
<Source
،LayerRenderer
<any
>> []
احصل على مثيلات طبقة OpenLayers source
نمط MapBox المقدم.
• الخريطة : Map
| LayerGroup
خريطة OpenLayers أو طبقة.
• المصدر : string
معرف مصدر نمط Mapbox.
Layer
< Source
، LayerRenderer
< any
>> []
مثيلات طبقة OpenLayers.
ol-mapbox-style • docs
getMapBoxLayer (
mapOrGroup
،layerId
):any
احصل على كائن طبقة MapBox layerId
المقدمة.
• maporgroup : Map
| LayerGroup
خريطة أو طبقة.
• طبقة : string
معرف طبقة Mapbox.
any
كائن طبقة Mapbox.
ol-mapbox-style • docs
GetSource (
map
،sourceId
):Source
احصل على مثيل مصدر OpenLayers source
نمط MapBox المقدم.
• الخريطة : Map
| LayerGroup
خريطة OpenLayers أو طبقة.
• المصدر : string
معرف مصدر نمط Mapbox.
Source
OpenLayers مصدر المصدر.
ol-mapbox-style • docs
getStyleForLayer (
feature
،resolution
،olLayer
،layerId
):Style
[]
احصل على النمط لطبقة MapBox محددة فقط. هذا يمكن أن يكون مفيدًا لإنشاء أسطورة.
• الميزة : RenderFeature
| Feature
< Geometry
>
ميزة OpenLayers.
• القرار : number
عرض القرار.
• Ollayer : VectorLayer
< VectorSource
any
، any
> | VectorTileLayer
< VectorTile
any
، any
>
طبقة OpenLayers.
• طبقة : string
معرف طبقة MapBox للحصول على النمط
Style
[]
أنماط لطبقة mapbox المقدمة.
ol-mapbox-style • docs
recordstyleLayer (
record
):void
يتحول تسجيل layer
Mapbox Style وإيقاف تشغيله. عند تشغيله ، سيتم تعيين الطبقة التي تنتمي إليها الميزة المقدمة كعلامة mapbox-layer
الخاصة بالميزة.
• السجل : boolean
= false
تسجيل طبقة النمط قيد التشغيل.
void
ol-mapbox-style • docs
removemapboxlayer (
mapOrGroup
،mapboxLayerIdOrLayer
):void
قم بإزالة كائن طبقة MapBox من النمط. سيتم إعادة تقديم الخريطة.
• maporgroup : Map
| LayerGroup
تم استدعاء الخريطة أو الطبقة apply
.
• mapboxlayeridorlayer : any
معرف طبقة MAPBOX أو كائن طبقة MAPBOX.
void
ol-mapbox-style • docs
RenderTransparent (
enabled
):void
تكوين ما إذا كان ينبغي تقديم الميزات بأسلوب شفاف. عندما يتم ضبطه على true
، سيكون من الممكن ضرب محتوى اكتشاف غير مرئي ، مثل الحشوات الشفافة من المضلعات ، باستخدام ol/layer/Layer#getFeatures()
أو ol/Map#getFeaturesAtPixel()
• تمكين : boolean
يتم تمكين تقديم عناصر شفافة. الافتراضي false
.
void
ol-mapbox-style • docs
setFeatuRestate (
mapOrLayer
،feature
،state
):void
يضبط أو يزيل حالة ميزة. يتم أخذ حالة الميزة في الاعتبار للتصميم ، تمامًا مثل خصائص الميزة ، ويمكن استخدامها على سبيل المثال لتقديم ميزات محددة بشكل مختلف.
سيتم تخزين حالة الميزة على طبقة OpenLayers التي تطابق معرف الميزات ، في خاصية mapbox-featurestate
.
• MaporLayer : Map
| VectorLayer
< VectorSource
any
، any
> | VectorTileLayer
< VectorTile
any
، any
>
OpenLayers خريطة أو طبقة لتعيين حالة الميزة على.
• الميزة : FeatureIdentifier
معرف الميزة.
• الدولة : any
ميزة الحالة. ضبط على null
لإزالة حالة الميزة.
void
ol-mapbox-style • docs
stylefunction (
olLayer
،glStyle
،sourceOrLayers
،resolutions
،spriteData
،spriteImageUrl
،getFonts
،getImage
؟ ، ...args
؟):StyleFunction
ينشئ وظيفة نمط من كائن glStyle
لجميع الطبقات التي تستخدم source
المحدد ، والتي يجب أن تكون "type": "vector"
أو "type": "geojson"
المصدر وتطبقه على طبقة OpenLayers المحددة.
سيتم تعيين اثنين من الخصائص الإضافية على الطبقة المقدمة:
mapbox-source
: id
مصدر مستند Mapbox Style الذي تم إنشاء طبقة OpenLayers منه. عادةً apply()
إنشاء طبقة OpenLayers واحدة لكل مصدر نمط Mapbox ، ما لم يكن لمكدس الطبقة طبقات من مصادر مختلفة بينهما.mapbox-layers
: id
طبقات مستند Mapbox Style التي يتم تضمينها في طبقة OpenLayers.تعمل هذه الوظيفة أيضًا في عامل ويب. في وضع العامل ، يحتاج مؤشر الترابط الرئيسي إلى الاستماع إلى الرسائل من العامل والرد برسالة أخرى للتأكد من أن تحميل صورة العفريت يعمل:
worker . addEventListener ( 'message' , event => {
if ( event . data . action === 'loadImage' ) {
const image = new Image ( ) ;
image . crossOrigin = 'anonymous' ;
image . addEventListener ( 'load' , function ( ) {
createImageBitmap ( image , 0 , 0 , image . width , image . height ) . then ( imageBitmap => {
worker . postMessage ( {
action : 'imageLoaded' ,
image : imageBitmap ,
src : event . data . src
} , [ imageBitmap ] ) ;
} ) ;
} ) ;
image . src = event . data . src ;
}
} ) ;
• Ollayer : VectorLayer
< VectorSource
any
، any
> | VectorTileLayer
< VectorTile
any
، any
>
طبقة OpenLayers لتطبيق النمط على. بالإضافة إلى النمط ، ستحصل الطبقة على خصائصين: ستكون mapbox-source
هي id
مصدر glStyle
المستخدم للطبقة ، وستكون mapbox-layers
بمثابة مجموعة من id
طبقات glStyle
.
• glstyle : any
كائن نمط Mapbox.
• SourceOrlayers : string
| string
[]
مفتاح source
أو مجموعة من id
الطبقة من كائن نمط Mapbox. عند توفير مفتاح source
، سيتم تضمين جميع طبقات المصدر المحدد في وظيفة النمط. عند توفير id
الطبقة ، يجب أن تكون من طبقات تستخدم نفس المصدر.
• قرارات : number
[] = defaultResolutions
قرارات لرسم الخرائط الدقة إلى مستوى التكبير.
• spritedata : any
= undefined
Sprite من عنوان URL المحدد في خاصية sprite
لكائن MapBox Style. مطلوب فقط إذا تم تحديد خاصية sprite
في كائن نمط Mapbox.
• SpriteImageurl : string
| Request
| Promise
< string
| Request
> = undefined
عنوان URL صورة Sprite لـ Sprite المحددة في خاصية sprite
لكائن Mapbox Style. مطلوب فقط إذا تم تحديد خاصية sprite
في كائن نمط Mapbox.
• getFonts = undefined
الوظيفة التي تتلقى مكدس الخط وقالب URL من خاصية metadata['ol:webfonts']
(إذا تم تعيينها) كوسائط ، وإرجاع مكدس خط (معدّل) متاح. أسماء الخطوط هي الأسماء المستخدمة في كائن نمط Mapbox. إذا لم يتم توفيرها ، فسيتم استخدام مكدس الخط كما هو. يمكن أيضًا استخدام هذه الوظيفة لتحميل خطوط الويب.
• getImage؟ = undefined
الوظيفة التي تُرجع صورة أو عنوان URL لاسم صورة. إذا كانت النتيجة عبارة عن htmlimageElement ، فيجب تحميلها بالفعل. يمكن استخدام الطبقة لاستدعاء Layer.Changed () عند انتهاء تحميل ومعالجة الصورة. يمكن استخدام هذه الوظيفة في الرموز غير في العفريت أو لتجاوز أيقونات العفريت.
• ... args؟ : any
StyleFunction
وظيفة نمط للاستخدام في ol.layer.Vector
أو ol.layer.VectorTile
.
ol-mapbox-style • docs
updatemapboxlayer (
mapOrGroup
،mapboxLayer
):void
قم بتحديث كائن طبقة MapBox في النمط. سيتم إعادة تقديم الخريطة مع الأسلوب الجديد.
• maporgroup : Map
| LayerGroup
تم استدعاء الخريطة أو الطبقة apply
.
• MapBoxLayer : any
تحديث كائن طبقة MapBox.
void
ol-mapbox-style • docs
updateMapboxSource (
mapOrGroup
،id
،mapboxSource
):Promise
Source
يقوم بتحديث كائن مصدر MapBox في النمط. سيتم استبدال مصدر OpenLayers وفقًا لإعادة تقديم الخريطة.
• maporgroup : Map
| LayerGroup
تم استدعاء الخريطة أو الطبقة apply
.
• معرف : string
مفتاح المصدر في sources
كائن حرفي.
• MapBoxSource : any
كائن مصدر MAPBOX.
Promise
Source
وعد بأن يحل عند تحديث المصدر.