mahal_map 2.0.3 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1745 -1586
- package/dist/index.d.mts +145 -2
- package/dist/index.d.ts +145 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +6 -6
- package/dist/index.mjs.map +1 -0
- package/dist/mahal_map.sdk.js +1 -1
- package/package.json +73 -73
package/dist/index.d.mts
CHANGED
|
@@ -23,7 +23,7 @@ interface IAdditionalParamType {
|
|
|
23
23
|
/**
|
|
24
24
|
* Поверхность @grammaps/maps3d-web, описанная локально. Пакет в зависимости не ставится —
|
|
25
25
|
* он приходит снаружи, как и maplibre-gl, поэтому импортировать его типы нельзя. Здесь
|
|
26
|
-
* повторена публичная часть .d.ts версии 0.
|
|
26
|
+
* повторена публичная часть .d.ts версии 0.10.0; всё необязательное помечено `?`, чтобы
|
|
27
27
|
* более старая сборка на странице не ломала типы у потребителя.
|
|
28
28
|
*/
|
|
29
29
|
type Maps3DThemeName = "light" | "dark" | "navigator-light" | "navigator-dark" | "mobile-light" | "mobile-dark";
|
|
@@ -91,6 +91,12 @@ interface IMaps3DLayerState {
|
|
|
91
91
|
available: boolean;
|
|
92
92
|
/** Что нарисовано прямо сейчас. Именно это поле показывает, включён слой на деле или нет. */
|
|
93
93
|
active: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Факт со стороны карты: слой есть в стиле и не погашен. Появилось в 0.8.0.
|
|
96
|
+
* `active !== rendered` — расхождение внутреннего признака SDK с картой.
|
|
97
|
+
* У слоя, который не умеет ответить фактом, повторяет `active`; у сборок до 0.8.0 — undefined.
|
|
98
|
+
*/
|
|
99
|
+
rendered?: boolean;
|
|
94
100
|
/** Параметры слоя: у зданий — detail, у этажей — level, у рельефа — mode. */
|
|
95
101
|
params: Record<string, unknown>;
|
|
96
102
|
}
|
|
@@ -101,6 +107,15 @@ interface IMaps3DSelectionStyle {
|
|
|
101
107
|
durationMs?: number;
|
|
102
108
|
easing?: "ease-out" | "linear";
|
|
103
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Облик наведения. Появился в 0.8.0: до него подсветить дом под курсором можно было,
|
|
112
|
+
* только заняв единственный слот выделения. Теперь слот свой, и выбор всегда главнее —
|
|
113
|
+
* на выбранном доме наведение не рисуется.
|
|
114
|
+
*/
|
|
115
|
+
interface IMaps3DHoverStyle extends IMaps3DSelectionStyle {
|
|
116
|
+
/** CSS-курсор над зданием. По умолчанию "pointer"; `null` — не трогать курсор вовсе. */
|
|
117
|
+
cursor?: string | null;
|
|
118
|
+
}
|
|
104
119
|
interface IMaps3DRoadHit {
|
|
105
120
|
name: string;
|
|
106
121
|
nameRu?: string;
|
|
@@ -109,6 +124,41 @@ interface IMaps3DRoadHit {
|
|
|
109
124
|
props: Record<string, unknown>;
|
|
110
125
|
distancePx: number;
|
|
111
126
|
}
|
|
127
|
+
/** Платность парковки: по ней участок и покрашен. */
|
|
128
|
+
type Maps3DParkingSubtype = "paid" | "free" | "unknown";
|
|
129
|
+
/**
|
|
130
|
+
* Справка о площадной парковке — ровно то, что есть в тайле. Отсутствующий атрибут — `null`.
|
|
131
|
+
* Графика работы и названия здесь нет: в слое `landuse` их не бывает.
|
|
132
|
+
*/
|
|
133
|
+
interface IMaps3DParkingInfo {
|
|
134
|
+
/** `osm_id` участка — он же идентификатор для hoverParking(). */
|
|
135
|
+
id: number | string;
|
|
136
|
+
/** `unknown` значит «не указано», а не «бесплатно». */
|
|
137
|
+
subtype: Maps3DParkingSubtype;
|
|
138
|
+
/** Исходное `fee` из тайла (`yes`/`no`). */
|
|
139
|
+
fee: string | null;
|
|
140
|
+
/** Кому можно: `yes`, `private`, `customers`, `residents`, `permissive`, `no`… */
|
|
141
|
+
access: string | null;
|
|
142
|
+
/** OSM `parking=*`: `surface`, `multi-storey`, `underground`, `rooftop`… */
|
|
143
|
+
kind: string | null;
|
|
144
|
+
/** Число мест. */
|
|
145
|
+
capacity: number | null;
|
|
146
|
+
/** Все свойства фичи как есть. */
|
|
147
|
+
props: Record<string, unknown>;
|
|
148
|
+
}
|
|
149
|
+
/** Облик парковки под курсором. Не заданные цвета остаются цветами подтипа. */
|
|
150
|
+
interface IMaps3DParkingHoverStyle {
|
|
151
|
+
/** Цвет заливки. Не задан — цвет подтипа. */
|
|
152
|
+
color?: string | null;
|
|
153
|
+
/** Непрозрачность заливки. По умолчанию 0.55. */
|
|
154
|
+
opacity?: number;
|
|
155
|
+
/** Цвет канта. Не задан — кант подтипа. */
|
|
156
|
+
outlineColor?: string | null;
|
|
157
|
+
/** Во сколько раз толще кант. По умолчанию 2.2. */
|
|
158
|
+
outlineWidth?: number;
|
|
159
|
+
/** CSS-курсор над парковкой. По умолчанию `pointer`; `null` — не трогать. */
|
|
160
|
+
cursor?: string | null;
|
|
161
|
+
}
|
|
112
162
|
interface IMaps3DTrafficOptions {
|
|
113
163
|
raster?: boolean;
|
|
114
164
|
rasterMaxZoom?: number;
|
|
@@ -130,6 +180,11 @@ interface IMaps3DClosuresOptions {
|
|
|
130
180
|
}
|
|
131
181
|
interface IMaps3DPlacesOptions {
|
|
132
182
|
highlight?: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Непрозрачность заливки парковок в режиме выделения. Не задана — кривая по зуму;
|
|
185
|
+
* заданная перебивает её постоянным значением на всех зумах. С 0.10.0.
|
|
186
|
+
*/
|
|
187
|
+
fillOpacity?: number;
|
|
133
188
|
paid?: boolean;
|
|
134
189
|
free?: boolean;
|
|
135
190
|
unknown?: boolean;
|
|
@@ -213,12 +268,29 @@ interface IMaps3DLayer {
|
|
|
213
268
|
clearSelection?(): void;
|
|
214
269
|
selectedBuilding?(): number | string | null;
|
|
215
270
|
setSelectionStyle?(style: IMaps3DSelectionStyle): void;
|
|
271
|
+
onBuildingHover?(callback: ((info: IMaps3DBuildingClickInfo | null) => void) | null): void;
|
|
272
|
+
setHoverEnabled?(enabled: boolean): void;
|
|
273
|
+
readonly hoverEnabled?: boolean;
|
|
274
|
+
setHoverStyle?(style: IMaps3DHoverStyle): void;
|
|
275
|
+
hoverBuilding?(id: number | string | null): boolean;
|
|
276
|
+
hoveredBuilding?(): number | string | null;
|
|
216
277
|
onRoadClick?(callback: (hit: IMaps3DRoadHit | null) => void): void;
|
|
217
278
|
roadAt?(point: {
|
|
218
279
|
x: number;
|
|
219
280
|
y: number;
|
|
220
281
|
}, tolerancePx?: number): IMaps3DRoadHit | null;
|
|
221
282
|
readonly roadsNamed?: boolean;
|
|
283
|
+
parkingAt?(point: {
|
|
284
|
+
x: number;
|
|
285
|
+
y: number;
|
|
286
|
+
}, tolerancePx?: number): IMaps3DParkingInfo | null;
|
|
287
|
+
onParkingHover?(callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
288
|
+
setParkingHoverStyle?(style: IMaps3DParkingHoverStyle): void;
|
|
289
|
+
setParkingHoverEnabled?(enabled: boolean): void;
|
|
290
|
+
readonly parkingHoverEnabled?: boolean;
|
|
291
|
+
hoverParking?(id: number | string | null): boolean;
|
|
292
|
+
hoveredParking?(): number | string | null;
|
|
293
|
+
onParkingClick?(callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
222
294
|
traffic?: boolean;
|
|
223
295
|
trafficRaster?: boolean;
|
|
224
296
|
setTraffic?(enabled: boolean): void;
|
|
@@ -468,6 +540,9 @@ declare class MahalMap {
|
|
|
468
540
|
private pendingRoadClick?;
|
|
469
541
|
private pendingSelectionStyle?;
|
|
470
542
|
private pendingLayerSubscribers;
|
|
543
|
+
private pendingBuildingHover?;
|
|
544
|
+
private pendingHoverStyle?;
|
|
545
|
+
private pendingHoverEnabled?;
|
|
471
546
|
private constructor();
|
|
472
547
|
private static getInstanceKey;
|
|
473
548
|
private static normalizeLanguage;
|
|
@@ -540,6 +615,21 @@ declare class MahalMap {
|
|
|
540
615
|
x: number;
|
|
541
616
|
y: number;
|
|
542
617
|
}, tolerancePx?: number): IMaps3DRoadHit | null;
|
|
618
|
+
static onParkingHover(instance: MahalMap, callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
619
|
+
static setParkingHoverStyle(instance: MahalMap, style: IMaps3DParkingHoverStyle): void;
|
|
620
|
+
static setParkingHoverEnabled(instance: MahalMap, enabled: boolean): void;
|
|
621
|
+
static hoverParking(instance: MahalMap, id: number | string | null): boolean;
|
|
622
|
+
static hoveredParking(instance: MahalMap): string | number | null;
|
|
623
|
+
static onParkingClick(instance: MahalMap, callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
624
|
+
static parkingAt(instance: MahalMap, point: {
|
|
625
|
+
x: number;
|
|
626
|
+
y: number;
|
|
627
|
+
}, tolerancePx?: number): IMaps3DParkingInfo | null;
|
|
628
|
+
static onBuildingHover(instance: MahalMap, callback: ((info: IMaps3DBuildingClickInfo | null) => void) | null): void;
|
|
629
|
+
static setHoverEnabled(instance: MahalMap, enabled: boolean): void;
|
|
630
|
+
static setHoverStyle(instance: MahalMap, style: IMaps3DHoverStyle): void;
|
|
631
|
+
static hoverBuilding(instance: MahalMap, id: number | string | null): boolean;
|
|
632
|
+
static hoveredBuilding(instance: MahalMap): string | number | null;
|
|
543
633
|
static setLanguage(instance: MahalMap, lang: MapLanguage): void;
|
|
544
634
|
static setCenter(instance: MahalMap, center: [number, number]): void;
|
|
545
635
|
static setZoom(instance: MahalMap, zoom: number): void;
|
|
@@ -641,6 +731,59 @@ declare class MahalMap {
|
|
|
641
731
|
}, tolerancePx?: number): IMaps3DRoadHit | null;
|
|
642
732
|
/** Есть ли в текущем стиле названия дорог. Нет — roadAt() всегда вернёт null. */
|
|
643
733
|
get roadsNamed(): boolean;
|
|
734
|
+
/**
|
|
735
|
+
* Участок под курсором либо null. Зовётся ТОЛЬКО при смене участка, не на каждое
|
|
736
|
+
* движение мыши. `null` вместо колбэка — отписаться и погасить подсветку.
|
|
737
|
+
*/
|
|
738
|
+
onParkingHover(callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
739
|
+
/** Облик подсветки: color, opacity, outlineColor, outlineWidth, cursor. */
|
|
740
|
+
setParkingHoverStyle(style: IMaps3DParkingHoverStyle): void;
|
|
741
|
+
/** Вкл/выкл наведение, не теряя подписку. */
|
|
742
|
+
setParkingHoverEnabled(enabled: boolean): void;
|
|
743
|
+
/** Включено ли наведение на парковки. */
|
|
744
|
+
get parkingHoverEnabled(): boolean;
|
|
745
|
+
/** Подсветить участок программно (например, со строки списка). `null` — погасить. */
|
|
746
|
+
hoverParking(id: number | string | null): boolean;
|
|
747
|
+
/** `osm_id` подсвеченного участка или null. */
|
|
748
|
+
hoveredParking(): number | string | null;
|
|
749
|
+
/** Клик по участку: справка либо null. `null` вместо колбэка — отписаться. */
|
|
750
|
+
onParkingClick(callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
751
|
+
/**
|
|
752
|
+
* Парковка под точкой холста (`e.point` события карты). Попадание — по границе полигона;
|
|
753
|
+
* допуск по умолчанию 0 — строго внутрь участка.
|
|
754
|
+
*/
|
|
755
|
+
parkingAt(point: {
|
|
756
|
+
x: number;
|
|
757
|
+
y: number;
|
|
758
|
+
}, tolerancePx?: number): IMaps3DParkingInfo | null;
|
|
759
|
+
/**
|
|
760
|
+
* Подписаться на наведение. Колбэк приходит только в момент смены дома под курсором,
|
|
761
|
+
* а не на каждое движение мыши. `null` отписывает и гасит подсветку.
|
|
762
|
+
*
|
|
763
|
+
* Слежение за мышью включается самой подпиской: без неё SDK курсор не трогает и
|
|
764
|
+
* разбор сцены не делает.
|
|
765
|
+
*/
|
|
766
|
+
onBuildingHover(callback: ((info: IMaps3DBuildingClickInfo | null) => void) | null): void;
|
|
767
|
+
/**
|
|
768
|
+
* Включить/выключить наведение, не трогая подписку. Нужно там, где подсветка мешает:
|
|
769
|
+
* режим рисования, открытая карточка объекта, тач-устройство без курсора.
|
|
770
|
+
*/
|
|
771
|
+
setHoverEnabled(enabled: boolean): void;
|
|
772
|
+
/** Включено ли наведение прямо сейчас. */
|
|
773
|
+
get hoverEnabled(): boolean;
|
|
774
|
+
/** Облик наведения: цвет, плотность, свечение, длительность и CSS-курсор. */
|
|
775
|
+
setHoverStyle(style: IMaps3DHoverStyle): void;
|
|
776
|
+
/**
|
|
777
|
+
* Навести на здание программно — например, когда курсор стоит на строке списка.
|
|
778
|
+
* Идентификатор тот же, что у selectBuilding. `null` снимает наведение.
|
|
779
|
+
*
|
|
780
|
+
* Следующее движение мыши по карте перебивает программное наведение.
|
|
781
|
+
*
|
|
782
|
+
* @returns `false`, если такого дома сейчас на карте нет.
|
|
783
|
+
*/
|
|
784
|
+
hoverBuilding(id: number | string | null): boolean;
|
|
785
|
+
/** Идентификатор дома под наведением или `null`. */
|
|
786
|
+
hoveredBuilding(): number | string | null;
|
|
644
787
|
/**
|
|
645
788
|
* Создаёт слой Maps3D. `buildings` не форсируем в `true`: с 0.7.x видимостью объёма
|
|
646
789
|
* заведует реестр слоёв, а опции облика зданий приходят из options.maps3d как есть.
|
|
@@ -959,4 +1102,4 @@ declare namespace index {
|
|
|
959
1102
|
export { index_checkCoordinates as checkCoordinates, index_debounce as debounce, index_geojsonPolyline as geojsonPolyline, index_geometryPolyline as geometryPolyline, index_trimValue as trimValue };
|
|
960
1103
|
}
|
|
961
1104
|
|
|
962
|
-
export { CheckJSApi, type IAdditionalParamType, type ICheckJSApiParam, type ICheckJSApiResponse, type IMahalMapOptions, type IMapMarker, type IMaps3DBuildingClickInfo, type IMaps3DBuildingsController, type IMaps3DBuildingsOptions, type IMaps3DClosuresOptions, type IMaps3DDiagnostics, type IMaps3DIndoorOptions, type IMaps3DLayer, type IMaps3DLayerOptions, type IMaps3DLayerParams, type IMaps3DLayerState, type IMaps3DMapOptionsInput, type IMaps3DMapOptionsResult, type IMaps3DObjectsLightOptions, type IMaps3DPlacesOptions, type IMaps3DRoadHit, type IMaps3DSelectionStyle, type IMaps3DTrafficOptions, type IMaps3DTransformRequestOptions, type IResponse, type IRoute, type ISearchByLocationParam, type ISearchParam, type ISearchResponse, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, type MapEngine, type MapLanguage, type MapStyleFamily, type Maps3DBuildingDetail, type Maps3DCtor, type Maps3DLayerId, type Maps3DTerrainMode, type Maps3DThemeName, type Maps3DTransformRequest, type MeasureIcons, type MeasureLabels, type MeasureMode, type MeasurePoint, type MeasureShape, type MeasureState, type MeasureStyleOptions, MeasureTool, type MeasureToolOptions, Router, Search, SearchByLocation, SearchPoi, type Theme, index$2 as keyUtils, index$1 as measureUtils, index as utils };
|
|
1105
|
+
export { CheckJSApi, type IAdditionalParamType, type ICheckJSApiParam, type ICheckJSApiResponse, type IMahalMapOptions, type IMapMarker, type IMaps3DBuildingClickInfo, type IMaps3DBuildingsController, type IMaps3DBuildingsOptions, type IMaps3DClosuresOptions, type IMaps3DDiagnostics, type IMaps3DHoverStyle, type IMaps3DIndoorOptions, type IMaps3DLayer, type IMaps3DLayerOptions, type IMaps3DLayerParams, type IMaps3DLayerState, type IMaps3DMapOptionsInput, type IMaps3DMapOptionsResult, type IMaps3DObjectsLightOptions, type IMaps3DParkingHoverStyle, type IMaps3DParkingInfo, type IMaps3DPlacesOptions, type IMaps3DRoadHit, type IMaps3DSelectionStyle, type IMaps3DTrafficOptions, type IMaps3DTransformRequestOptions, type IResponse, type IRoute, type ISearchByLocationParam, type ISearchParam, type ISearchResponse, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, type MapEngine, type MapLanguage, type MapStyleFamily, type Maps3DBuildingDetail, type Maps3DCtor, type Maps3DLayerId, type Maps3DParkingSubtype, type Maps3DTerrainMode, type Maps3DThemeName, type Maps3DTransformRequest, type MeasureIcons, type MeasureLabels, type MeasureMode, type MeasurePoint, type MeasureShape, type MeasureState, type MeasureStyleOptions, MeasureTool, type MeasureToolOptions, Router, Search, SearchByLocation, SearchPoi, type Theme, index$2 as keyUtils, index$1 as measureUtils, index as utils };
|
package/dist/index.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ interface IAdditionalParamType {
|
|
|
23
23
|
/**
|
|
24
24
|
* Поверхность @grammaps/maps3d-web, описанная локально. Пакет в зависимости не ставится —
|
|
25
25
|
* он приходит снаружи, как и maplibre-gl, поэтому импортировать его типы нельзя. Здесь
|
|
26
|
-
* повторена публичная часть .d.ts версии 0.
|
|
26
|
+
* повторена публичная часть .d.ts версии 0.10.0; всё необязательное помечено `?`, чтобы
|
|
27
27
|
* более старая сборка на странице не ломала типы у потребителя.
|
|
28
28
|
*/
|
|
29
29
|
type Maps3DThemeName = "light" | "dark" | "navigator-light" | "navigator-dark" | "mobile-light" | "mobile-dark";
|
|
@@ -91,6 +91,12 @@ interface IMaps3DLayerState {
|
|
|
91
91
|
available: boolean;
|
|
92
92
|
/** Что нарисовано прямо сейчас. Именно это поле показывает, включён слой на деле или нет. */
|
|
93
93
|
active: boolean;
|
|
94
|
+
/**
|
|
95
|
+
* Факт со стороны карты: слой есть в стиле и не погашен. Появилось в 0.8.0.
|
|
96
|
+
* `active !== rendered` — расхождение внутреннего признака SDK с картой.
|
|
97
|
+
* У слоя, который не умеет ответить фактом, повторяет `active`; у сборок до 0.8.0 — undefined.
|
|
98
|
+
*/
|
|
99
|
+
rendered?: boolean;
|
|
94
100
|
/** Параметры слоя: у зданий — detail, у этажей — level, у рельефа — mode. */
|
|
95
101
|
params: Record<string, unknown>;
|
|
96
102
|
}
|
|
@@ -101,6 +107,15 @@ interface IMaps3DSelectionStyle {
|
|
|
101
107
|
durationMs?: number;
|
|
102
108
|
easing?: "ease-out" | "linear";
|
|
103
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Облик наведения. Появился в 0.8.0: до него подсветить дом под курсором можно было,
|
|
112
|
+
* только заняв единственный слот выделения. Теперь слот свой, и выбор всегда главнее —
|
|
113
|
+
* на выбранном доме наведение не рисуется.
|
|
114
|
+
*/
|
|
115
|
+
interface IMaps3DHoverStyle extends IMaps3DSelectionStyle {
|
|
116
|
+
/** CSS-курсор над зданием. По умолчанию "pointer"; `null` — не трогать курсор вовсе. */
|
|
117
|
+
cursor?: string | null;
|
|
118
|
+
}
|
|
104
119
|
interface IMaps3DRoadHit {
|
|
105
120
|
name: string;
|
|
106
121
|
nameRu?: string;
|
|
@@ -109,6 +124,41 @@ interface IMaps3DRoadHit {
|
|
|
109
124
|
props: Record<string, unknown>;
|
|
110
125
|
distancePx: number;
|
|
111
126
|
}
|
|
127
|
+
/** Платность парковки: по ней участок и покрашен. */
|
|
128
|
+
type Maps3DParkingSubtype = "paid" | "free" | "unknown";
|
|
129
|
+
/**
|
|
130
|
+
* Справка о площадной парковке — ровно то, что есть в тайле. Отсутствующий атрибут — `null`.
|
|
131
|
+
* Графика работы и названия здесь нет: в слое `landuse` их не бывает.
|
|
132
|
+
*/
|
|
133
|
+
interface IMaps3DParkingInfo {
|
|
134
|
+
/** `osm_id` участка — он же идентификатор для hoverParking(). */
|
|
135
|
+
id: number | string;
|
|
136
|
+
/** `unknown` значит «не указано», а не «бесплатно». */
|
|
137
|
+
subtype: Maps3DParkingSubtype;
|
|
138
|
+
/** Исходное `fee` из тайла (`yes`/`no`). */
|
|
139
|
+
fee: string | null;
|
|
140
|
+
/** Кому можно: `yes`, `private`, `customers`, `residents`, `permissive`, `no`… */
|
|
141
|
+
access: string | null;
|
|
142
|
+
/** OSM `parking=*`: `surface`, `multi-storey`, `underground`, `rooftop`… */
|
|
143
|
+
kind: string | null;
|
|
144
|
+
/** Число мест. */
|
|
145
|
+
capacity: number | null;
|
|
146
|
+
/** Все свойства фичи как есть. */
|
|
147
|
+
props: Record<string, unknown>;
|
|
148
|
+
}
|
|
149
|
+
/** Облик парковки под курсором. Не заданные цвета остаются цветами подтипа. */
|
|
150
|
+
interface IMaps3DParkingHoverStyle {
|
|
151
|
+
/** Цвет заливки. Не задан — цвет подтипа. */
|
|
152
|
+
color?: string | null;
|
|
153
|
+
/** Непрозрачность заливки. По умолчанию 0.55. */
|
|
154
|
+
opacity?: number;
|
|
155
|
+
/** Цвет канта. Не задан — кант подтипа. */
|
|
156
|
+
outlineColor?: string | null;
|
|
157
|
+
/** Во сколько раз толще кант. По умолчанию 2.2. */
|
|
158
|
+
outlineWidth?: number;
|
|
159
|
+
/** CSS-курсор над парковкой. По умолчанию `pointer`; `null` — не трогать. */
|
|
160
|
+
cursor?: string | null;
|
|
161
|
+
}
|
|
112
162
|
interface IMaps3DTrafficOptions {
|
|
113
163
|
raster?: boolean;
|
|
114
164
|
rasterMaxZoom?: number;
|
|
@@ -130,6 +180,11 @@ interface IMaps3DClosuresOptions {
|
|
|
130
180
|
}
|
|
131
181
|
interface IMaps3DPlacesOptions {
|
|
132
182
|
highlight?: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Непрозрачность заливки парковок в режиме выделения. Не задана — кривая по зуму;
|
|
185
|
+
* заданная перебивает её постоянным значением на всех зумах. С 0.10.0.
|
|
186
|
+
*/
|
|
187
|
+
fillOpacity?: number;
|
|
133
188
|
paid?: boolean;
|
|
134
189
|
free?: boolean;
|
|
135
190
|
unknown?: boolean;
|
|
@@ -213,12 +268,29 @@ interface IMaps3DLayer {
|
|
|
213
268
|
clearSelection?(): void;
|
|
214
269
|
selectedBuilding?(): number | string | null;
|
|
215
270
|
setSelectionStyle?(style: IMaps3DSelectionStyle): void;
|
|
271
|
+
onBuildingHover?(callback: ((info: IMaps3DBuildingClickInfo | null) => void) | null): void;
|
|
272
|
+
setHoverEnabled?(enabled: boolean): void;
|
|
273
|
+
readonly hoverEnabled?: boolean;
|
|
274
|
+
setHoverStyle?(style: IMaps3DHoverStyle): void;
|
|
275
|
+
hoverBuilding?(id: number | string | null): boolean;
|
|
276
|
+
hoveredBuilding?(): number | string | null;
|
|
216
277
|
onRoadClick?(callback: (hit: IMaps3DRoadHit | null) => void): void;
|
|
217
278
|
roadAt?(point: {
|
|
218
279
|
x: number;
|
|
219
280
|
y: number;
|
|
220
281
|
}, tolerancePx?: number): IMaps3DRoadHit | null;
|
|
221
282
|
readonly roadsNamed?: boolean;
|
|
283
|
+
parkingAt?(point: {
|
|
284
|
+
x: number;
|
|
285
|
+
y: number;
|
|
286
|
+
}, tolerancePx?: number): IMaps3DParkingInfo | null;
|
|
287
|
+
onParkingHover?(callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
288
|
+
setParkingHoverStyle?(style: IMaps3DParkingHoverStyle): void;
|
|
289
|
+
setParkingHoverEnabled?(enabled: boolean): void;
|
|
290
|
+
readonly parkingHoverEnabled?: boolean;
|
|
291
|
+
hoverParking?(id: number | string | null): boolean;
|
|
292
|
+
hoveredParking?(): number | string | null;
|
|
293
|
+
onParkingClick?(callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
222
294
|
traffic?: boolean;
|
|
223
295
|
trafficRaster?: boolean;
|
|
224
296
|
setTraffic?(enabled: boolean): void;
|
|
@@ -468,6 +540,9 @@ declare class MahalMap {
|
|
|
468
540
|
private pendingRoadClick?;
|
|
469
541
|
private pendingSelectionStyle?;
|
|
470
542
|
private pendingLayerSubscribers;
|
|
543
|
+
private pendingBuildingHover?;
|
|
544
|
+
private pendingHoverStyle?;
|
|
545
|
+
private pendingHoverEnabled?;
|
|
471
546
|
private constructor();
|
|
472
547
|
private static getInstanceKey;
|
|
473
548
|
private static normalizeLanguage;
|
|
@@ -540,6 +615,21 @@ declare class MahalMap {
|
|
|
540
615
|
x: number;
|
|
541
616
|
y: number;
|
|
542
617
|
}, tolerancePx?: number): IMaps3DRoadHit | null;
|
|
618
|
+
static onParkingHover(instance: MahalMap, callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
619
|
+
static setParkingHoverStyle(instance: MahalMap, style: IMaps3DParkingHoverStyle): void;
|
|
620
|
+
static setParkingHoverEnabled(instance: MahalMap, enabled: boolean): void;
|
|
621
|
+
static hoverParking(instance: MahalMap, id: number | string | null): boolean;
|
|
622
|
+
static hoveredParking(instance: MahalMap): string | number | null;
|
|
623
|
+
static onParkingClick(instance: MahalMap, callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
624
|
+
static parkingAt(instance: MahalMap, point: {
|
|
625
|
+
x: number;
|
|
626
|
+
y: number;
|
|
627
|
+
}, tolerancePx?: number): IMaps3DParkingInfo | null;
|
|
628
|
+
static onBuildingHover(instance: MahalMap, callback: ((info: IMaps3DBuildingClickInfo | null) => void) | null): void;
|
|
629
|
+
static setHoverEnabled(instance: MahalMap, enabled: boolean): void;
|
|
630
|
+
static setHoverStyle(instance: MahalMap, style: IMaps3DHoverStyle): void;
|
|
631
|
+
static hoverBuilding(instance: MahalMap, id: number | string | null): boolean;
|
|
632
|
+
static hoveredBuilding(instance: MahalMap): string | number | null;
|
|
543
633
|
static setLanguage(instance: MahalMap, lang: MapLanguage): void;
|
|
544
634
|
static setCenter(instance: MahalMap, center: [number, number]): void;
|
|
545
635
|
static setZoom(instance: MahalMap, zoom: number): void;
|
|
@@ -641,6 +731,59 @@ declare class MahalMap {
|
|
|
641
731
|
}, tolerancePx?: number): IMaps3DRoadHit | null;
|
|
642
732
|
/** Есть ли в текущем стиле названия дорог. Нет — roadAt() всегда вернёт null. */
|
|
643
733
|
get roadsNamed(): boolean;
|
|
734
|
+
/**
|
|
735
|
+
* Участок под курсором либо null. Зовётся ТОЛЬКО при смене участка, не на каждое
|
|
736
|
+
* движение мыши. `null` вместо колбэка — отписаться и погасить подсветку.
|
|
737
|
+
*/
|
|
738
|
+
onParkingHover(callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
739
|
+
/** Облик подсветки: color, opacity, outlineColor, outlineWidth, cursor. */
|
|
740
|
+
setParkingHoverStyle(style: IMaps3DParkingHoverStyle): void;
|
|
741
|
+
/** Вкл/выкл наведение, не теряя подписку. */
|
|
742
|
+
setParkingHoverEnabled(enabled: boolean): void;
|
|
743
|
+
/** Включено ли наведение на парковки. */
|
|
744
|
+
get parkingHoverEnabled(): boolean;
|
|
745
|
+
/** Подсветить участок программно (например, со строки списка). `null` — погасить. */
|
|
746
|
+
hoverParking(id: number | string | null): boolean;
|
|
747
|
+
/** `osm_id` подсвеченного участка или null. */
|
|
748
|
+
hoveredParking(): number | string | null;
|
|
749
|
+
/** Клик по участку: справка либо null. `null` вместо колбэка — отписаться. */
|
|
750
|
+
onParkingClick(callback: ((info: IMaps3DParkingInfo | null) => void) | null): void;
|
|
751
|
+
/**
|
|
752
|
+
* Парковка под точкой холста (`e.point` события карты). Попадание — по границе полигона;
|
|
753
|
+
* допуск по умолчанию 0 — строго внутрь участка.
|
|
754
|
+
*/
|
|
755
|
+
parkingAt(point: {
|
|
756
|
+
x: number;
|
|
757
|
+
y: number;
|
|
758
|
+
}, tolerancePx?: number): IMaps3DParkingInfo | null;
|
|
759
|
+
/**
|
|
760
|
+
* Подписаться на наведение. Колбэк приходит только в момент смены дома под курсором,
|
|
761
|
+
* а не на каждое движение мыши. `null` отписывает и гасит подсветку.
|
|
762
|
+
*
|
|
763
|
+
* Слежение за мышью включается самой подпиской: без неё SDK курсор не трогает и
|
|
764
|
+
* разбор сцены не делает.
|
|
765
|
+
*/
|
|
766
|
+
onBuildingHover(callback: ((info: IMaps3DBuildingClickInfo | null) => void) | null): void;
|
|
767
|
+
/**
|
|
768
|
+
* Включить/выключить наведение, не трогая подписку. Нужно там, где подсветка мешает:
|
|
769
|
+
* режим рисования, открытая карточка объекта, тач-устройство без курсора.
|
|
770
|
+
*/
|
|
771
|
+
setHoverEnabled(enabled: boolean): void;
|
|
772
|
+
/** Включено ли наведение прямо сейчас. */
|
|
773
|
+
get hoverEnabled(): boolean;
|
|
774
|
+
/** Облик наведения: цвет, плотность, свечение, длительность и CSS-курсор. */
|
|
775
|
+
setHoverStyle(style: IMaps3DHoverStyle): void;
|
|
776
|
+
/**
|
|
777
|
+
* Навести на здание программно — например, когда курсор стоит на строке списка.
|
|
778
|
+
* Идентификатор тот же, что у selectBuilding. `null` снимает наведение.
|
|
779
|
+
*
|
|
780
|
+
* Следующее движение мыши по карте перебивает программное наведение.
|
|
781
|
+
*
|
|
782
|
+
* @returns `false`, если такого дома сейчас на карте нет.
|
|
783
|
+
*/
|
|
784
|
+
hoverBuilding(id: number | string | null): boolean;
|
|
785
|
+
/** Идентификатор дома под наведением или `null`. */
|
|
786
|
+
hoveredBuilding(): number | string | null;
|
|
644
787
|
/**
|
|
645
788
|
* Создаёт слой Maps3D. `buildings` не форсируем в `true`: с 0.7.x видимостью объёма
|
|
646
789
|
* заведует реестр слоёв, а опции облика зданий приходят из options.maps3d как есть.
|
|
@@ -959,4 +1102,4 @@ declare namespace index {
|
|
|
959
1102
|
export { index_checkCoordinates as checkCoordinates, index_debounce as debounce, index_geojsonPolyline as geojsonPolyline, index_geometryPolyline as geometryPolyline, index_trimValue as trimValue };
|
|
960
1103
|
}
|
|
961
1104
|
|
|
962
|
-
export { CheckJSApi, type IAdditionalParamType, type ICheckJSApiParam, type ICheckJSApiResponse, type IMahalMapOptions, type IMapMarker, type IMaps3DBuildingClickInfo, type IMaps3DBuildingsController, type IMaps3DBuildingsOptions, type IMaps3DClosuresOptions, type IMaps3DDiagnostics, type IMaps3DIndoorOptions, type IMaps3DLayer, type IMaps3DLayerOptions, type IMaps3DLayerParams, type IMaps3DLayerState, type IMaps3DMapOptionsInput, type IMaps3DMapOptionsResult, type IMaps3DObjectsLightOptions, type IMaps3DPlacesOptions, type IMaps3DRoadHit, type IMaps3DSelectionStyle, type IMaps3DTrafficOptions, type IMaps3DTransformRequestOptions, type IResponse, type IRoute, type ISearchByLocationParam, type ISearchParam, type ISearchResponse, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, type MapEngine, type MapLanguage, type MapStyleFamily, type Maps3DBuildingDetail, type Maps3DCtor, type Maps3DLayerId, type Maps3DTerrainMode, type Maps3DThemeName, type Maps3DTransformRequest, type MeasureIcons, type MeasureLabels, type MeasureMode, type MeasurePoint, type MeasureShape, type MeasureState, type MeasureStyleOptions, MeasureTool, type MeasureToolOptions, Router, Search, SearchByLocation, SearchPoi, type Theme, index$2 as keyUtils, index$1 as measureUtils, index as utils };
|
|
1105
|
+
export { CheckJSApi, type IAdditionalParamType, type ICheckJSApiParam, type ICheckJSApiResponse, type IMahalMapOptions, type IMapMarker, type IMaps3DBuildingClickInfo, type IMaps3DBuildingsController, type IMaps3DBuildingsOptions, type IMaps3DClosuresOptions, type IMaps3DDiagnostics, type IMaps3DHoverStyle, type IMaps3DIndoorOptions, type IMaps3DLayer, type IMaps3DLayerOptions, type IMaps3DLayerParams, type IMaps3DLayerState, type IMaps3DMapOptionsInput, type IMaps3DMapOptionsResult, type IMaps3DObjectsLightOptions, type IMaps3DParkingHoverStyle, type IMaps3DParkingInfo, type IMaps3DPlacesOptions, type IMaps3DRoadHit, type IMaps3DSelectionStyle, type IMaps3DTrafficOptions, type IMaps3DTransformRequestOptions, type IResponse, type IRoute, type ISearchByLocationParam, type ISearchParam, type ISearchResponse, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, type MapEngine, type MapLanguage, type MapStyleFamily, type Maps3DBuildingDetail, type Maps3DCtor, type Maps3DLayerId, type Maps3DParkingSubtype, type Maps3DTerrainMode, type Maps3DThemeName, type Maps3DTransformRequest, type MeasureIcons, type MeasureLabels, type MeasureMode, type MeasurePoint, type MeasureShape, type MeasureState, type MeasureStyleOptions, MeasureTool, type MeasureToolOptions, Router, Search, SearchByLocation, SearchPoi, type Theme, index$2 as keyUtils, index$1 as measureUtils, index as utils };
|