From a690b1d150fa491daa79b968aae7e7d529b494eb Mon Sep 17 00:00:00 2001 From: TerminalTim Date: Thu, 28 Mar 2024 18:08:40 +0000 Subject: [PATCH] deploy: 8ea733573ca29069a93196e21a707c44fcdeb1e4 --- .nojekyll | 0 docs/assets/css/main.css | 1 + docs/assets/images/icons.png | Bin 0 -> 9615 bytes docs/assets/images/icons@2x.png | Bin 0 -> 28144 bytes docs/assets/images/widgets.png | Bin 0 -> 480 bytes docs/assets/images/widgets@2x.png | Bin 0 -> 855 bytes docs/assets/js/main.js | 51 + docs/assets/js/search.json | 1 + docs/classes/core.customlayer.html | 464 + .../classes/core.editablefeatureprovider.html | 2061 + .../core.editableremotetileprovider.html | 2879 + docs/classes/core.feature.html | 385 + docs/classes/core.featureprovider.html | 1407 + docs/classes/core.geocoder.html | 477 + docs/classes/core.geojsonprovider.html | 3277 + docs/classes/core.geopoint.html | 275 + docs/classes/core.georect.html | 300 + docs/classes/core.httpprovider.html | 3266 + docs/classes/core.imageprovider.html | 717 + docs/classes/core.imlprovider.html | 3472 + docs/classes/core.layer.html | 283 + docs/classes/core.localprovider.html | 2066 + docs/classes/core.mvtlayer.html | 1654 + docs/classes/core.pixelpoint.html | 251 + docs/classes/core.pixelrect.html | 299 + docs/classes/core.remotetileprovider.html | 1467 + docs/classes/core.spaceprovider.html | 3454 + docs/classes/core.tile.html | 417 + docs/classes/core.tilelayer.html | 1628 + docs/classes/core.tileprovider.html | 654 + docs/classes/display.map.html | 1890 + docs/classes/display.mapevent.html | 323 + docs/classes/editor.address.html | 1035 + docs/classes/editor.area.html | 1065 + docs/classes/editor.areashape.html | 550 + docs/classes/editor.crossing.html | 523 + docs/classes/editor.drawingboard.html | 701 + docs/classes/editor.drawingshape.html | 545 + docs/classes/editor.editor-1.html | 2114 + docs/classes/editor.editorevent.html | 428 + docs/classes/editor.feature.html | 872 + docs/classes/editor.line.html | 995 + docs/classes/editor.lineshape.html | 809 + docs/classes/editor.marker.html | 1006 + docs/classes/editor.navlink.html | 1438 + docs/classes/editor.navlinkshape.html | 909 + docs/classes/editor.place.html | 1082 + docs/classes/editor.rangeselector.html | 381 + docs/globals.html | 138 + docs/index.html | 198 + docs/interfaces/core.boxstyle.html | 552 + docs/interfaces/core.circlestyle.html | 630 + .../core.editablefeatureprovideroptions.html | 336 + ...ore.editableremotetileprovideroptions.html | 548 + docs/interfaces/core.geocoderoptions.html | 245 + docs/interfaces/core.geojsonfeature.html | 319 + .../core.geojsonfeaturecollection.html | 203 + docs/interfaces/core.heatmapstyle.html | 340 + docs/interfaces/core.httpprovideroptions.html | 685 + .../interfaces/core.imageprovideroptions.html | 363 + docs/interfaces/core.imagestyle.html | 667 + docs/interfaces/core.imlprovideroptions.html | 815 + docs/interfaces/core.layerstyle.html | 282 + docs/interfaces/core.lineargradient.html | 228 + docs/interfaces/core.linestyle.html | 524 + .../interfaces/core.localprovideroptions.html | 334 + docs/interfaces/core.material.html | 418 + docs/interfaces/core.modeldata.html | 252 + docs/interfaces/core.modelgeometry.html | 251 + docs/interfaces/core.modelstyle.html | 347 + docs/interfaces/core.mvtlayeroptions.html | 417 + docs/interfaces/core.polygonstyle.html | 553 + .../core.remotetileprovideroptions.html | 441 + .../interfaces/core.spaceprovideroptions.html | 794 + docs/interfaces/core.spherestyle.html | 434 + docs/interfaces/core.style.html | 1212 + docs/interfaces/core.textstyle.html | 770 + docs/interfaces/core.tilelayeroptions.html | 317 + docs/interfaces/core.tileprovideroptions.html | 230 + docs/interfaces/core.verticallinestyle.html | 302 + docs/interfaces/display.mapoptions.html | 570 + .../editor.editorfeatureproperties.html | 349 + docs/interfaces/editor.editoroptions.html | 596 + docs/interfaces/editor.featurecontainer.html | 525 + docs/interfaces/editor.featureproperties.html | 277 + docs/interfaces/editor.range.html | 602 + .../editor.turnrestrictioneditor.html | 321 + docs/modules/core.html | 700 + docs/modules/display.html | 238 + docs/modules/editor.html | 624 + playground/assets/icon/favicon.png | Bin 0 -> 1971 bytes playground/assets/icon/logo.svg | 13 + .../examples/display/add_remove_layer.html | 39 + .../examples/display/add_remove_layer.ts | 88 + playground/examples/display/animate_road.html | 20 + playground/examples/display/animate_road.ts | 67 + playground/examples/display/behavior_set.html | 51 + playground/examples/display/behavior_set.ts | 80 + .../click_feature_show_properties.html | 30 + .../display/click_feature_show_properties.ts | 66 + .../display/click_feature_to_center_map.html | 31 + .../display/click_feature_to_center_map.ts | 76 + .../display/click_highlight_line.html | 20 + .../examples/display/click_highlight_line.ts | 66 + playground/examples/display/custom_layer.html | 23 + playground/examples/display/custom_layer.ts | 230 + playground/examples/display/hello_world.html | 20 + playground/examples/display/hello_world.ts | 24 + .../display/hover_hightlight_line.html | 20 + .../examples/display/hover_hightlight_line.ts | 71 + .../examples/display/mapview_listener.html | 30 + .../examples/display/mapview_listener.ts | 44 + playground/examples/display/observer.html | 30 + playground/examples/display/observer.ts | 35 + .../examples/display/pitch_rotate_map.html | 20 + .../examples/display/pitch_rotate_map.ts | 129 + .../examples/display/pointer_listener.html | 30 + .../examples/display/pointer_listener.ts | 71 + .../display/switch_layers_display_order.html | 47 + .../display/switch_layers_display_order.ts | 98 + .../examples/display/take_a_screenshot.html | 55 + .../examples/display/take_a_screenshot.ts | 37 + .../display/visualize_space_layer.html | 20 + .../examples/display/visualize_space_layer.ts | 42 + .../examples/editor/add_contextmenu.html | 39 + playground/examples/editor/add_contextmenu.ts | 197 + .../editor/add_remove_object_layer.html | 47 + .../editor/add_remove_object_layer.ts | 193 + playground/examples/editor/add_road.html | 47 + playground/examples/editor/add_road.ts | 80 + .../examples/editor/change_road_name.html | 39 + .../examples/editor/change_road_name.ts | 214 + .../examples/editor/create_address.html | 47 + playground/examples/editor/create_address.ts | 228 + .../examples/editor/create_navlink.html | 47 + playground/examples/editor/create_navlink.ts | 174 + playground/examples/editor/create_place.html | 47 + playground/examples/editor/create_place.ts | 228 + .../examples/editor/crossing_detect.html | 38 + playground/examples/editor/crossing_detect.ts | 194 + .../examples/editor/custom_provider.html | 20 + playground/examples/editor/custom_provider.ts | 162 + .../editor/drag_place_to_building.html | 21 + .../examples/editor/drag_place_to_building.ts | 92 + playground/examples/editor/edit_building.html | 21 + playground/examples/editor/edit_building.ts | 80 + playground/examples/editor/edit_line_3d.html | 47 + playground/examples/editor/edit_line_3d.ts | 88 + playground/examples/editor/edit_point_3d.html | 47 + playground/examples/editor/edit_point_3d.ts | 125 + playground/examples/editor/hello_world.html | 20 + playground/examples/editor/hello_world.ts | 43 + .../hover_highlight_connected_navlink.html | 21 + .../hover_highlight_connected_navlink.ts | 119 + .../editor/observe_change_history.html | 52 + .../examples/editor/observe_change_history.ts | 71 + .../examples/editor/pointer_listener.html | 30 + .../examples/editor/pointer_listener.ts | 199 + .../examples/editor/range_selector.html | 48 + playground/examples/editor/range_selector.ts | 181 + playground/examples/editor/select_shapes.html | 31 + playground/examples/editor/select_shapes.ts | 112 + .../editor/select_specific_navlink.html | 22 + .../editor/select_specific_navlink.ts | 161 + .../examples/editor/transform_road.html | 47 + playground/examples/editor/transform_road.ts | 55 + .../editor/turn_restriction_editor.html | 31 + .../editor/turn_restriction_editor.ts | 167 + playground/examples/examples.json | 248 + playground/examples/layer/3d_buildings.html | 20 + playground/examples/layer/3d_buildings.ts | 58 + playground/examples/layer/3d_lines.html | 20 + playground/examples/layer/3d_lines.ts | 216 + playground/examples/layer/3d_points.html | 20 + playground/examples/layer/3d_points.ts | 91 + playground/examples/layer/Heatmap.html | 20 + playground/examples/layer/Heatmap.ts | 101 + playground/examples/layer/MVTLayer.html | 20 + playground/examples/layer/MVTLayer.ts | 62 + .../layer/add_remove_building_feature.html | 37 + .../layer/add_remove_building_feature.ts | 78 + .../examples/layer/add_remove_line.html | 37 + playground/examples/layer/add_remove_line.ts | 118 + .../examples/layer/add_remove_point.html | 37 + playground/examples/layer/add_remove_point.ts | 234 + .../examples/layer/collision_detection.html | 20 + .../examples/layer/collision_detection.ts | 87 + playground/examples/layer/custom_style.html | 20 + playground/examples/layer/custom_style.ts | 81 + .../layer/label_collision_detection.html | 20 + .../layer/label_collision_detection.ts | 117 + playground/examples/layer/offset_line.html | 20 + playground/examples/layer/offset_line.ts | 56 + playground/examples/layer/preprocessor.html | 20 + playground/examples/layer/preprocessor.ts | 64 + .../layer/remote_search_boundingbox.html | 41 + .../layer/remote_search_boundingbox.ts | 89 + .../examples/layer/search_boundingbox.html | 31 + .../examples/layer/search_boundingbox.ts | 67 + playground/examples/layer/search_id.html | 20 + playground/examples/layer/search_id.ts | 72 + .../examples/layer/set_layer_color.html | 48 + playground/examples/layer/set_layer_color.ts | 75 + .../examples/layer/settag_space_provider.html | 22 + .../examples/layer/settag_space_provider.ts | 50 + .../examples/layer/style_drawingorder.html | 20 + .../examples/layer/style_drawingorder.ts | 96 + playground/examples/layer/style_navlink.html | 37 + playground/examples/layer/style_navlink.ts | 56 + .../examples/layer/style_zoomrange.html | 21 + playground/examples/layer/style_zoomrange.ts | 59 + .../examples/layer/visualize_sat_image.html | 20 + .../examples/layer/visualize_sat_image.ts | 32 + playground/index.html | 17 + playground/index.js | 22 + playground/index.js.map | 1 + playground/typescriptServices.js | 168724 +++++++++++++++ xyz-maps-common.esm.min.js | 5 + xyz-maps-common.min.js | 5 + xyz-maps-core.d.ts | 5494 + xyz-maps-core.min.js | 55 + xyz-maps-display.d.ts | 741 + xyz-maps-display.esm.min.js | 5 + xyz-maps-display.min.js | 5 + xyz-maps-editor.d.ts | 2168 + xyz-maps-editor.esm.min.js | 21 + xyz-maps-editor.min.js | 21 + 227 files changed, 252576 insertions(+) create mode 100644 .nojekyll create mode 100644 docs/assets/css/main.css create mode 100644 docs/assets/images/icons.png create mode 100644 docs/assets/images/icons@2x.png create mode 100644 docs/assets/images/widgets.png create mode 100644 docs/assets/images/widgets@2x.png create mode 100644 docs/assets/js/main.js create mode 100644 docs/assets/js/search.json create mode 100644 docs/classes/core.customlayer.html create mode 100644 docs/classes/core.editablefeatureprovider.html create mode 100644 docs/classes/core.editableremotetileprovider.html create mode 100644 docs/classes/core.feature.html create mode 100644 docs/classes/core.featureprovider.html create mode 100644 docs/classes/core.geocoder.html create mode 100644 docs/classes/core.geojsonprovider.html create mode 100644 docs/classes/core.geopoint.html create mode 100644 docs/classes/core.georect.html create mode 100644 docs/classes/core.httpprovider.html create mode 100644 docs/classes/core.imageprovider.html create mode 100644 docs/classes/core.imlprovider.html create mode 100644 docs/classes/core.layer.html create mode 100644 docs/classes/core.localprovider.html create mode 100644 docs/classes/core.mvtlayer.html create mode 100644 docs/classes/core.pixelpoint.html create mode 100644 docs/classes/core.pixelrect.html create mode 100644 docs/classes/core.remotetileprovider.html create mode 100644 docs/classes/core.spaceprovider.html create mode 100644 docs/classes/core.tile.html create mode 100644 docs/classes/core.tilelayer.html create mode 100644 docs/classes/core.tileprovider.html create mode 100644 docs/classes/display.map.html create mode 100644 docs/classes/display.mapevent.html create mode 100644 docs/classes/editor.address.html create mode 100644 docs/classes/editor.area.html create mode 100644 docs/classes/editor.areashape.html create mode 100644 docs/classes/editor.crossing.html create mode 100644 docs/classes/editor.drawingboard.html create mode 100644 docs/classes/editor.drawingshape.html create mode 100644 docs/classes/editor.editor-1.html create mode 100644 docs/classes/editor.editorevent.html create mode 100644 docs/classes/editor.feature.html create mode 100644 docs/classes/editor.line.html create mode 100644 docs/classes/editor.lineshape.html create mode 100644 docs/classes/editor.marker.html create mode 100644 docs/classes/editor.navlink.html create mode 100644 docs/classes/editor.navlinkshape.html create mode 100644 docs/classes/editor.place.html create mode 100644 docs/classes/editor.rangeselector.html create mode 100644 docs/globals.html create mode 100644 docs/index.html create mode 100644 docs/interfaces/core.boxstyle.html create mode 100644 docs/interfaces/core.circlestyle.html create mode 100644 docs/interfaces/core.editablefeatureprovideroptions.html create mode 100644 docs/interfaces/core.editableremotetileprovideroptions.html create mode 100644 docs/interfaces/core.geocoderoptions.html create mode 100644 docs/interfaces/core.geojsonfeature.html create mode 100644 docs/interfaces/core.geojsonfeaturecollection.html create mode 100644 docs/interfaces/core.heatmapstyle.html create mode 100644 docs/interfaces/core.httpprovideroptions.html create mode 100644 docs/interfaces/core.imageprovideroptions.html create mode 100644 docs/interfaces/core.imagestyle.html create mode 100644 docs/interfaces/core.imlprovideroptions.html create mode 100644 docs/interfaces/core.layerstyle.html create mode 100644 docs/interfaces/core.lineargradient.html create mode 100644 docs/interfaces/core.linestyle.html create mode 100644 docs/interfaces/core.localprovideroptions.html create mode 100644 docs/interfaces/core.material.html create mode 100644 docs/interfaces/core.modeldata.html create mode 100644 docs/interfaces/core.modelgeometry.html create mode 100644 docs/interfaces/core.modelstyle.html create mode 100644 docs/interfaces/core.mvtlayeroptions.html create mode 100644 docs/interfaces/core.polygonstyle.html create mode 100644 docs/interfaces/core.remotetileprovideroptions.html create mode 100644 docs/interfaces/core.spaceprovideroptions.html create mode 100644 docs/interfaces/core.spherestyle.html create mode 100644 docs/interfaces/core.style.html create mode 100644 docs/interfaces/core.textstyle.html create mode 100644 docs/interfaces/core.tilelayeroptions.html create mode 100644 docs/interfaces/core.tileprovideroptions.html create mode 100644 docs/interfaces/core.verticallinestyle.html create mode 100644 docs/interfaces/display.mapoptions.html create mode 100644 docs/interfaces/editor.editorfeatureproperties.html create mode 100644 docs/interfaces/editor.editoroptions.html create mode 100644 docs/interfaces/editor.featurecontainer.html create mode 100644 docs/interfaces/editor.featureproperties.html create mode 100644 docs/interfaces/editor.range.html create mode 100644 docs/interfaces/editor.turnrestrictioneditor.html create mode 100644 docs/modules/core.html create mode 100644 docs/modules/display.html create mode 100644 docs/modules/editor.html create mode 100644 playground/assets/icon/favicon.png create mode 100644 playground/assets/icon/logo.svg create mode 100644 playground/examples/display/add_remove_layer.html create mode 100644 playground/examples/display/add_remove_layer.ts create mode 100644 playground/examples/display/animate_road.html create mode 100644 playground/examples/display/animate_road.ts create mode 100644 playground/examples/display/behavior_set.html create mode 100644 playground/examples/display/behavior_set.ts create mode 100644 playground/examples/display/click_feature_show_properties.html create mode 100644 playground/examples/display/click_feature_show_properties.ts create mode 100644 playground/examples/display/click_feature_to_center_map.html create mode 100644 playground/examples/display/click_feature_to_center_map.ts create mode 100644 playground/examples/display/click_highlight_line.html create mode 100644 playground/examples/display/click_highlight_line.ts create mode 100644 playground/examples/display/custom_layer.html create mode 100644 playground/examples/display/custom_layer.ts create mode 100644 playground/examples/display/hello_world.html create mode 100644 playground/examples/display/hello_world.ts create mode 100644 playground/examples/display/hover_hightlight_line.html create mode 100644 playground/examples/display/hover_hightlight_line.ts create mode 100644 playground/examples/display/mapview_listener.html create mode 100644 playground/examples/display/mapview_listener.ts create mode 100644 playground/examples/display/observer.html create mode 100644 playground/examples/display/observer.ts create mode 100644 playground/examples/display/pitch_rotate_map.html create mode 100644 playground/examples/display/pitch_rotate_map.ts create mode 100644 playground/examples/display/pointer_listener.html create mode 100644 playground/examples/display/pointer_listener.ts create mode 100644 playground/examples/display/switch_layers_display_order.html create mode 100644 playground/examples/display/switch_layers_display_order.ts create mode 100644 playground/examples/display/take_a_screenshot.html create mode 100644 playground/examples/display/take_a_screenshot.ts create mode 100644 playground/examples/display/visualize_space_layer.html create mode 100644 playground/examples/display/visualize_space_layer.ts create mode 100644 playground/examples/editor/add_contextmenu.html create mode 100644 playground/examples/editor/add_contextmenu.ts create mode 100644 playground/examples/editor/add_remove_object_layer.html create mode 100644 playground/examples/editor/add_remove_object_layer.ts create mode 100644 playground/examples/editor/add_road.html create mode 100644 playground/examples/editor/add_road.ts create mode 100644 playground/examples/editor/change_road_name.html create mode 100644 playground/examples/editor/change_road_name.ts create mode 100644 playground/examples/editor/create_address.html create mode 100644 playground/examples/editor/create_address.ts create mode 100644 playground/examples/editor/create_navlink.html create mode 100644 playground/examples/editor/create_navlink.ts create mode 100644 playground/examples/editor/create_place.html create mode 100644 playground/examples/editor/create_place.ts create mode 100644 playground/examples/editor/crossing_detect.html create mode 100644 playground/examples/editor/crossing_detect.ts create mode 100644 playground/examples/editor/custom_provider.html create mode 100644 playground/examples/editor/custom_provider.ts create mode 100644 playground/examples/editor/drag_place_to_building.html create mode 100644 playground/examples/editor/drag_place_to_building.ts create mode 100644 playground/examples/editor/edit_building.html create mode 100644 playground/examples/editor/edit_building.ts create mode 100644 playground/examples/editor/edit_line_3d.html create mode 100644 playground/examples/editor/edit_line_3d.ts create mode 100644 playground/examples/editor/edit_point_3d.html create mode 100644 playground/examples/editor/edit_point_3d.ts create mode 100644 playground/examples/editor/hello_world.html create mode 100644 playground/examples/editor/hello_world.ts create mode 100644 playground/examples/editor/hover_highlight_connected_navlink.html create mode 100644 playground/examples/editor/hover_highlight_connected_navlink.ts create mode 100644 playground/examples/editor/observe_change_history.html create mode 100644 playground/examples/editor/observe_change_history.ts create mode 100644 playground/examples/editor/pointer_listener.html create mode 100644 playground/examples/editor/pointer_listener.ts create mode 100644 playground/examples/editor/range_selector.html create mode 100644 playground/examples/editor/range_selector.ts create mode 100644 playground/examples/editor/select_shapes.html create mode 100644 playground/examples/editor/select_shapes.ts create mode 100644 playground/examples/editor/select_specific_navlink.html create mode 100644 playground/examples/editor/select_specific_navlink.ts create mode 100644 playground/examples/editor/transform_road.html create mode 100644 playground/examples/editor/transform_road.ts create mode 100644 playground/examples/editor/turn_restriction_editor.html create mode 100644 playground/examples/editor/turn_restriction_editor.ts create mode 100644 playground/examples/examples.json create mode 100644 playground/examples/layer/3d_buildings.html create mode 100644 playground/examples/layer/3d_buildings.ts create mode 100644 playground/examples/layer/3d_lines.html create mode 100644 playground/examples/layer/3d_lines.ts create mode 100644 playground/examples/layer/3d_points.html create mode 100644 playground/examples/layer/3d_points.ts create mode 100644 playground/examples/layer/Heatmap.html create mode 100644 playground/examples/layer/Heatmap.ts create mode 100644 playground/examples/layer/MVTLayer.html create mode 100644 playground/examples/layer/MVTLayer.ts create mode 100644 playground/examples/layer/add_remove_building_feature.html create mode 100644 playground/examples/layer/add_remove_building_feature.ts create mode 100644 playground/examples/layer/add_remove_line.html create mode 100644 playground/examples/layer/add_remove_line.ts create mode 100644 playground/examples/layer/add_remove_point.html create mode 100644 playground/examples/layer/add_remove_point.ts create mode 100644 playground/examples/layer/collision_detection.html create mode 100644 playground/examples/layer/collision_detection.ts create mode 100644 playground/examples/layer/custom_style.html create mode 100644 playground/examples/layer/custom_style.ts create mode 100644 playground/examples/layer/label_collision_detection.html create mode 100644 playground/examples/layer/label_collision_detection.ts create mode 100644 playground/examples/layer/offset_line.html create mode 100644 playground/examples/layer/offset_line.ts create mode 100644 playground/examples/layer/preprocessor.html create mode 100644 playground/examples/layer/preprocessor.ts create mode 100644 playground/examples/layer/remote_search_boundingbox.html create mode 100644 playground/examples/layer/remote_search_boundingbox.ts create mode 100644 playground/examples/layer/search_boundingbox.html create mode 100644 playground/examples/layer/search_boundingbox.ts create mode 100644 playground/examples/layer/search_id.html create mode 100644 playground/examples/layer/search_id.ts create mode 100644 playground/examples/layer/set_layer_color.html create mode 100644 playground/examples/layer/set_layer_color.ts create mode 100644 playground/examples/layer/settag_space_provider.html create mode 100644 playground/examples/layer/settag_space_provider.ts create mode 100644 playground/examples/layer/style_drawingorder.html create mode 100644 playground/examples/layer/style_drawingorder.ts create mode 100644 playground/examples/layer/style_navlink.html create mode 100644 playground/examples/layer/style_navlink.ts create mode 100644 playground/examples/layer/style_zoomrange.html create mode 100644 playground/examples/layer/style_zoomrange.ts create mode 100644 playground/examples/layer/visualize_sat_image.html create mode 100644 playground/examples/layer/visualize_sat_image.ts create mode 100644 playground/index.html create mode 100644 playground/index.js create mode 100644 playground/index.js.map create mode 100644 playground/typescriptServices.js create mode 100644 xyz-maps-common.esm.min.js create mode 100644 xyz-maps-common.min.js create mode 100644 xyz-maps-core.d.ts create mode 100644 xyz-maps-core.min.js create mode 100644 xyz-maps-display.d.ts create mode 100644 xyz-maps-display.esm.min.js create mode 100644 xyz-maps-display.min.js create mode 100644 xyz-maps-editor.d.ts create mode 100644 xyz-maps-editor.esm.min.js create mode 100644 xyz-maps-editor.min.js diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css new file mode 100644 index 000000000..3c0dcab92 --- /dev/null +++ b/docs/assets/css/main.css @@ -0,0 +1 @@ +/*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4,.tsd-index-panel h3{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:80%}sub{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure,form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button]{-webkit-appearance:button;cursor:pointer;*overflow:visible}input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.hljs{display:inline-block;padding:.5em;background:#fff;color:#000}.hljs-comment,.hljs-annotation,.hljs-template_comment,.diff .hljs-header,.hljs-chunk,.apache .hljs-cbracket{color:green}.hljs-keyword,.hljs-id,.hljs-built_in,.css .smalltalk .hljs-class,.hljs-winutils,.bash .hljs-variable,.tex .hljs-command,.hljs-request,.hljs-status,.nginx .hljs-title{color:blue}.xml .hljs-tag{color:blue}.xml .hljs-tag .hljs-value{color:blue}.hljs-string,.hljs-title,.hljs-parent,.hljs-tag .hljs-value,.hljs-rules .hljs-value{color:#a31515}.ruby .hljs-symbol{color:#a31515}.ruby .hljs-symbol .hljs-string{color:#a31515}.hljs-template_tag,.django .hljs-variable,.hljs-addition,.hljs-flow,.hljs-stream,.apache .hljs-tag,.hljs-date,.tex .hljs-formula,.coffeescript .hljs-attribute{color:#a31515}.ruby .hljs-string,.hljs-decorator,.hljs-filter .hljs-argument,.hljs-localvars,.hljs-array,.hljs-attr_selector,.hljs-pseudo,.hljs-pi,.hljs-doctype,.hljs-deletion,.hljs-envvar,.hljs-shebang,.hljs-preprocessor,.hljs-pragma,.userType,.apache .hljs-sqbracket,.nginx .hljs-built_in,.tex .hljs-special,.hljs-prompt{color:#2b91af}.hljs-phpdoc,.hljs-javadoc,.hljs-xmlDocTag{color:gray}.vhdl .hljs-typename{font-weight:bold}.vhdl .hljs-string{color:#666}.vhdl .hljs-literal{color:#a31515}.vhdl .hljs-attribute{color:#00b0e8}.xml .hljs-attribute{color:red}ul.tsd-descriptions>li>:first-child,.tsd-panel>:first-child,.col>:first-child,.col-11>:first-child,.col-10>:first-child,.col-9>:first-child,.col-8>:first-child,.col-7>:first-child,.col-6>:first-child,.col-5>:first-child,.col-4>:first-child,.col-3>:first-child,.col-2>:first-child,.col-1>:first-child,ul.tsd-descriptions>li>:first-child>:first-child,.tsd-panel>:first-child>:first-child,.col>:first-child>:first-child,.col-11>:first-child>:first-child,.col-10>:first-child>:first-child,.col-9>:first-child>:first-child,.col-8>:first-child>:first-child,.col-7>:first-child>:first-child,.col-6>:first-child>:first-child,.col-5>:first-child>:first-child,.col-4>:first-child>:first-child,.col-3>:first-child>:first-child,.col-2>:first-child>:first-child,.col-1>:first-child>:first-child,ul.tsd-descriptions>li>:first-child>:first-child>:first-child,.tsd-panel>:first-child>:first-child>:first-child,.col>:first-child>:first-child>:first-child,.col-11>:first-child>:first-child>:first-child,.col-10>:first-child>:first-child>:first-child,.col-9>:first-child>:first-child>:first-child,.col-8>:first-child>:first-child>:first-child,.col-7>:first-child>:first-child>:first-child,.col-6>:first-child>:first-child>:first-child,.col-5>:first-child>:first-child>:first-child,.col-4>:first-child>:first-child>:first-child,.col-3>:first-child>:first-child>:first-child,.col-2>:first-child>:first-child>:first-child,.col-1>:first-child>:first-child>:first-child{margin-top:0}ul.tsd-descriptions>li>:last-child,.tsd-panel>:last-child,.col>:last-child,.col-11>:last-child,.col-10>:last-child,.col-9>:last-child,.col-8>:last-child,.col-7>:last-child,.col-6>:last-child,.col-5>:last-child,.col-4>:last-child,.col-3>:last-child,.col-2>:last-child,.col-1>:last-child,ul.tsd-descriptions>li>:last-child>:last-child,.tsd-panel>:last-child>:last-child,.col>:last-child>:last-child,.col-11>:last-child>:last-child,.col-10>:last-child>:last-child,.col-9>:last-child>:last-child,.col-8>:last-child>:last-child,.col-7>:last-child>:last-child,.col-6>:last-child>:last-child,.col-5>:last-child>:last-child,.col-4>:last-child>:last-child,.col-3>:last-child>:last-child,.col-2>:last-child>:last-child,.col-1>:last-child>:last-child,ul.tsd-descriptions>li>:last-child>:last-child>:last-child,.tsd-panel>:last-child>:last-child>:last-child,.col>:last-child>:last-child>:last-child,.col-11>:last-child>:last-child>:last-child,.col-10>:last-child>:last-child>:last-child,.col-9>:last-child>:last-child>:last-child,.col-8>:last-child>:last-child>:last-child,.col-7>:last-child>:last-child>:last-child,.col-6>:last-child>:last-child>:last-child,.col-5>:last-child>:last-child>:last-child,.col-4>:last-child>:last-child>:last-child,.col-3>:last-child>:last-child>:last-child,.col-2>:last-child>:last-child>:last-child,.col-1>:last-child>:last-child>:last-child{margin-bottom:0}.container{max-width:1200px;margin:0 auto;padding:0 40px}@media(max-width: 640px){.container{padding:0 20px}}.container-main{padding-bottom:200px}.row{display:flex;position:relative;margin:0 -10px}.row:after{visibility:hidden;display:block;content:"";clear:both;height:0}.col,.col-11,.col-10,.col-9,.col-8,.col-7,.col-6,.col-5,.col-4,.col-3,.col-2,.col-1{box-sizing:border-box;float:left;padding:0 10px}.col-1{width:8.3333333333%}.offset-1{margin-left:8.3333333333%}.col-2{width:16.6666666667%}.offset-2{margin-left:16.6666666667%}.col-3{width:25%}.offset-3{margin-left:25%}.col-4{width:33.3333333333%}.offset-4{margin-left:33.3333333333%}.col-5{width:41.6666666667%}.offset-5{margin-left:41.6666666667%}.col-6{width:50%}.offset-6{margin-left:50%}.col-7{width:58.3333333333%}.offset-7{margin-left:58.3333333333%}.col-8{width:66.6666666667%}.offset-8{margin-left:66.6666666667%}.col-9{width:75%}.offset-9{margin-left:75%}.col-10{width:83.3333333333%}.offset-10{margin-left:83.3333333333%}.col-11{width:91.6666666667%}.offset-11{margin-left:91.6666666667%}.tsd-kind-icon{display:block;position:relative;padding-left:20px;text-indent:-20px}.tsd-kind-icon:before{content:"";display:inline-block;vertical-align:middle;width:17px;height:17px;margin:0 3px 2px 0;background-image:url(../images/icons.png)}@media(-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi){.tsd-kind-icon:before{background-image:url(../images/icons@2x.png);background-size:238px 204px}}.tsd-signature.tsd-kind-icon:before{background-position:0 -153px}.tsd-kind-object-literal>.tsd-kind-icon:before{background-position:0px -17px}.tsd-kind-object-literal.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -17px}.tsd-kind-object-literal.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -17px}.tsd-kind-class>.tsd-kind-icon:before{background-position:0px -34px}.tsd-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -34px}.tsd-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -34px}.tsd-kind-class.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -51px}.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -51px}.tsd-kind-class.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -51px}.tsd-kind-interface>.tsd-kind-icon:before{background-position:0px -68px}.tsd-kind-interface.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -68px}.tsd-kind-interface.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -68px}.tsd-kind-interface.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -85px}.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -85px}.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -85px}.tsd-kind-namespace>.tsd-kind-icon:before{background-position:0px -102px}.tsd-kind-namespace.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -102px}.tsd-kind-namespace.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -102px}.tsd-kind-module>.tsd-kind-icon:before{background-position:0px -102px}.tsd-kind-module.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -102px}.tsd-kind-module.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -102px}.tsd-kind-enum>.tsd-kind-icon:before{background-position:0px -119px}.tsd-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -119px}.tsd-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -119px}.tsd-kind-enum-member>.tsd-kind-icon:before{background-position:0px -136px}.tsd-kind-enum-member.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -136px}.tsd-kind-enum-member.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -136px}.tsd-kind-signature>.tsd-kind-icon:before{background-position:0px -153px}.tsd-kind-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -153px}.tsd-kind-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -153px}.tsd-kind-type-alias>.tsd-kind-icon:before{background-position:0px -170px}.tsd-kind-type-alias.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -170px}.tsd-kind-type-alias.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -170px}.tsd-kind-type-alias.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:0px -187px}.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-17px -187px}.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-34px -187px}.tsd-kind-variable>.tsd-kind-icon:before{background-position:-136px -0px}.tsd-kind-variable.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -0px}.tsd-kind-variable.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -0px}.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -0px}.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -0px}.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-variable.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -0px}.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -0px}.tsd-kind-property>.tsd-kind-icon:before{background-position:-136px -0px}.tsd-kind-property.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -0px}.tsd-kind-property.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -0px}.tsd-kind-property.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -0px}.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -0px}.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -0px}.tsd-kind-property.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -0px}.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -0px}.tsd-kind-get-signature>.tsd-kind-icon:before{background-position:-136px -17px}.tsd-kind-get-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -17px}.tsd-kind-get-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -17px}.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -17px}.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -17px}.tsd-kind-get-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -17px}.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -17px}.tsd-kind-set-signature>.tsd-kind-icon:before{background-position:-136px -34px}.tsd-kind-set-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -34px}.tsd-kind-set-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -34px}.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -34px}.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -34px}.tsd-kind-set-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -34px}.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -34px}.tsd-kind-accessor>.tsd-kind-icon:before{background-position:-136px -51px}.tsd-kind-accessor.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -51px}.tsd-kind-accessor.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -51px}.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -51px}.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -51px}.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -51px}.tsd-kind-accessor.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -51px}.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -51px}.tsd-kind-function>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-function.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-function.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-function.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-function.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-method>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-method.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-method.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-method.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-method.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-call-signature>.tsd-kind-icon:before{background-position:-136px -68px}.tsd-kind-call-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -68px}.tsd-kind-call-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -68px}.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -68px}.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -68px}.tsd-kind-call-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -68px}.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -68px}.tsd-kind-function.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:-136px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -85px}.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -85px}.tsd-kind-method.tsd-has-type-parameter>.tsd-kind-icon:before{background-position:-136px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -85px}.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -85px}.tsd-kind-constructor>.tsd-kind-icon:before{background-position:-136px -102px}.tsd-kind-constructor.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -102px}.tsd-kind-constructor.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -102px}.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -102px}.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -102px}.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -102px}.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -102px}.tsd-kind-constructor-signature>.tsd-kind-icon:before{background-position:-136px -102px}.tsd-kind-constructor-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -102px}.tsd-kind-constructor-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -102px}.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -102px}.tsd-kind-index-signature>.tsd-kind-icon:before{background-position:-136px -119px}.tsd-kind-index-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -119px}.tsd-kind-index-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -119px}.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -119px}.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -119px}.tsd-kind-index-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -119px}.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -119px}.tsd-kind-event>.tsd-kind-icon:before{background-position:-136px -136px}.tsd-kind-event.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -136px}.tsd-kind-event.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -136px}.tsd-kind-event.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -136px}.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -136px}.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -136px}.tsd-kind-event.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -136px}.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -136px}.tsd-is-static>.tsd-kind-icon:before{background-position:-136px -153px}.tsd-is-static.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -153px}.tsd-is-static.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -153px}.tsd-is-static.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -153px}.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -153px}.tsd-is-static.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -153px}.tsd-is-static.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -153px}.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -153px}.tsd-is-static.tsd-kind-function>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-function.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-function.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-method>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-method.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-method.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-call-signature>.tsd-kind-icon:before{background-position:-136px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -170px}.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -170px}.tsd-is-static.tsd-kind-event>.tsd-kind-icon:before{background-position:-136px -187px}.tsd-is-static.tsd-kind-event.tsd-is-protected>.tsd-kind-icon:before{background-position:-153px -187px}.tsd-is-static.tsd-kind-event.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class>.tsd-kind-icon:before{background-position:-51px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited>.tsd-kind-icon:before{background-position:-68px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected>.tsd-kind-icon:before{background-position:-85px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited>.tsd-kind-icon:before{background-position:-102px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum>.tsd-kind-icon:before{background-position:-170px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected>.tsd-kind-icon:before{background-position:-187px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private>.tsd-kind-icon:before{background-position:-119px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface>.tsd-kind-icon:before{background-position:-204px -187px}.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited>.tsd-kind-icon:before{background-position:-221px -187px}@keyframes fade-in{from{opacity:0}to{opacity:1}}@keyframes fade-out{from{opacity:1;visibility:visible}to{opacity:0}}@keyframes fade-in-delayed{0%{opacity:0}33%{opacity:0}100%{opacity:1}}@keyframes fade-out-delayed{0%{opacity:1;visibility:visible}66%{opacity:0}100%{opacity:0}}@keyframes shift-to-left{from{transform:translate(0, 0)}to{transform:translate(-25%, 0)}}@keyframes unshift-to-left{from{transform:translate(-25%, 0)}to{transform:translate(0, 0)}}@keyframes pop-in-from-right{from{transform:translate(100%, 0)}to{transform:translate(0, 0)}}@keyframes pop-out-to-right{from{transform:translate(0, 0);visibility:visible}to{transform:translate(100%, 0)}}body{background:#fdfdfd;font-family:"Segoe UI",sans-serif;font-size:16px;color:#222}a{color:#4da6ff;text-decoration:none}a:hover{text-decoration:underline}code,pre{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;padding:.2em;margin:0;font-size:14px;background-color:rgba(0,0,0,.04)}pre{padding:10px}pre code{padding:0;font-size:100%;background-color:transparent}.tsd-typography{line-height:1.333em}.tsd-typography ul{list-style:square;padding:0 0 0 20px;margin:0}.tsd-typography h4,.tsd-typography .tsd-index-panel h3,.tsd-index-panel .tsd-typography h3,.tsd-typography h5,.tsd-typography h6{font-size:1em;margin:0}.tsd-typography h5,.tsd-typography h6{font-weight:normal}.tsd-typography p,.tsd-typography ul,.tsd-typography ol{margin:1em 0}@media(min-width: 901px)and (max-width: 1024px){html.default .col-content{width:72%}html.default .col-menu{width:28%}html.default .tsd-navigation{padding-left:10px}}@media(max-width: 900px){html.default .col-content{float:none;width:100%}html.default .col-menu{position:fixed !important;overflow:auto;-webkit-overflow-scrolling:touch;z-index:1024;top:0 !important;bottom:0 !important;left:auto !important;right:0 !important;width:100%;padding:20px 20px 0 0;max-width:450px;visibility:hidden;background-color:#fff;transform:translate(100%, 0)}html.default .col-menu>*:last-child{padding-bottom:20px}html.default .overlay{content:"";display:block;position:fixed;z-index:1023;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.75);visibility:hidden}html.default.to-has-menu .overlay{animation:fade-in .4s}html.default.to-has-menu header,html.default.to-has-menu footer,html.default.to-has-menu .col-content{animation:shift-to-left .4s}html.default.to-has-menu .col-menu{animation:pop-in-from-right .4s}html.default.from-has-menu .overlay{animation:fade-out .4s}html.default.from-has-menu header,html.default.from-has-menu footer,html.default.from-has-menu .col-content{animation:unshift-to-left .4s}html.default.from-has-menu .col-menu{animation:pop-out-to-right .4s}html.default.has-menu body{overflow:hidden}html.default.has-menu .overlay{visibility:visible}html.default.has-menu header,html.default.has-menu footer,html.default.has-menu .col-content{transform:translate(-25%, 0)}html.default.has-menu .col-menu{visibility:visible;transform:translate(0, 0)}}.tsd-page-title{padding:70px 0 20px 0;margin:0 0 40px 0;background:#fff;box-shadow:0 0 5px rgba(0,0,0,.35)}.tsd-page-title h1{margin:0}.tsd-breadcrumb{margin:0;padding:0;color:#707070}.tsd-breadcrumb a{color:#707070;text-decoration:none}.tsd-breadcrumb a:hover{text-decoration:underline}.tsd-breadcrumb li{display:inline}.tsd-breadcrumb li:after{content:" / "}html.minimal .container{margin:0}html.minimal .container-main{padding-top:50px;padding-bottom:0}html.minimal .content-wrap{padding-left:300px}html.minimal .tsd-navigation{position:fixed !important;overflow:auto;-webkit-overflow-scrolling:touch;box-sizing:border-box;z-index:1;left:0;top:40px;bottom:0;width:300px;padding:20px;margin:0}html.minimal .tsd-member .tsd-member{margin-left:0}html.minimal .tsd-page-toolbar{position:fixed;z-index:2}html.minimal #tsd-filter .tsd-filter-group{right:0;transform:none}html.minimal footer{background-color:transparent}html.minimal footer .container{padding:0}html.minimal .tsd-generator{padding:0}@media(max-width: 900px){html.minimal .tsd-navigation{display:none}html.minimal .content-wrap{padding-left:0}}dl.tsd-comment-tags{overflow:hidden}dl.tsd-comment-tags dt{float:left;padding:1px 5px;margin:0 10px 0 0;border-radius:4px;border:1px solid #707070;color:#707070;font-size:.8em;font-weight:normal}dl.tsd-comment-tags dd{margin:0 0 10px 0}dl.tsd-comment-tags dd:before,dl.tsd-comment-tags dd:after{display:table;content:" "}dl.tsd-comment-tags dd pre,dl.tsd-comment-tags dd:after{clear:both}dl.tsd-comment-tags p{margin:0}.tsd-panel.tsd-comment .lead{font-size:1.1em;line-height:1.333em;margin-bottom:2em}.tsd-panel.tsd-comment .lead:last-child{margin-bottom:0}.toggle-protected .tsd-is-private{display:none}.toggle-public .tsd-is-private,.toggle-public .tsd-is-protected,.toggle-public .tsd-is-private-protected{display:none}.toggle-inherited .tsd-is-inherited{display:none}.toggle-only-exported .tsd-is-not-exported{display:none}.toggle-externals .tsd-is-external{display:none}#tsd-filter{position:relative;display:inline-block;height:40px;vertical-align:bottom}.no-filter #tsd-filter{display:none}#tsd-filter .tsd-filter-group{display:inline-block;height:40px;vertical-align:bottom;white-space:nowrap}#tsd-filter input{display:none}@media(max-width: 900px){#tsd-filter .tsd-filter-group{display:block;position:absolute;top:40px;right:20px;height:auto;background-color:#fff;visibility:hidden;transform:translate(50%, 0);box-shadow:0 0 4px rgba(0,0,0,.25)}.has-options #tsd-filter .tsd-filter-group{visibility:visible}.to-has-options #tsd-filter .tsd-filter-group{animation:fade-in .2s}.from-has-options #tsd-filter .tsd-filter-group{animation:fade-out .2s}#tsd-filter label,#tsd-filter .tsd-select{display:block;padding-right:20px}}footer{border-top:1px solid #eee;background-color:#fff}footer.with-border-bottom{border-bottom:1px solid #eee}footer .tsd-legend-group{font-size:0}footer .tsd-legend{display:inline-block;width:25%;padding:0;font-size:16px;list-style:none;line-height:1.333em;vertical-align:top}@media(max-width: 900px){footer .tsd-legend{width:50%}}.tsd-hierarchy{list-style:square;padding:0 0 0 20px;margin:0}.tsd-hierarchy .target{font-weight:bold}.tsd-index-panel .tsd-index-content{margin-bottom:-30px !important}.tsd-index-panel .tsd-index-section{margin-bottom:30px !important}.tsd-index-panel h3{margin:0 -20px 10px -20px;padding:0 20px 10px 20px;border-bottom:1px solid #eee}.tsd-index-panel ul.tsd-index-list{-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3;-webkit-column-gap:20px;-moz-column-gap:20px;-ms-column-gap:20px;-o-column-gap:20px;column-gap:20px;padding:0;list-style:none;line-height:1.333em}@media(max-width: 900px){.tsd-index-panel ul.tsd-index-list{-webkit-column-count:1;-moz-column-count:1;-ms-column-count:1;-o-column-count:1;column-count:1}}@media(min-width: 901px)and (max-width: 1024px){.tsd-index-panel ul.tsd-index-list{-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}}.tsd-index-panel ul.tsd-index-list li{-webkit-page-break-inside:avoid;-moz-page-break-inside:avoid;-ms-page-break-inside:avoid;-o-page-break-inside:avoid;page-break-inside:avoid}.tsd-index-panel a,.tsd-index-panel .tsd-parent-kind-module a{color:#9600ff}.tsd-index-panel .tsd-parent-kind-interface a{color:#647f1b}.tsd-index-panel .tsd-parent-kind-enum a{color:#937210}.tsd-index-panel .tsd-parent-kind-class a{color:#0672de}.tsd-index-panel .tsd-kind-module a{color:#9600ff}.tsd-index-panel .tsd-kind-interface a{color:#647f1b}.tsd-index-panel .tsd-kind-enum a{color:#937210}.tsd-index-panel .tsd-kind-class a{color:#0672de}.tsd-index-panel .tsd-is-private a{color:#707070}.tsd-flag{display:inline-block;padding:1px 5px;border-radius:4px;color:#fff;background-color:#707070;text-indent:0;font-size:14px;font-weight:normal}.tsd-anchor{position:absolute;top:-100px}.tsd-member{position:relative}.tsd-member .tsd-anchor+h3{margin-top:0;margin-bottom:0;border-bottom:none}.tsd-navigation{margin:0 0 0 40px}.tsd-navigation a{display:block;padding-top:2px;padding-bottom:2px;border-left:2px solid transparent;color:#222;text-decoration:none;transition:border-left-color .1s}.tsd-navigation a:hover{text-decoration:underline}.tsd-navigation ul{margin:0;padding:0;list-style:none}.tsd-navigation li{padding:0}.tsd-navigation.primary{padding-bottom:40px}.tsd-navigation.primary a{display:block;padding-top:6px;padding-bottom:6px}.tsd-navigation.primary ul li a{padding-left:5px}.tsd-navigation.primary ul li li a{padding-left:25px}.tsd-navigation.primary ul li li li a{padding-left:45px}.tsd-navigation.primary ul li li li li a{padding-left:65px}.tsd-navigation.primary ul li li li li li a{padding-left:85px}.tsd-navigation.primary ul li li li li li li a{padding-left:105px}.tsd-navigation.primary>ul{border-bottom:1px solid #eee}.tsd-navigation.primary li{border-top:1px solid #eee}.tsd-navigation.primary li.current>a{font-weight:bold}.tsd-navigation.primary li.label span{display:block;padding:20px 0 6px 5px;color:#707070}.tsd-navigation.primary li.globals+li>span,.tsd-navigation.primary li.globals+li>a{padding-top:20px}.tsd-navigation.secondary{max-height:calc(100vh - 1rem - 40px);overflow:auto;position:-webkit-sticky;position:sticky;top:calc(.5rem + 40px);transition:.3s}.tsd-navigation.secondary.tsd-navigation--toolbar-hide{max-height:calc(100vh - 1rem);top:.5rem}.tsd-navigation.secondary ul{transition:opacity .2s}.tsd-navigation.secondary ul li a{padding-left:25px}.tsd-navigation.secondary ul li li a{padding-left:45px}.tsd-navigation.secondary ul li li li a{padding-left:65px}.tsd-navigation.secondary ul li li li li a{padding-left:85px}.tsd-navigation.secondary ul li li li li li a{padding-left:105px}.tsd-navigation.secondary ul li li li li li li a{padding-left:125px}.tsd-navigation.secondary ul.current a{border-left-color:#eee}.tsd-navigation.secondary li.focus>a,.tsd-navigation.secondary ul.current li.focus>a{border-left-color:#000}.tsd-navigation.secondary li.current{margin-top:20px;margin-bottom:20px;border-left-color:#eee}.tsd-navigation.secondary li.current>a{font-weight:bold}@media(min-width: 901px){.menu-sticky-wrap{position:static}}.tsd-panel{margin:20px 0;padding:20px;background-color:#fff;box-shadow:0 0 4px rgba(0,0,0,.25)}.tsd-panel:empty{display:none}.tsd-panel>h1,.tsd-panel>h2,.tsd-panel>h3{margin:1.5em -20px 10px -20px;padding:0 20px 10px 20px;border-bottom:1px solid #eee}.tsd-panel>h1.tsd-before-signature,.tsd-panel>h2.tsd-before-signature,.tsd-panel>h3.tsd-before-signature{margin-bottom:0;border-bottom:0}.tsd-panel table{display:block;width:100%;overflow:auto;margin-top:10px;word-break:normal;word-break:keep-all}.tsd-panel table th{font-weight:bold}.tsd-panel table th,.tsd-panel table td{padding:6px 13px;border:1px solid #ddd}.tsd-panel table tr{background-color:#fff;border-top:1px solid #ccc}.tsd-panel table tr:nth-child(2n){background-color:#f8f8f8}.tsd-panel-group{margin:60px 0}.tsd-panel-group>h1,.tsd-panel-group>h2,.tsd-panel-group>h3{padding-left:20px;padding-right:20px}#tsd-search{transition:background-color .2s}#tsd-search .title{position:relative;z-index:2}#tsd-search .field{position:absolute;left:0;top:0;right:40px;height:40px}#tsd-search .field input{box-sizing:border-box;position:relative;top:-50px;z-index:1;width:100%;padding:0 10px;opacity:0;outline:0;border:0;background:transparent;color:#222}#tsd-search .field label{position:absolute;overflow:hidden;right:-40px}#tsd-search .field input,#tsd-search .title{transition:opacity .2s}#tsd-search .results{position:absolute;visibility:hidden;top:40px;width:100%;margin:0;padding:0;list-style:none;box-shadow:0 0 4px rgba(0,0,0,.25)}#tsd-search .results li{padding:0 10px;background-color:#fdfdfd}#tsd-search .results li:nth-child(even){background-color:#fff}#tsd-search .results li.state{display:none}#tsd-search .results li.current,#tsd-search .results li:hover{background-color:#eee}#tsd-search .results a{display:block}#tsd-search .results a:before{top:10px}#tsd-search .results span.parent{color:#707070;font-weight:normal}#tsd-search.has-focus{background-color:#eee}#tsd-search.has-focus .field input{top:0;opacity:1}#tsd-search.has-focus .title{z-index:0;opacity:0}#tsd-search.has-focus .results{visibility:visible}#tsd-search.loading .results li.state.loading{display:block}#tsd-search.failure .results li.state.failure{display:block}.tsd-signature{margin:0 0 1em 0;padding:10px;border:1px solid #eee;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:14px;overflow-x:auto}.tsd-signature.tsd-kind-icon{padding-left:30px}.tsd-signature.tsd-kind-icon:before{top:10px;left:10px}.tsd-panel>.tsd-signature{margin-left:-20px;margin-right:-20px;border-width:1px 0}.tsd-panel>.tsd-signature.tsd-kind-icon{padding-left:40px}.tsd-panel>.tsd-signature.tsd-kind-icon:before{left:20px}.tsd-signature-symbol{color:#707070;font-weight:normal}.tsd-signature-type{font-style:italic;font-weight:normal}.tsd-signatures{padding:0;margin:0 0 1em 0;border:1px solid #eee}.tsd-signatures .tsd-signature{margin:0;border-width:1px 0 0 0;transition:background-color .1s}.tsd-signatures .tsd-signature:first-child{border-top-width:0}.tsd-signatures .tsd-signature.current{background-color:#eee}.tsd-signatures.active>.tsd-signature{cursor:pointer}.tsd-panel>.tsd-signatures{margin-left:-20px;margin-right:-20px;border-width:1px 0}.tsd-panel>.tsd-signatures .tsd-signature.tsd-kind-icon{padding-left:40px}.tsd-panel>.tsd-signatures .tsd-signature.tsd-kind-icon:before{left:20px}.tsd-panel>a.anchor+.tsd-signatures{border-top-width:0;margin-top:-20px}ul.tsd-descriptions{position:relative;overflow:hidden;padding:0;list-style:none}ul.tsd-descriptions.active>.tsd-description{display:none}ul.tsd-descriptions.active>.tsd-description.current{display:block}ul.tsd-descriptions.active>.tsd-description.fade-in{animation:fade-in-delayed .3s}ul.tsd-descriptions.active>.tsd-description.fade-out{animation:fade-out-delayed .3s;position:absolute;display:block;top:0;left:0;right:0;opacity:0;visibility:hidden}ul.tsd-descriptions h4,ul.tsd-descriptions .tsd-index-panel h3,.tsd-index-panel ul.tsd-descriptions h3{font-size:16px;margin:1em 0 .5em 0}ul.tsd-parameters,ul.tsd-type-parameters{list-style:square;margin:0;padding-left:20px}ul.tsd-parameters>li.tsd-parameter-signature,ul.tsd-type-parameters>li.tsd-parameter-signature{list-style:none;margin-left:-20px}ul.tsd-parameters h5,ul.tsd-type-parameters h5{font-size:16px;margin:1em 0 .5em 0}ul.tsd-parameters .tsd-comment,ul.tsd-type-parameters .tsd-comment{margin-top:-0.5em}.tsd-sources{font-size:14px;color:#707070;margin:0 0 1em 0}.tsd-sources a{color:#707070;text-decoration:underline}.tsd-sources ul,.tsd-sources p{margin:0 !important}.tsd-sources ul{list-style:none;padding:0}.tsd-page-toolbar{position:fixed;z-index:1;top:0;left:0;width:100%;height:40px;color:#333;background:#fff;border-bottom:1px solid #eee;transition:transform .3s linear}.tsd-page-toolbar a{color:#333;text-decoration:none}.tsd-page-toolbar a.title{font-weight:bold}.tsd-page-toolbar a.title:hover{text-decoration:underline}.tsd-page-toolbar .table-wrap{display:table;width:100%;height:40px}.tsd-page-toolbar .table-cell{display:table-cell;position:relative;white-space:nowrap;line-height:40px}.tsd-page-toolbar .table-cell:first-child{width:100%}.tsd-page-toolbar--hide{transform:translateY(-100%)}.tsd-select .tsd-select-list li:before,.tsd-select .tsd-select-label:before,.tsd-widget:before{content:"";display:inline-block;width:40px;height:40px;margin:0 -8px 0 0;background-image:url(../images/widgets.png);background-repeat:no-repeat;text-indent:-1024px;vertical-align:bottom}@media(-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 144dpi){.tsd-select .tsd-select-list li:before,.tsd-select .tsd-select-label:before,.tsd-widget:before{background-image:url(../images/widgets@2x.png);background-size:320px 40px}}.tsd-widget{display:inline-block;overflow:hidden;opacity:.6;height:40px;transition:opacity .1s,background-color .2s;vertical-align:bottom;cursor:pointer}.tsd-widget:hover{opacity:.8}.tsd-widget.active{opacity:1;background-color:#eee}.tsd-widget.no-caption{width:40px}.tsd-widget.no-caption:before{margin:0}.tsd-widget.search:before{background-position:0 0}.tsd-widget.menu:before{background-position:-40px 0}.tsd-widget.options:before{background-position:-80px 0}.tsd-widget.options,.tsd-widget.menu{display:none}@media(max-width: 900px){.tsd-widget.options,.tsd-widget.menu{display:inline-block}}input[type=checkbox]+.tsd-widget:before{background-position:-120px 0}input[type=checkbox]:checked+.tsd-widget:before{background-position:-160px 0}.tsd-select{position:relative;display:inline-block;height:40px;transition:opacity .1s,background-color .2s;vertical-align:bottom;cursor:pointer}.tsd-select .tsd-select-label{opacity:.6;transition:opacity .2s}.tsd-select .tsd-select-label:before{background-position:-240px 0}.tsd-select.active .tsd-select-label{opacity:.8}.tsd-select.active .tsd-select-list{visibility:visible;opacity:1;transition-delay:0s}.tsd-select .tsd-select-list{position:absolute;visibility:hidden;top:40px;left:0;margin:0;padding:0;opacity:0;list-style:none;box-shadow:0 0 4px rgba(0,0,0,.25);transition:visibility 0s .2s,opacity .2s}.tsd-select .tsd-select-list li{padding:0 20px 0 0;background-color:#fdfdfd}.tsd-select .tsd-select-list li:before{background-position:40px 0}.tsd-select .tsd-select-list li:nth-child(even){background-color:#fff}.tsd-select .tsd-select-list li:hover{background-color:#eee}.tsd-select .tsd-select-list li.selected:before{background-position:-200px 0}@media(max-width: 900px){.tsd-select .tsd-select-list{top:0;left:auto;right:100%;margin-right:-5px}.tsd-select .tsd-select-label:before{background-position:-280px 0}}img{max-width:100%} diff --git a/docs/assets/images/icons.png b/docs/assets/images/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..3836d5fe46e48bbe186116855aae879c23935327 GIT binary patch literal 9615 zcmZ{Kc_36>+`rwViHMAd#!?~-${LfgP1$7)F~(N1WKRsT#$-?;yNq3ylq}iztr1xY z8DtsBI<`UHtDfii{r-60Kg@OSJ?GqW=bZ2NvwY{NzOLpergKbGR8*&KBGn9m;|lQC z2Vwv|y`nSufCHVQijE2uRauuTeKZL;=kiiF^SbTk;N^?*u%}Y7bF;O-aMK0lXm4nb zvU~Kf+x|Kgl@Ro%nu?L%x8-yetd((kCqY|t;-%}@Y3Ez_m(HTRt=ekeUQ2n4-aRvJ zrlKaWct8JSc8Kxl4KHu+3VW1L`9%n~_KC5}g6&tFXqyKT-}R0?EdkYqCmQot47^9Z z6;opqR@7Nq-s|6=e6*0^`}+X1kg>CpuGnbpL7{xFTa|8nymC0{xgx*tI7n4mTKZNA znsd@3eVsV>YhATuv~+5(^Vu4j?)Tn`{x@8ijIA;wdf`+0P3$vnSrcWFXXc{Lx`1Z7 z%-n(BM(owD$7LzqJx)(f^Cusecq>OW z=h6n4YzSVM-V!-DK(sLT`!W~}($=O$9|ie`>_fpH0=1G1tiIFw($?~{5T>`74|p0H z``5=UydE)!CiFvmECW|s^TzG9*7pN|KknkVm3C{fEu30gffX&8iCm? zTFPm6*k%Hog`Q6JGj@dg9Z5nlAc6ApUe>;6xauB0-u!?wMU92jVL|3EcP9gEu5^wH z%tXRy#>HCEs*?KgMf73UcJ!lJ?x<6+)eJ{mEIS|HMDP7(7!(< z@X;?ACT8mncW9*XIaiJPW}Mw@b0W||)!sYnLw)0j4&-rXQgJhnQ2?frg1Nfk&JpmV8F=dDZl)e%#Grs|&0th7_o) z?7hQn<1078qcq?#;)CH=2kBBiGt37EtcXfpTXtHB59dr9=B~jI`yPm-Q?(ys=ajAu zGY;eS^z&WFvztZI3I~}*l}_lI^}6D<&CZ94;|&G9_pMx!C~$~EL4^8`QjT#|tqxxk zhl4CdxppbDiOk!Ht#SVAK4gf6Cr#=U&1sVxZ`y-X zTSi#@wHf(?(Dd6ypNOyshRZ*tneVP^W?y?$ur_!9iD-vY{&Q5(ooX2;`SkUjwEYA~ zwGcylCT4_`MZobm(0v$U(IhfYXxyjNJ@ztpH0sDmfpn|LMp3eM(R4uqKi_q1=D1-d z%GdV<&2+_9k@sc44xhIjqktRA2!Su|vzM0R-@#MK&{RdLoU#$Hc?{{JItvX{hKCtc zQNqZpkfG^@LGJRZM4H_>`F=N;O*+_`>M_ko_XWCgu@}ntqLX8VSeZQ_25Z8|^!d?o z$~}~9|`ZW9d_o<=8&K^~;Cr08b;qgq{(*e*sNt00lO2lZ;m-b<`Rl}=Lr6iQ8+$&br z!RLn{5a}j1Dh^|_1)Q?<;iBSrS0V|c_D@3}mc2d!%tV1VN?BC@clkFdx?HB&9KOTF z)9eHpmUEYsCqx^%JHuNdwY zz9P3oPYuTAXZVY}LRp&2qNl$pbsXL1GJ@wx?@CTO!acs+OFfW_U6?&As-(GJED}RR zO}B+Kxph7aUUm>i3rbPZQGXN}oQq;u`yTnFDAJ*d$4gjEJH!JPyt6V{cOUp*Jbyol zE$8wh)T=vpJOWRbv}HvR(cUSlO}ePIPdJ`J@yp=IC&E6K%r?QfW7F&%p!H~@?%yj5 z&MpiV!hyfukD56A097f!0+ANt`JSB~oLak75oKQN7FH=rQbX#Eak37|4&mqp@S~TA zOo51)xQxX}5NQ(3I_UeR4B;P0Q#x$_lDce78ET`Blo;`Hj*R;b8slZS7Oak(LjDuE z3z?-~-U@vWe*cEOsf^9|duH9};Pe)!=Ky+QQ!jr2VV-jMUH-F>oB>Ds zDJw}jm%V?OT^fu1y`$`yRdaW03L?)6vmInxhAsGrPhWIP8?=speMFf9Inn4^t zs$!88*B~c1A2J6t0~hgK2BJ_Pl23l=oeQQqjI2(4Mcv6U_#9#$PEN|qz36rCZ5$@I zNF1LpRe%ZG4qwuYr7ZdaynrPs?spt;9VbQM$462zbksMVhAOqPunrR7@Nbv#5;VKk zJB7xC?~QXd(e9REiLixHxRGhLcKR#0va}|LMS`AXKGOIGFKQv?=+>zf^ zN5XLjX6^`zh*%1UG_QV1H`@z!HZgC+OT2`+_B( z)J95hk;3C+K4XCswSP}au;fx=47~*$k`RAaYEU-qb03y0#x|&>LAeiXgri5E(!h9k z|9OVt@sk1-4+>0?ELyw|zs`~<95M=%o?Gix$?8z4Gz3Kpw|b>?BcD&s{X)-aXg!GJ zyq&`ZEP{K^u7ActXP$gGnO#F0Sr+QUZe0&d5*Yhw9A?C4(Sx2j3QKAlUpkQz7nji^ z%y8F|W{ypj(T%Bf#Wgyvq4szMo?*U-;3IGBRg1fK9!h-=YRsZ_+t~2!-)=pr;)Vnk zmt95&wMb02toOf`I9>M^Kv3LqKb_-#jauF&cGrWsCnMt?p7*uh zevugda={D04DB#7wR375=1i5}Z9fi3r)!F#7qmX9`SjppE&%8l8bKt+ADRMTWRv21 z4L&PldV8YpHw3b^`p0uWlIm#J&K65-y4lQW0VzZR!4#gfeT{b#fL1e*)Z*Ux}M^}bO%OM7uXip_4! zL@yo@q{utZeVV?3CtXs}i>nI|%26fwuzt0f#96fQ!{=dEX^YKnvIk*D%y9Cin;9R) zi{?)baJhgFs$1$SOZESTpldw2H&FD=v*v@1cA!`|s;avDKHa>Q+uJ8qhy!9%C4&lJSTN4OeydYOm4S?Bj7*e{xRYbU9Xos)R7qZT3dBBD5{ zo+(E3pR{>>)}hFhE+}!yYP0V+CVhyAq+RV{^X`XA3{iXj(ir$k@u|t8ZJ1ZnHq2dd zD$0RHmGJ=!?T5`*T2zOEJ~y}Nsyt7O)%+!0ulRQdsopJJxoznfpusv=2@zLXIq@^& z>0T5k4lzGCG(DnltLIe@6=ZOG@C(dvmYXfh4IhJfMfY8S?KkT znb7~EDE}Yhg$J1LxB7m`L4VMS(+(SXTQvh_mz!x&M3-6Z zFRB*a%_gVEqI^mL5|c%V=l_oi%|~h>gL0SB4QH5uonWd#={KPg6}6ES)zk0~#3^KJ zJq@{iqbHe3gyC))jeQ`W;(u3|q)JxuF24|GMsh%v5>>VY-bok%* z1Yl@(5G2UCK=fQck}pAyWV0n{`ML|rsl_N7vmW|frii__zB;ozrQ7{z)y}M^Sg@m_ z;+?{q3sUZs3WxnBbp~CyyL(TA?C*0KIeDPp7w0$!Ijd+M8#}r~vYW)NB*$mG*7-vH z@s^wK07OMxq>WveCEQFQ*p&2gjD1j%i+#G9z##Th`gew>H5=`RwyfPDg2G%f>x3@c z14Oy}pQK?(i06GWLWu%4cGjDoE-tTEI$`9^E?nLT663vu_>6K1e!N>A-^q&tfl$0& zy&>w~+yUelAa!c@xd8iyt^`B^$cj+}h}0i!40K2Ve1KFCDezBzZO8@=k&r)`TNTJ* zzF4Pim>SYL^=~7kW>EyiVHXNMT2)8l#v^IW!pLB_8ZvVfK&m8QHkjsZ)mvd?o$VYG zX#HiWwWlW>N{D85URJ-d)}_3h73|)X=E(6hFzi#TF{$4aSka4TeY>1a_(RIkFBL#O zE0_FoSQI)}+si51ufAqRHhDU=actTRQl@y#2h}xaDv-A&GP&0Qu9V4ED5aWnX z1E#mRT1QSvL!4~%Ozt84nP{&F>VIm6w2q!EPhh^BF-94$4JhCTcrdbDXA3Q&8mPTh zqdPv|X}??B?bIZPpl}z%(zr<8U-NoXjb*L#xyqHHfpIGAgN$5i(E9#rYPYq_tISC4 z2TDkd*uZ;CIhVI2o!||T)Kz`ER@%rTf-&SfmJFF>;d(RW(B6k!1<)uxHM_1G+9BWe zc)k`gBxYMcztqY5@jccaU)CqQ@^G5TBVx(nNf2}D@);3+{D)GzyT{>%dO6ibggS({N!!=P4=M8J}5R*&fgd(w36z0M0D$ z(SN5a`i%sZ9vmaEjiC4)DF}ix&`?mc-vYwK@+}8Gqzj6r6y)lT|Iqwlpj(LXqvh;- zb>jECiiOZ%&Q7gQg7(ix-?-RE*c(O6NG0F-+VCr;701@%L~fyfHnU<;Vk`m3A2{1MSmpii@G*k?KDq0GdZ)|hd`8OHep z8@6wv_|9NKNpe*sc#?zZ1S#}*qk{k<(I99u6(QT#>wf9w^u9~9_>;2d20T=^g-;b5 ze9x~fHZ-JL=J`hq-;W{2SgN)&m9RsVo=%?`JYp`pxEA_>`18Y>XA$rfWm^pQfG3MQ zxT^I1*({tZz2}+!5$AyNUE*jiYwu_S8v<#qZS4e!bGGBdY`3RkgLMf%Kz8s-;7PF+ z6w#-FwV#)PiKGR79miXmrDyv=ZTjc)j>N=&h4F+#G;unBZhhZz?a*;8@bi5`fV4)O zuU5pCs;tvRzbV@P5%W5xLI4I+w*^KExeVlzP4kNRGp-wi3g$lf-I|(o`JQ|u^XfkP zcik+g-5~2lG*oHfjLCpfNalFwz=4ZY>$Rc-QGpws&tCfFZUuJDL)3et%ap*$Q=-v0 zgLfsn-&%#+wnox~@)6ppx30sK(UJg1dCAvQF&}DkoPI+uX_wH))iaYvWtl}BtVKpU&MN= z0GdENbhdLgIwL-#_phGK;mZRlk4zq8*)akvV5zRX@jFUmvcr#3p99P@4z@m|bz-)^ zbZl8Wt?hR*z(sEZl;2PaILIG#835i@YoZQ@EwrD9IOBl7BpJX(ilLgcd)KCZAzo^b z6Z{|~=H;$D2dD53tejr_jx7^y-zT{SNZpNjn4+wJQX~K#LcrlKOv=D5xk%QXD{tg; z+xh`PvMV*HC*rF?xyjK5@KsMl5*w`r@wL#r13uFpso~#^oYIFc^&gGNS825eqFttU2_sG%_ z;X8VXD#Ol4X&$2B_Z$*&-)ZIUXf9I%mOOXJ3O%GbGpJfl+9(jY^fF_(b!Gt{{HAA3 zusUOCPDHYT@&*H~7a050c7r-_CaFACp$BXx)5==@fC11Gn|n~~+u@6N-}lvdyl3&6 z<#c_zm0Xp1F!8o2OBbFfgzzC4vno}9XEf40dGaVo;jiwiazo8hZ~iPVD(re=5k;H| zotm286$6nnTeIw>1FY$Ri|t{Lp?o(Fg3g_>|y~Z+16tvyLc@r?t9g7 zBuXyVuu9bC#q`?@OFIhgS)6v^XP@H0ukl2X!RPMsg%`YHMGad z4{VsgxaprFss3X%HbZablb6IdaNdbISVWp7yQXPPn=s7?J9qLEH{4>XAv8}%h&TDg zs()1sh}4at3nL3^%q!?P9BbW80e*ZwU63}CV7pt}gVu;~V6c$9p+*wfhw!zeE-z|V z=k{Ksec2)$Hu&?pRh;*TPk0T$Fc~^oAoBT4q?-Q}Y&3DluXeoMQ0LesTk}pVlf5(I z$dl8;zA0&=L&z*F*H>W7IeiPhTo@P0VTB~vyC2Bm7lCN}t7@NNlKFSHGKkh?z_qij zoYju!#D4b28cdslLdIM5Cmqe&!v^IcRr=qq^?l+P^n@6}fh@)IS81hx)SPAY7osk0)^ulqC1F*{hBNQl+Y}b>XjVXnS_Cc!L zIZ@Jq#mp^E&fKT~t4DM_^S17R@YJ@`(7;zv1mz_Y=~q*Gdg#*yXGxotY=#F|lvhPM zjlE)VHS=8=)njE^c7M|ZiBqARx>9Ib!y91$70iC8jPi$c+ysP}5Q3s`ti&1sx>~oG zI^>^1onS%G`mtq&)cZ15dZ{X^#MOfatyH0I=l%Q)n z7*@kZtC_3?=J_}?_G@?F?UK<0_AhYFclyrS-PkfYhAeVHcF z16x+quy10*2V$A%p_|@C(vlf}j3uY83h(#TSr$(;^8(I={_=YQQWmA9-IlwJv>tQm z=vN-I{TO7X`;qBxwb5w$91YLV?ZD5}pddq(7IdMCH zi>`qAn|#FITi!L5;K!(tYm9r416}Wof}P8~?R9I9Gp(?VA;uQg19MO47*gS7fH*&jBO!+ zA*<^BMccHjJIvGHguBb4a`X z3aZw#!c&Xr8&szD1+gu&;vYfoWo>0Pxfr2%m34tC33fmRbzWF9I_Pqb9nNK@N##9_ z7K)v)des!^owH`MoXY_O?|;^9;comiPx0e78xhnnVvTYt+t+cU1rn_>gaFJsL-iPn)?<9P9cF#4)7q&v+d&6|3G@s-AcJy+m zE&u*GUaMK|x|4GmT(CgBICk`2BP@3rqtjKIRD#uBy}y*d;<>`?W&mGsG;i*_}V&^tlP`%;=g39@jxP z+3lrtg*!i6N;irOpUfKcd;iDl5a`<#kr8RwFm9=^m+ouwwjcXmTB}w5V#9IF^&Bl$ zr1$Ly#cQ<3u86>am9}pk&i%nxu(W&s@>qEDtn_xVtH-_EiQ}iAK4Ssfsdn&L9t=)d z`XOQN7*J)g$Jrtq0=-yeLnHg*23LxYA7$cxz^Yc)I6E-!;{LQwu_wfGw4&MYy7{n< z@{g0Hf)N5gAJKQ1Z&HGPn9x9B7U(m(9K&=+LHAc_D{YdMBZs~x)u1Y8|Oq!`C4(3_9<&$ddi6>R$Nsz z*ti?=jA-Sr_97V}feo+}Lq3-cfpgWR;PLI8s{ve9@?e;2o}0MpquOucipz^DrT}QH z*(<{nLb4h9799hx4&%I8KPj}xcQ}llgcaG1!nRb(PP?m)=CzA4v%6>oOe96H9 zv4mUhw`>V$29k?)$Co>qIqq(~3w4jJ;Hv5(RxjB-j_iEhlF;&|DDC|I8IcT>Vn;RY zhtw5mT0ygXAu=M%{^;GqYuYIMu4H;Mj--5CL}|zMEhOum_o51Y7i|D>$XmUFoe;@1 z%GsTUsKgF4w%-Cr3lg#~h)8;Lk%WQTLBS8r*sE{YBUDw4HU#o}E)8pVIEfWv&14?U z-+Za${OFm=>IA358en)nB5Iaqxw&Xi*ty@uDOX8o2c0tq0^sX>ZXD+Hn|;KY!Omm1 z^%wgf&Zy9Azd?vmU`~zuOOA0{TZ*mAC!_>|avcN83F#c+sFn_6tGo!v?95IUR2bL$ zlO(OlhszqAgy)mNt8PRulC#6u^SL#z-O&@{=_!AzBZ>T4ROorj%fx$A;u8u>saum0ha7p zeHRX-z)PW*@v9bruyAtVI@)PhaEs5kp`xyxTQ`U9$Whwz#z$=U$V|&0w@EfCUS!Ob zACSTE{VeC-0V~ZCpkKq~P4CLgdOeBy>vB+0ZxIt_Cp4aa%vI#LS^K}ui07WNo}5r0 zagMHmq-jqTf-OD<kAvu_ob1mUP%1jxeKqB!1&-)_hP{p74hHE%WM!atyx68j5b zSqwh8aKo|NIOL<2_eiX+iOsRP`{MUt{0iQetB*SL!F_8)_;0f$iJ4(o__4KWuvy_! z8TZ{dTb*rL6VmuN-yl2Z>0glL84u^jAH^DQl}VRI=x0CnuF*|;|My-5aPI;>(mo+m z`nyEOe&k$RG11$vEdDPG7^raBCw|#C*4#pIUoZJNx?4|ZC{)l>+jaSiiJ`GBKf}l) zUk1>%A61hqy!KvfRsM^|u6vwbH5WpfH(I5AdpBAg%rar%zW}nccGxfgRV4&v`tEoGyBq!uz^f zVqWEtxn%j&+Q2Fi$rL)H`M_HExP+?mFyN^){c{JXs{IM}f}p>7lfD zLZ;s)%6a(Ow@`(jP}k~pn@!dv6JhJkZf5UoumHv`g-tcCs)w* z#0sc%t9@Li{p}f*$vg$UiQ*RGZUr=ykDIaxRDU_(QfcURuYrpX*7IQcS$(Buw%VW7 zxaffDgn{-=K@iEh)LlPc3MPzc+qM^>RXr6Y8ASnP&dr6fqmwYILTpmh$E%{Iz%Qz( NZmR35l_G4O{0}dcmS_L~ literal 0 HcmV?d00001 diff --git a/docs/assets/images/icons@2x.png b/docs/assets/images/icons@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5a209e2f6d7f915cc9cb6fe7a4264c8be4db87b0 GIT binary patch literal 28144 zcmeFZcUTka`>%_-5TzIqq$xo`r3nZ`iiBRG(z{ZnN$)K|ii-3S5u{fmRRNLEoAh2n z@4X|01dtAA(50@mzH5K?{+)CF+}EWTz2eMdW-{;n-p}WG1C$hCWW;pD1Ox#ad~k9g4`y4!oVfq@3c(iW~uhy*`T7_0aH7`>`EnYuXVq#+YC==3#rnNM4TqqzM zpi2Elr!3hl!ZdK#y0bV+yVc8rwFEtAX3=QlvJ&e-EsBp)Q`0yKXbNuf-yYw7kh0CD z|Flk1UuHgvoR+*QR0ee&IDUfUzE7*`A=P$6nC;BPI@VJs|F#`Xc>X!`<6%M7XXNok zw^unt1h0m>-&2{GiIGsByulr92XZRrazZs&&M3jJintF7A}cE^uW4zt_r81yHt1I! z6-_gmO@78G3$})kfyhR0^qk?zev_%4R$qSjQI3MAg0)9EM#TOAD=_tf(*)S$7yiiR z&5v>wk3Bn**iD9S_I#2%^vi(^O+gpv2i^A);6^AcH%VC>0nH8|O!jN*L<#RtT z@aF9HMNu*d(BdiZq(LBO%(qsjSot+ZXQd{zLYh#CvOrK(?#u+|XYRylqcXOLk=m!) zBp`~~1dg7kF(Q#m)I8ZHMOD5%m&U)5jGOW@7+sm1N+O~^j*zRG;e4x@OteV=T4yo9 zSG`^0j^S)ZYp2DT>}AR|n$S)4FPI#8#(R~;Y**AZ9`&yqT;p`rks7Nhz;)dn-TgXU zw!^Bo@W6|jfp@}ijsSEFo#x3LnG;`o_yXK@2KuG8cTv&K@=dU?_PK*6=YU9!Ix8l;<_!y*Qc2phVpLM}&t|CuHBv&{M$K?VXtTabi(7kUMwV zl!>5cDNNqK6`Br*B~EcVh#5Z!FgiJZBN5nzpC7?UdAc+&AT0ivd;DA2$@YXMPK6=< z+#U~?*!R0i`3uu|#zDrRRN&j-j>ZOu#h-n#7WO^)@0> zCT6a$LGWwFLcPfN=(3#6`*UIS%uIT=LIXV-RbGE&!!+8)q~dkx`l{aKCe1`{J<5&< zlhRo;JX-UC>5)X;mwR+W96`@&ucHp$jIb~B_w_=mH>In?BLume!Wta=`ca+&7~pek zBVD?f5{nelCaje~EtZn+g3%5GJF}R_b`q}IH$Iom2IRD$^h*R)Cid8Q5~4Dzm!P&Q z<`iI)4wA#l@TwjPL)*9k5Vc!!;`9;bf?HRMm86wi9LI8A%*NGep3g11H{aP)>%l2Q zRMMQU!*0J$hJI5Qs3b=6?}qR7O;BU%Yzufc*ZKBV`}ro7zm=C?OY6Vlabc^r6r7P> z?1c^jD{e4n*Ou441V=Pd1eE8utX@)G5gq72HQAXLZ4l2wKd@yIYC+s) z-mu`E`kj=B!)a^B;pecv4W5oh>_tpj>^NU8L*eH4EhcOxQ|);$x(z(Yb5^tudSptV z%8z{(h@_t`chWkvFX=r!p~Vjhf1AdM>uGK05$1fyLb5D7m0!MUKW=JTZv)bXz9~*F z$yP@U3UE0=$;yjWr8b7C(1^oNDMZVxYYeMtL}ZnvQDkm>S0)=r_ugabEZ}AJ<<_Fu z{I^KKIz+V8K|pK811W5r##z8^S*2fr9Ln zlRG?Zzz8;xu9VSE8s+=(!^TGi1P2hC7%7MUqF=cZqFBtJNW9BROV ziv0cjsUmVvsU^X!`1UivK|dy+fSG$3YH8W0`q${`)taBT9jV{Hfh|&RIaJVvqRIFh zC*Rmvl&3*;XcMiJZ-+Mvfe0xN4N?AvJeABnNdgs(BYb!fK5<1)5UvM!Tz4_aojmUX z#Ymoh)m%fN(>6|#*RP~Lxt1?5);w}yT_lftje3sidO&MxNgcMg9@S+>M%s~y)0i`8 zT_+7LrZ~d<7V^K^C^~ast~@nM04^c5dw*&660^p%^R>n4xzd&jo)Y@ z1r=F09>jFOr%wsj^a3;>N!{rvf(qpkAdWM*5IYCsuwNwoJh7;9I$#`T6-NUIEKsiS;OylQ(XY zQtCiR1dyEGJV=~|zaFOEveB&szAVx*wsyuY?hiBGWR{h0!D zv;G`;F9cnib*YxugasrI^%uy@i)>BvC4V8@! zwy5#iHC#Qar(i0EPA3CuMQbaKy4m$CLjLSNwJs!13b%h{&x7479bv{SjC&3?SO&)3 z6q4nRRP(zOfw-mQrmx@Z64~o}GNXa9YCE$vD-(CLseaF%6HH+WZz4 zbRiJ~zAtA6*i9;z!+zZ?9~V0Lr66|Ae;}U1e#6D^hMhB6XJNHZi{t>DgU&jb=#rPK z@s04Hr_SOr%UCRY_SdDuSw^D*Rzre~4PCqgc)DBYam}@G^TxsTqX%w-yWtYU-Q2IX-a2Z4Kz_-yIe`m;x2bY1F?XZoIH=`uW{$R)ICXxqU$- zG#M6s!fDZwUOA_cs|PXe1T@XN3^UdYyR*t}943A1dTvXp!=%8c%)(s)5y@OJ@@%1a ztlq}Uvhfo3^ZO>ZO|NKfu37JMRRmXfJ_*VOBVnxFFmbq!zc%A+R+w|={11?sJpmca zCeCi;;-*yO)ywzKxa#q?E%@U-+LGH4{=2|reRd-Kz*Ps1$u6sPFO>{K9^k2Y!@=h7rZt472^BCU& z|0MZmbh1HlC3#bcjoX#m73R?H>6oW=45{gu0$S>j`v?``ch#0kGur}QbO_gO3XrB- zS4pz-Yrnqqt-k_LE-&~ox9gd#^n&HE%Z~grM;N@Das8-#U304PA$v*rj36j~qQzYN zsX>8?%q9DhpxrWR@M>30YI^WUDh4bcn+*bYn;~zt_g`$3{#G+=lBmWE;j}5e&vlDa zjsdE(Xg^o(Z|3$Tx>~-q5NrZ}^$y0eMd|h`7Y4OWkgF0(Cu&CfJV03AKfzSGBhMU4bqd4kc`qE!CH4Q^FdOCtUHaZW3R&>S}$! zhk=OYL~3fch$-?wa0)OEkynDzJR=vc^vuUQ$hF(>E(q3{7{4uhC^f@bzHUZT>k%%R zsekA}E`OlGE(x+lP1smp0;Ba7{C$F=@Pp~i$AsJkc)x+3Vf9xQB=aSN>D!T;Y5iU~39#6yoQuj6Bj%kdYC z`72YjnSoF_A)d#@S`|;~F|6TOn%b{4?MWJC4uG&NK=D zqd0rU$A@62MtWD$=Gg>TgO6)b6Vf41#Au&Zq<@p1RG!t}NG8kv#>%{bHuCdAeIao2 zkWX{dyO`XCdv`FlK?jS{48~Uaz;oD6PtoFF0u6HBTHCHh<)5wP<r?9UIw%{psu)`l~*PK0?1^oH}d{D_wF{En-ejdBHTK|(*2$K?xVkG zwYXl8^HAjVOqKQj0f6s~O`)Slp+alXd8@#4Iw?pHys|MW1|l%ipCPeN)|fLB$Dc(9s}LNw@?8G{ zU>U(Vid5}ltIy~zNv>o09)rC()g8O`<5~!qF*Z_?L;+2Sy!WSv=}|67mnOPb!A*2; z^f>okkk+f3+9?Tg&6NBMX%;BtB3Ds#(PZ6E4`X0e`~amc=9QGw3J-$!nw6)l1A8;m zFdl>D?g@J3P-41+3N`R32d*Hq0GWj!{3n&rVA)dpcB+|5`XZFFZI1bKA7d;-x=0wt zy;$6nvCJ$_&JDjWa%`LQYq&(6LqBP7G_+`+4$|qk7IlS4wK{qnP-3!yFO%_fw(8(Q(#|htD?ECEYPeT&anf%0GjGQC<0)vR3x=4pq`@gX z{0?*O(e3p_zu@N9G2O%!F8j&|FRhF(c@BWMxZTpdW0xv^K!`2L39%+Hs0#R>a@n-J#u*kF6~?DIhPrUi@$pR0tS?5wF%PE z(-eYCc#{7tVRzd>j~xO&LBPK62xxwmxrdd{N6!G1hfD0H?fV)_B^PBIm|@~CZXnpdaM=<+?&D8Md^RL00JfP zK|cm@`4bB6muuN!Zck2>k+wh^8kM73#1(%6#^TG;42H{?eTC(h^zB32g{Skc%t3Dn zcHX3$TQhR}n9xXCd$?igvlBH@ZU~p4OO*Gf=$@=w?9vYs)!RYa9V@}xVt8Sr4y_!< zGjn5?gnlSKhqS-YW^o#@NScez6I3x{ zv>meTLLYSK!pa+|kqQI8rWST7_)jL~mqQ}Ou*!V2U-g|ZR+pB%Z@w|HnZrV~uY*w?_gMhSp+4fY?hMmdNXYD(iruAlj0&qga8nQ1=c#y* zgYc@oWp>=|LQ+s})zQ5kv*UF?QMJ2|FN1CzjX$x&TwGJ!4VjOiZxVDVz#r28{^WRn z{o1SYRs*^Nt9(ZX`wad=44v--X~h#aROW$yKE=n-VWRfhI&wn|_X6(` z_WPK(bt4Q8gxJ=b%BW_nNj&h;H;2z`{vi`~)tCBk(zGYBp?f;(Ua+^@+rKm53ld9S zPP#A^Wv7>F7c36IAp7(%S716|mr9fnL?n&Q*?OcmX7>@shP*98yVXmJ{1{z!s;@_D zt0}M~j-0t@?)wY>a9PxzCVtBiTKiS1<;-&hv5CHiv=8d$IOnl?aI_>zR3eW}l*}`T zd7%jWK1w(iqAjU37u~dz-4@O^=PWhD7_yL+z1;-hnPx|je;QFR?I_x6McEg|;`Zuf z_}_7>V@hb=%%^H&>8W{N&Ud5bKD%p(B6#&l@nN^wOdQizb`@g}g1c|qGqGr^c>a1w z|5;G!BbS8(8#mlqM+re6&;L0Ba$evPxRGW!koG@-z@*c+8&^U^7Q+0jgUtgB$)Bh)OGD5oa(ju zL&w{}@q-4qVXtvRtXul%gWH0DxXe$&?MN>z2jh1!ElU%a2;fz@xaTyfs`lnr<` zLv5teGAw`KJIh))Wg8JzoRNMyP>X1rhr)=#Y8O6Nf7>}xLS8!@+&6k0h#H>Nn{`&~ z<h^0MI*wtWWT)UGMw#$-to|sCF?yXL$;_=8T>RsAI7ks*W{$R-UI&M5a3{Gda?9J z3PeWSws3vp1$(`F*+<1X7B6hG<6u)lqr|?N&1Up;Si*MeoRFeRNGZa1=`C?4ZaPvJ zuHL9EQ^d$jd1pu9n6iBgWPMtJyxmfJGQf{a*eag-%E@KZ$^*2_&F#h|LL)2_l*QS9(#5T>)&wtE8a=@FF+vG8N zk>*kU^97;}tRP6EGf5HKhlr6@^Nb7N1`_>QnnYF9-8tncspx59kcfE)TtFun#cCjn zEU2;}6Xu~xx+Bv+O;tKLcuo?~kQbcPghcWdz4-^H!wQOhQukRZRMRk>kfMa~V;A;p zSqpR3D87(4X}j4Awfr<~7h4dgK)pzpZf{bn z^yt`yH4+85n%*$3rL0fWi>l^4|J{Qess(a2+0W-O>gl%xIaVi`l9N3Nq}{$Q?o$#6 zP(6};On20~O*x}!V+=9YO)zz4yeTv@_04tEzA@Muc((5aTR+rHpa6@RymHX{a%Ss{ z+ZVey@TSCpCZq6G3WNWPfd3Z(|HlaUnQ37#)!hnd5VH}%lQbK+^qVrFox87bV{eTd zMjY@0wT+?ndYzV$vST&K{gWpow&Zbq;%=a$(B%@MLh@v!P|L4U zgM9JBN_Gb)g+}3@K$8-*b+GGuC&@6v)Fomd?4){kVQ)620*%U<8saNfLM+ndN~1z> zV$;~rU}Fc&M@|;i!@q(ZqbHdoB(EYYOs>u5jd5A-M`}}pr;g+_B5o2kj-|Pa zF8qc!e5d+kUV>;ih=57(*r24g=6@)>+c%LfGLw_-Bbm7r_`az+tag}5rqG&jrg(-W~CJFkaxZTf@_Ofx@ zzxqF#<4|HKKBpc&B9R1r8t{!k_=WNfzbR?aogs939=bT|!c4N>91ai-wsc4|JdG9y zGpB1A4i1ueuSS{R3h}0^YLpx`pB;Ok2-R5 zZzHya))4+|xc0QJ*&1>3;@0$RcgE3M_rt55cZ9<51j!pV&i`8js3v%e$CG{I{X+yj zruhC$iN%UA-Y%u_?FQq!rBg;{`8h`ZCg^bG&OC=733*%4cUW`DPGqp|OgNy?)-Lky zuY7>yw$@M~Jl&X?9MI2RqOdsWZwzFd6{P)UF5-=GVh z;$}}BvAUMs#V{T@TweGxI7dhuIzFqotm&oQreos6)^Nt1G4l8ce%&u1F<%WFM9t;W zBAEtq#1FS}e7Gq{9nzJ-0@1fhx^+w)&5)h+@I@?kv+h4xs>`xqTMB()kR)QH0W6ODL=b|ea)CmcTzPItT=KH66{L4@p}bW9=F z=+(cM#QUgiq$M^X08=_kUPU7sf!8j#4rN7NO0#TX0-;8=ySO&T7v$C}*`++cHZu0; zRv+{Je*j9;z>+TGv1i76Qc^1lu^>XXp&w}t;MzI_nTpY_m?O?J|UF!?x>j)zIZZ*}uTg|S?56^~@P4iEAwq#7&c^D#OmVAeT^&ib{UcAER@k$$X; zQdR$NNz=G^;6|aY!VuP>0e2>_I^ymyjmC*~Oj(aU>lb7XxoNc&mR~HbdffiYw#m3DLJ)nb-vczmSGI=PaP=yOJ4mrW01pSsP02=(ym z!R+#8VFsL>Puje-hBZZ0gY`?oFt44R6Z--pJ~w8q7te$W<+z`WB)mKtrOR>%f~{*2 z8>hh;3|%NPQq8-xDbWw`*n5*Ni7GB0zr7D?q`b1s^a4*X%Jk>EYA*r$va{t*S$Wk8 zL^lqaL9$a?PVadKA#e`-ocbsFKC1awpXsVmMxs^Fnz9Tb*6tD1sa`;k~@OqRo@ub(|hVwu)j^O#EQmIetE!ma(-|!O<`ZRqJb<$^dia$W5ARK;F@n)=G zXY|L|OhQ88G?ay6&;=(qqYF;O$NJ7x1?PPHYJC`UButfql;CF9^Z@N$9e`rgvKY7- zzkY{r^gSjplQ4S;+v7}YOOB)q;im)xJ8Tb}^>Fe{+E{o<&QW1zc~g`vO5=ii`UUW? zZp)~%d!YRLs1P5Gsp1zs3gc8)u&mU&?P*XcG+Tr-__K7L+$}7WQfV_Ngi(tq_9feK zK+m&sYg9Dt?NYYIX6$uOy3OW4i<~fWv+Cf(7LSO2Cy{IK;1#Y8C_5@I{l+TY*=I|v zB849$N`$Qn3)Wezrk#N{(Sj^ujO*o{#sa4oD_O8zmLim4B{5HQWLd}YpB(b z4G-q~15C`KQcuBSO|^7AHPTM2RneHT?`cv7UxhiJ{_{;Q;kGe05x5xg&K3|_>$pD_a&U>aXaI13$(JL50d8Z5nu7>Swu zA*$V;mYnn2)kI5c`a29y*`L60#8U8YzlVb^NVbZO*AIlUcC6{g-vYStoB)oYa(>HrRpU$_+Fu$?E^-+?mgq9i+l>lZ?b zT6(Rs*ytr2RlqzPAC<(}aFaO~EuqFiP9Nk%5YV?9#t-?A=4jtCuRhpfZRc5{uXo+q z=LI8vUYPpMT}NAmAiT1T|Lra-gEjft1a;1k`{Oe~KvJy%Wz~FR@vzsl)Hj`G)zsap zD0(^YuCzHguv&0Ryn%gl!eek+ywQej&`(Qef(ql7EcAYQoG}tAUY=Ns0uhUO05V)*ND z@*NLrHqhR{%JlU-nMJbBbn#Q$0gDOt;1glG|M6dhX@zoq#PRvcMk<`}n-dBYPlDbf zY2&o+<&J4^>4Q557tWSxa)1M;mS}X$!JFe6+N_0AI?erp9CdjDGuyvnelpc04y2u#n8-PU5wo6P&9?ZpnONA+t}Ucy z&nD(V>H%M8avRC7jdV$uW8n|L5W6kw7|(e8$j>_ZLqe`6y!1fWM}{tJ3t7HmzB894QuSOpNj=&WDT3e5Or0)3wFwasb4%9_M@6)K z&l3J-@<{!8U7lZ%P!XZsO|ejU04NSjBEBESP4Ff6+T}!&pxTCxBG{W z{I$5gyC-P##k--2l=5r77AsRg@o4?Q7zqe%7Y9-kbSnK|KDcKK;nZqb@o$i(QzUtW z4FlkIku@T67|OO;)}XWaHSwT$i->~}#O|Bld^q?M%%`d*s2x9BKP zZo$OD?q27J1NAg#Nd(Fn?4I|PbI>nwdR&!F6YOHC^L#n$QG{zQGnjL8QL{~TyS%sy zMT%4c%BbJPXL6?WNg|O1-c<>qUm^=RW`+5)eH2jAI{T^M6-_natW57V(D?*MKT4n;I#vjkQ1Y~X{0hj4% zF}qYRzy8zJX(%d$`X$XgPvDafqM65Qw_;|~(JO*m8-*q1ir0~W4cd`@#KX3_GEp5t z5?rPAGz%$L?%(5dRFgw~R^|tdxXDGF>^=J2drvtC0;nBNt)$2d+>6A}c}i_~ef`fu zywIKq{Tp+H@09h2i{+Dn7?p7~8D%gZ+<(bq<1f|tL;Qy~w3}O7WX))3Ej+(psj!1- zrlt&tNKU|u?sySN{!ByuYY@P5bL5@7&Uld^k~iLzJaP7WDAI|JZrsHHT>hmAC?xw& zC!c!IBNTzL7K;wAXR3vVTe1i(oYdqoy3H0Zw{@>?*4UcFaMCNHwib2efs0(Ync=2q zwM72#(Cn=nv2ablw^j({)fdng^E-(uP|5UD8@CzqpKlZ^=HH}?5{kmM7vLAoAatc; zwH5KZJkkdhh8C1p5+HZgC}LE+Xu}KIn7|*#?;j-8^-VaZ5jOW{JA#*;g5p`(xTiDd zKkPnW*IU@QEsE%-JWbaZU2+aF3<-bfklBU}TCC{E-~c1suP&!}=v`e&X_xF{wro+L zcgxt?1af+ArOGprbI<(>!E99@GkN&7?#q=uz{(bMN@|0qqxcTr07b2;i>k6W8Za(r zOGe?77{mF3SVV_<+hIDRNdbE)(lSDJU|Bf|swOh*8)pQ6AizER8M>1xnN1+Qcqhg$ z&ak{6PD5v75^-mAcvoOH6*!9Hkzpt)*#Ip_vNoGk)^|nj*9+w7+7R(=j4q>aw<4Wc z=nBx)kd4$ER29&>bnknJ`n4)pOczJMPJ! z0)p$AgO&S=`T1(PYN?P}4cSJ%&R?iNexQp^N$*`-AbTP7WfZIW#P4d}}S2|=#O7ke0mzh*aEWQE)y!|#~iGCKXe zpzrFFL$pk!^d8pUI(IfGO<%TTQHsrDXLDNnMC6*d0wT9m7x6Ft7V=_OlTqkuj{x>p z;1kpB_NxE04RdYk)Y!laqUU=rfZJ$T5)`7`QV?5(Ltg_xlECcjtEa{J!@6Brx);>b zl?P)xrifEIfWi;~!Hgrq*7bz~i3BH#^2_mOIb$vnOz3yqef|S?NrX2~aMzcrlIGhJ zJ57YYnbrjk0gMXNJsZ;3!GV3+U0eN7l{dNPN>2^D{M%{F_n#@Jh)M2G9pb6tlT&F# zzc){OFWO&LCDH1cNMGR@X9VA+vt>EiQ|#sD{Y6sIh0eE(T5g#Bhn{L{CgdEL#dtrL zC>~e(BtwcN6QdM$0h>v5cu{@BvleO1d{z*-w8N(k$wHP$AXwvfT1)EL-?E&6nLdTq zFA@*HmwLR__b301zkRRgd(MeG6hCvppG6OwFv=2NKQVx_rQX$Z3q-DFDcOMHtbuC2 zb}=nSGqv$BlXjj(ahhid7ECVPglKaK;z#;LgZZ+OisWYuKBPX7xpErFk*@EYkKqg2 ze61oYkPXBN#&}jK`c6OUoF{pGlCOmyvi0VbqIH)+GaMDJ>Eg{$20?GwP~=nbph7n3wT-iS@IWTjG!q<-}5nJdNKFs75SDJ`2N60FM#00h+c!NU0ufy*_DlHj73t z5%X`Hqe$xxtHUL9%+{FK#XTYqf1a`&Lh=``4pOX3cy239FO^N zfStakz4XYa-?AppcGY?%Pj@WYmLvxBlKhq06UyFTy`Dj|YO2D`3uG#B$$f7PEjp~U zN;XAx*Xx;j?A}%@n)?=Uw67Bf^MPlLUonDdnT0whr^OXyCbtVRp^N&tL4I{~Dg4l+ zvxK9}?_3)Y$>n?i!054VsQ<#MMZ=Q@luen-sz=N_VC}l?`zNJtA`krH?K@>?REBq0S+(}^2UlFWDqHi30Pa~uu05d$T+-JrcJV1?aXOg(}Rs zl`@li5%>|PHxJjZT#h6)u5#ukqU%dvk;$HYi|x;L7naNA&)c1zj7(iIm+BYA&tK7r zwW0zwzaX`x0|CVQVi4}J(N#ScVIBUXBSyY%CN{!aH)SJ(GEwpFU}-yF{d#w05hL=m zqA}!Sf^U&%EPmu~34)ZMEMWZ|Z{ zf+Da%zhehlo-wY?=x^Nensm)O!dR`~B96^wloNE6>dRY#u#pQB(ftm&2{0{aPw);3 zLS~XJegtuFdsZ#-4}Yw<2z1ya*ZublDU*Ut>&i)(l$<$AW-E7gWuf>Kh>nR@=~Jgg zYVeI|2kH%1E@)ScwTRMO*HTWJ!AcdT*o-xoiH_PF%JHNE29RfRx{{W~Mn)HwZeR53 z{~74suQ)4?@;WN79bIYU3yi%hNhnxTu7in4w>kOLA9 z^_cPfyxl`BO^Jaqzdl`|Ez%y3HTE#{dbqX?j$5k&zQxN?z*CZw+vAZV-WEk=-9oI^ zi>;EFv9pBIbUMsM{{@)yaWwa#nUxs`jEZa5y%dJ~ZYpxpbwF;r5KM9NBrtI6bS49Z z{7GcMaXGAxDfXDD;60Li!JF~fHPwUU&ynr@B*@3ChF52>+Zzj(2PL6C2Mor0xpcaX zJz8ihH2PY@>!))WZIW^vV%K*vW$Xw?vcF2|dP9n=qCP9;7B^IZhW=jxJ&T%Ztkc=ADNzA zsx*6uOG(O5$(&<*ti|J7dW)DtZjKZ4%;`A)POZf?A4Jh3X-N5M*8W<2T>+@m+RM zso4=f_o0cfhnM$+auk~mI=kVgHZ;l-+V`UB8DLApLi~fqxxCu82ZpTHwuvkJ zMaL0c$(fK#3^%@^>W3#TVHR`5ZG3y0Clb5K47#1K#yLmQyhW_55~ZZn&H*`)Kcz#xCRQCFdlucHx%dY1wZPf=tL$KK^-_TTkBlg%SX#-AMe8 zDRJaA`0SE_!0FPPn@x{0rimZQd9k+}88MLx`S?6fu6=l1Y@h3fs<=&*q;z=urTS=C zK%}u|(8k5e&Y-zSmoYb|zD$^cY}p6(t?!f9J6m?2>Tc-Xy34Rp*Ug6P;_=3oS~ z%u;Q7%I5MiGqZ{d!-pEl{0|+1NTm+haNN1M^6$Gh!|V@!B;}D{h3pn(C{xBk%}#IR zO1TK6*^j5|!U4^zB>Fw$Ab?>qDPT1M^Jx#~^C&2cPdIB_0;KSVNk9r$##HLTSD_Z& zz)jE%*Gj)7d9uVMl=+HdJ8%e}9%lwaY;_kEvV>UsLHx;mMC@f3lzq5Iv&y8{w)@Z#?E z$bXT?tyF)?<3bugVVY6(e@Vg`2i>|)$^m~$WioLwW}oXXZ}=w;=N0{LOx0{9*as^Bb{)>T@3m+vEip|GPIJDHTEO0j?I58}) z3~@%Q(7?0uCeHM#BsO=kytmWFVcmtD#HF#V$&{e5iF)nW6D|+WjJvd;&5ukcPLykI zL)z_SO#T-IEgtk{E$oT_$8EEJI%wS_Y2C(F)`01pzGC)%N-d}qrB@+6yelt`_?uuN zPMGYZCo678{Kdb+IPo{#IN(js1Ummj@!l19H8oPMb}r|M+d{D&z2T^r|!8rbRwlE=7j zz{QM`99y%o-F!wvWl#jR$l|ML^ohwPPlBQ~Vi{{yBOjvrhl~uf zK5Vk45;70o*YhtM&7#Sc2dfA3wZq@0ZZ6N~v6zg&MzJl<$ZNrwqf-$TiT@#W`2x6Mt;TiS4huyA5^}YIPTFF^l19VciDe9QgSuo770l zz$Fvs?0FY@_UtE2YE##{%dGmgZHHfzsU_`V*H`P4*F`ul(sYs9Jq*h6rbk1>eD34Z{2K;_cLbZ46halLc ze2%NUKU&GA!WwUqG&=coFm>87tCT*F4xGxo74O@5Y3xJVE!8F_1FP%~BdC2FS9Isf zXuW-CnGh!{^D*Drcrxc3Y`W9=5ZVYqn-rEs?8_&q}IoEx+VFS zRga(VCYV$<=Zq#wk?;b+las#o#HsNw*`FGFDeA^*xQuB(cE3~CcEUYt6MjgdL|p=P z2+pPgOZ0Zk#7FPiJV}Wb={;89-U46uTu_QI1&b)P=+se1|88_^!5Um>o)Nj!lfI}_ zA{$}3*734@W4yItj?m zLJCa$`Rn$L_lRPSglt!uro*Wg-e^WHi@NW8q5zxYdq%ULx=%RZ(Ry~zKFHmgD!x8n_+?xj`!7VyZLb@!Ht zcyvx*=Ox|L<#!iwxI;b}HqA-#(_&c7eI; zh0-~Nl>BWL;lGfbd$~ThM~0`;bnAxA&t^Bg46A9F67?ijVTmmSHXl37dKJH@X%pJ( zv;J34-$9e2BLwPjbgdS-#g6)O&a!wuZ-4?=C;(W1fb*oq3F7!&Q;TDT{dSIuAJ0r( zTYW}1z5Y^?(IYRkcvPK{&UNZ!DTD2NG^^l4v6pZ*x!@0~FW+zs*VWLZvD5?b&529v zzAIr#Blpmqud6Eze&qzM(zwET6WE`YFdmz$)SiInkY`uE9 z2W8d!Z|P-BLFnbp3rcnGlI9P_{}G(V#2CJpq^&-OF7u(-e@`ex!`4!J7AZxIWjne$ z*}p)Oo)D;<^YCfczySXZ)mxzJ%Trh$e@@Xs6YI$UjQXTpMM3=OD}yJh-k2t_G}69%^Fr!Z2HQA5*4M*x@spn| zrheG^IKj0ez3X@*QK}PLKen)$lLlOFZ8tSxuEOsfZ4ZBRv~f7a=7}eY0qYvDhVUkw zZOeCWJKZrO(yrm9v!+wYKhPp+8sVTN>nKBQt1)2z7ZTr41?oJxD3UIFa*^`;bD2FhRFQI1$)e-S7>YM&OE5M83i$Yg1gC4XbSB(3HY$XeKc0w~r|t-}85eyvq znGOcAFmP`I@uNFB6D-U3R7zi&HI?4$T$XBCYp7jyF2hIU++&75Z}~Yj0lG(o!Q{%x zle@H4z=iwQ^%fFV}$@P%l|Q*S||Fc=aU(OuYN7&dFa}V3Nc7J*3pGRNHysT zpl1qYqD}+z4udN>1yr0@uF3~3%~hGND|wBbU_IaPN$MmzOSBa(DV?!lmqJAFWhao7 z6XK-N{+v`HO%=al&V4z}>Sa|@+Qf8!nk9bZMS#vdzl+RDih{^-@~-07nqb7URdH*R+DD=7!&A9Oi{-a*?F%R^?_>z|&W zHQ+4C_b)3pp#^K(qJHO8s1UDOMw^aDYOOebgZD{HMbGVDVk$+=PF2;lVmdaX96DD( z2>^x9360&?xbJ=C?ww+GUzY7mi#yf$i@Zi^^Y}?DA8FLB1O|#d@$jX3gICv(QdzlV&8dxsHV(c+LsK>QTvzU6_ zYb0#5dCxZ%c~~}R7+|_=M1NiJ;GL(M6jlh!W$wT&BZz#^;TRxOvOoC5av{aK*jUdB zEJTT7g$OLq7j%VOxq7lBmjswrMs{Cq4i_QLuY?I-R*l_PX%)WEauEF6LE{{cM%g#Z zY=g9-pHTq4-?B_^ws)ot(CdUT(Q;?3ZgB%&0-LSJk}S~oODd0f;gmE$LNlWC)*SZw zTF2tWUDe>}3GAgFzfUW{@fr-5%+TXNF!#@u3xLK#M@{^pJ@RwHxR(mQv$rbM^u)yF zp7gc4+^-scO=w4GnLoUHm&|*G%B4)zdnT-@sLAXD{t?qVWoK?M#QmO7ZDZYumcROM zT0RXq?@|A$uOb2&0IX>Ab9ty?U)lM3)bo7LPM+d~0IDZ9U)9X4Pt|IhEccrc4$Yqg zxN&t9niz^0H@V{LX*57HW5=4LcVn`mZrtz!m-E4LWa#a&|ZE=ZeR z_be>uWC0uQotqmp(+ySAn|+s`Jh^?c#?)U-^^qVEROY9akEY4F$EfL{d=!)6%BG-- zzxb^*e?e$Rf1Wl1QT?k8F>OCoXwv?=Ung`f@oR`*z|{D)G%5h9(2EXaoVg^$f5Zm< zKZTunJXG!9$1R~Oja|ej${K1yXo$j8_FcA;rjQxV!J)?|Gj8yk6(bnRAXg-|KsQuFvOvU}1Q)$#BKFf7rFv3#c^C6nuM& zOO0Gft$Kq{^uZk+fBQMx4ywF#eZ10jN%@}^6Trc3hCtkr5v?qLPeTBZoa}i>5KfE4m^W45!H&tNIy2!R)_bi2pfs)oyorVbu+nl5 ziVqIJzcjU0;LWSXA>n4vmdvWwz`nJ(vB0=#2PO^BiHo&%ecgXrM@U_;#^7aMCflK* zu?J85J`Tl@CXG@Gz9}c1FQwCP4okOwbBpS37P8a>qfV`z9k+`X5YFPzTfu%UP!6y`Fvr_P9?4V5;X6Bf8{U9#rCkAZ zM&uVB!n66B@`9(+a&}!KKRfCf^oQNN+6$^tHoMIK!>*$7-0ZFr=x>*b-P5X-LgxBY zo2Ug*pNH%q>8qqJmtk=~7g&DYcueN3PcuE3&z~%j0gUYgSS9wn57tV0QdV~{+bxEnx{U^j4&k6Tg_t{mX$_Yq$xe=@q|jc4#`MB^ zJT!tidMB9LT+XqKk3JFN=!_dS0?dknKn##1>;EeT2o)}9LyEIBz=e4SFuw9d_vq)Y znKx|vFBXdWkaNz_)-AYMGNnQ9zLj_f%C}~7N!N>u)Lf+CfEIdIU7czh$QbcAide4T zZQJy*?<2fUv(SP%PV21I_X1kz7G8vO5oI)0xCIvcYt6{A`!}bwQlGSad^&0sE+dig ztCN-J!D2iYgG*FJ2{BPzy1^u&y=FXDd67a8y7BGP|L)Sh_Z*1ci7meUFD~utdnA|k z%FkshXa7&|yHfQ-cZaL9*88w++@nx&uAPsEVL*=wVw{~gi>(snR7!xUfN3m@nIRqe z$bxi@pG5F$L=in`nIEOo82`J5h_9j*7~_4)pr(1ea&G+SOCoJiMKDK#1^!`Tmo zu(KAj$s(@Ez}~eSFWD$y#q zslU<&-b60sArh0MhfMd8Ut(rM_CQZ8FfKQivy3;fi)0|#R9eO4o~zDAw8`&mCJBRl zL+V<9>B#dX+=Ch6E=t$PUla#aJlOiq<<`$o@7t~|m@_8YX~f5JPr8|q*x0k}KKaw) zlj4s{p!Bb0(O2I@&cJP`BT4v(=^IBCC}>G;6Pl`dvTGO(u1uHZFzBch#Oi5#?{oUA zMDhff&?FU9`${$qfOt^aXNUDLXp}!L8o++(*YdqI@rZ`e_9q$WGiZtk%BdwBGNUQLOvKhbHU?bZL0ypyF6t66gl zm;}?$LvW7=cpykxJulrHg1_Tybvk9?!FUgQFW7)ZjiG5RKh5P)A-N+a_IR~*prd%Jub(3dwV#iE zEZRnitmR!zrZDwcFZbI$fi zpQ#2NyF^|ZZxhg}_2{p|uY5RbnD8K6ZJ*(Qw2)?}wekp&yaRA|Qo#DxsS?SeI+jqSMG)is9$_pX3e;QRCk`w z6Eyf}-+>ptnm-5fB$ja02cI*FiDNlWz6!au(Hs}CGqc@Mmic~|=QFFJrG1@1hjtXy z4~e%c+1cVu*QrSvt}^-J7&3CYOFA(;0v#pDtP1!!v4p;BvW*`n{US>q(dX{NUrV`ti>sUd7L3MP0-oP`aRTgYw5brGKhov{JH8&ZnR)OJ2X6Hj z*N%E-g5%w9Tu(o3p@Ox209&F)dqM|)8ypzq@>_T7)U{4lXM#FbS?FxaC!G^bZMM9+ z4tmuQbQP|}fWbv^^L6{ks3C9Ej)`TTPs7Rx%f;*+b8A$!FHS$N0rHb7YlE-;Os=Pr zQ{twGcgc=sfxFbo@AZ<0v(i)mIIN>SayZmhz4f%!>5C|cW!)L%h17s1v)z*m@qbN( zLIG`HP@`-xc!<{bo61SZlQWVZ1OuYl!Sb-gF-ru;V-o?-65R4%f%6Z;4dlCb<*tm4 zT`7ejX`!VvI;>13$7YHQz%+8p7l(Tpo$_JB4f^W={o?Bv;zK3iLCjqj{gvE5lo;fd zHH{q|VzJ(ecLFb~dW44K((lhkhDQ$2inQ@ZcRq7Y>-^*1b>gOVEt)4}ovdHpbt^K@ z|3sf`Dm|bJwcZkK{pP34+PPS-&Y(HzYpQh%%*U0(ohJ^qYv&SPhZse79v3M#nTUb? zTTjUjU*9&)0S1{kUx6pKuPYG_c~z}evFZy5xUz{>?k8wd2OGRLnS6!W@2E;KWyJGkUt&UFTh*2NVjj=kW%jj~V001z!4 z=ACav4hf=_2vC25z)FK{a-HCIF%1b@(>NH^N7$**yWUBYO61yA32R`g-kGrQqT2&s zZ1aW~`>zx~03Uhl@0bL?Vul+mpc)cp64nzfU1rpi*eG&?8WU7Xl4Pf1!!_iKpK_${ zC;xLY0h})InNl8x8hkL6Jpz7odsa%}^mCw|17HWPhf{dC+kQ}x((i~n?<}jL=p9a@ z<9^KPtHyuVYuBL`*B7H;P2iVO8ICwx_P&$c40y;=GC7R)u@F`J-|`;#me&bZ9#xFU zJg^Th!=rFfc{Bw+ujIxWBM>U0T(6i0?6X&W^QWn?a#<*foA?<)RQJ+am_wkw5~pN- z7sfTpB>PChT4dEn1d;2VMl0o-hg^bZeAQZSZ%fT*?fK_jkzO;p1^Kn_+yjstFP#ra zNvx;BrMYSMj?`B;0sS zFuJaW4L~Ou?IWxSIxyrDP0$laaSx}5DtUOzHO?=y^m2JYfcOG)&~ws}entE=bCT7$ z=#rYt?lU1eR^i}WaqU8Z0rKPflqR^`l!q|k(Zo+khOK+ubx;hXEPh&3dhXVaKhK_5 zEWuW;iN*%L+&b5&xM}Dl-pY8w8~S%KsSYAxoEeE0RatjS6)vupzw^Mi4zR4J9^a9vEO zGsL1|=&T;B!-Hc|XANCOT4+&_Am}oQeN;)!5I#Ng%dGfD89Z`xzBJfQ5Uq?0g3AeUS9@IhE|>w~}OV)8>HvkoV#COPN{LT#vk8 zt2Z)j@{a(~lW*kv*4-rOL6sffa^(OAYdJ-0AsgF9gwSQe2wH&X@4yh*TSHt#%TNt1(?*1p$1*$&WoXj%(3D- zcQ5QJ#PkYUg9UjMs?vZCI$TX&{X=JmqECeM2>uCx|CpLx$`!gYuDe(vVX}YRkFG^k zURe>tw{_d=^mg9nvS?KtpkI=2?(iG$tPXR5QosdvzxGoCt z$$I=Gfzpq+2F3?10L^~%hk|tHo!byiu28i+0-PzrVDKCekd-_eW}(>Fp}Ancc191J z%LV{ozGVXd7!U|yD)X?cRj`u12B#u~Q22#>5x;tCwV54R+A8Kzk+(poe&f<5a*v*K zT2oU&Cy_LPGej(sedjw!v3{YylrY}sxYF)>cfp<-T!xEu)CFu&YJe?D)I%N!%*L!8 zEi#ZVi4r-oMksMF`zOoUUiq(+KVL}Vgk4zs|M2{i%LBzJSShuf5=6EJK+gfbJ})q= zG0GhyJ>s|)s`}>jgj5{06DiB8;CT5#UeEFuCDRNU65yFEh+SOUYPR?{idoz^hcctc z&442k_wYk5d(L7ZTKmy)4^n0o##7c6!_jl_B86&KbNSP0;&tq_AS1DeI66n%PR*pX zi2%0k-ZNP@3`AaRb)vJ?W}XEv*Z1a+PPd6tY;c0IY-s0=Iw-*C*soU) zC=bBofdMQRHt;f`m;%bDO+Q@6&hS8dvdDDe(V_H-k2t&!J`FL&9w2#0bHLqd5+>n8)4e;ua%TPUO&4#d!TjvD`IHe+m+wqABkj zoNs5r+GI!s>cQZx77EF%7%V;lk~d43R$%h9**@|sc6SSR>J07Anld(@sT0nyR>Qu_ zPhkc@Fj;M*AKsf3%f|p*H1HyY%3g7T%cCKt?y8k0=-`j0laL`{!mVH11jZ{=3)Zbo z21^05#asw*jiv?Hew&@KV*;teNz-jz?UZ2y0k!l8DBW^9Rj~0!uD>Ft|27Lg;_|N} z*?vvL_xnuig>$EG@^@kLoJ?zdbt0stXU1YVLJO_W zCv!h-*}a>}{Q3SZv`DX6-2%p&B;T>R%A72KsxXP5VK54m2trhI`mBmx(#zV{ zInu6zS{==2l?XBO^i7UsOK?Fk{?ekyEXECjxn| ze`kRpJim|8Q}?3d(XG1>vcoX%zs<(_g-QWYTElLe@&5AL%%^F!{2#PFiop zRz~d(ix56>b@e=g)qGNk>2`{de6Q_WxRCIF*6yQFR#bxy#Qy{EQ~~2n-V>tkL{`UY z&0Rmmuj2DpeT)jObl<7A@des_b`d1V25nwoq~e9M<^f>hHSU>co8g(*{m}-YwofiI z-mkS=3Wl~O+8MFVW{YqX8E6K**_pPc`QNK@m~X8Hg&Kle5qX4L!dd6!IWdLU*Nlkc zGiH(n$H6or(h^BfuCPB&?kP`30z;2(u1 zR+FQfD9dIbldYlRvSLo87bRrF5U656yei7F$Z+uFv&!-!9(3wD{QY)By0oUJmuQ{- zU}FV=;Y7LSZ1uxnRdzVY10dxWlIkcKoJet_HxrwC@n~W6^hFyQekJ5|pV<4XQj zka1?kZLfD%g`ld(`_Jln6>AAWt9jnwML-$NI@O($<9KJ{W`C%l?Zl4-L0J7Mr!-?21u}Dy5k;D zu}!eeZ*3?R;L}9xDghYu?{zNJxF-U5o>7it>+~T~$v2ua{;7P)^J*yJ6~TT02(a@l_L<@JIZo3wOYJ9t9BNNUnvpIZ184_1fah;Vh@r1saB z^4y@`7jq3dxmVlsiow+%)C~5)FovY6v>3pvw$J%t@r@7cp&Ec@j$@T1u-i81-!`X5 z*u0~!^hDZq+7k7};*;b~0?h1x(q(|(>8OIVD1hr(THoGWk=iwDyIPzQf69sA=(J+o zn#EcLV}QPlry2xM(Oe*&QuTxz|DO({_ui&T9ig&XSsUK?V&dy)5>MGnr6uw&*J)SR z4O5d0C2t!+(VG{Y3fFU3G4!F~;z`0^Zy$VT zlJGjGSF&$3BUtfc03n5Fp1KQfb~InA&8`q*1q&GG=||Hzpy6L2H1f*;LpyQht{w?} zDZ2kUk>FaSr)>&iD|Z|7sH6U!z%}z@JhB~OedrN<`}Lfq^UV}Y43>cn?*zZ0AOM2< zpX5w(`QSQaEYTvqHz~=NXHUjQf0o%dBkQfeAN31lR&xxOEgYHTdZp%bVXN280=Ana z^M=FH$n=5rl?&BI)^08Qe_`>YwGkkoEIR+Kv^%~Pb0k^b?3|sA#qp8cs#eTueeM2Q zRw=0&M&6mX$~YF!Y0ZBc@63#c7`f!9BKSXd@Voc{RoLU+XN*d^;RK${8T?=LBS%Bk z&gkb&o-U3d6^w6h1+IPUz|;DW zIZ;96kdsD>Qv^q=09&hp0GpEni<1IR%gvP3v%OR9*{MuRTKWHZyIbuBt)Ci`cU_&% z1T+i^Y)o{%281-<3TpPAUTzw5v;RY=>1rvxmPl96#kYc9hX!6V^nB|ad#(S+)}?8C zr_H+lT3B#So$T=?$(w3-{rbQ4R<@nsf$}$hwSO)A$8&`(j+wQf=Jwhb0`CvhR5DCf z^OgI)KQemrUFPH+UynC$Y~QHG%DbTVh-Skz{enNU)cV_hPu~{TD7TPZl>0&K>iuE| z7AYn$7)Jrb9GE&SfQW4q&G*@N|4cHI`VakFa5-C!ov&XD)J(qp$rJJ*9e z-sHv}#g*T7Cv048d1v~BEAzM5FztAse#q78WWC^BUCzQ U&wLp6h6BX&boFyt=akR{0G%$)mH+?% literal 0 HcmV?d00001 diff --git a/docs/assets/images/widgets@2x.png b/docs/assets/images/widgets@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4bbbd57272f3b28f47527d4951ad10f950b8ad43 GIT binary patch literal 855 zcmeAS@N?(olHy`uVBq!ia0y~yU}^xe12~w0Jcmn z@(X6T|9^jgLcx21{)7exgY)a>N6m2F0<`Rqr;B4q1>>88jUdw-7W`c)zLE*mq8W2H z-<&Jl_Hco5BuC5n@AbF5GD82~-e8-v=#zCyUX0F-o}8pPfAv`!GN$ff+TL<~@kgt} z62eO?_|&+>xBmM$@p|z`tIKEdpPf8%qI>4r7@jn<=eta*{3~?g(zz{Ke9zc-G^gr? z-7foa?LcS!hmbwzru}ICvbWLlW8;+l-}!^=c32!^nV`+`C*;0-*Y%l94pC;Cb3GXz zzSf%a!{gVr{Y_lVuUj+a)*Ca+!-Hu%xmP&&X-2CuANY8^i{D7Kg6qzP zXz_ps9+lN8ESH{K4`yu&b~I>N9xGlE&;2u*b?+Go!AhN?m-bxlLvtC#MzDF2kFzfHJ1W7ybqdefSqVhbOykd*Yi%EDuhs z4wF{ft^bv2+DDnKb8gj1FuvcV`M}luS>lO<^)8x>y1#R;a=-ZKwWTQQb)ioBbi;zh zD!f5V)8581to1LL7c9!l^PSC$NBPYif!_vAZhmL4)v4U)4UsrLYiH_9rmQDd?)(e5 z^pcH>qvBg*i0dus2r*mp4;zKvu=P#s-ti;2obl`NjjwoYd>e(oo#j_uyRb<7Pv^If zzZ|mGHmV)8^tbO%^>eqMw(@7(&3g{jEp-Najo7V75xI_ZHK*FA`elF{r5}E*d7+j_R literal 0 HcmV?d00001 diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js new file mode 100644 index 000000000..c2190a936 --- /dev/null +++ b/docs/assets/js/main.js @@ -0,0 +1,51 @@ +!function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=2)}([function(e,t,r){var n,i; +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */!function(){var s,o,a,u,l,c,h,d,f,p,y,m,v,g,x,w,L,E,b,S,k,Q,O,P,T,_,C=function(e){var t=new C.Builder;return t.pipeline.add(C.trimmer,C.stopWordFilter,C.stemmer),t.searchPipeline.add(C.stemmer),e.call(t,t),t.build()};C.version="2.3.9" +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */,C.utils={},C.utils.warn=(s=this,function(e){s.console&&console.warn&&console.warn(e)}),C.utils.asString=function(e){return null==e?"":e.toString()},C.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),n=0;n0){var u=C.utils.clone(t)||{};u.position=[o,a],u.index=i.length,i.push(new C.Token(r.slice(o,s),u))}o=s+1}}return i},C.tokenizer.separator=/[\s\-]+/ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */,C.Pipeline=function(){this._stack=[]},C.Pipeline.registeredFunctions=Object.create(null),C.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&C.utils.warn("Overwriting existing registered function: "+t),e.label=t,C.Pipeline.registeredFunctions[e.label]=e},C.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||C.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},C.Pipeline.load=function(e){var t=new C.Pipeline;return e.forEach((function(e){var r=C.Pipeline.registeredFunctions[e];if(!r)throw new Error("Cannot load unregistered function: "+e);t.add(r)})),t},C.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach((function(e){C.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},C.Pipeline.prototype.after=function(e,t){C.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");r+=1,this._stack.splice(r,0,t)},C.Pipeline.prototype.before=function(e,t){C.Pipeline.warnIfFunctionNotRegistered(t);var r=this._stack.indexOf(e);if(-1==r)throw new Error("Cannot find existingFn");this._stack.splice(r,0,t)},C.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},C.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r1&&(se&&(r=i),s!=e);)n=r-t,i=t+Math.floor(n/2),s=this.elements[2*i];return s==e||s>e?2*i:sa?l+=2:o==a&&(t+=r[u+1]*n[l+1],u+=2,l+=2);return t},C.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},C.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t0){var s,o=i.str.charAt(0);o in i.node.edges?s=i.node.edges[o]:(s=new C.TokenSet,i.node.edges[o]=s),1==i.str.length&&(s.final=!0),n.push({node:s,editsRemaining:i.editsRemaining,str:i.str.slice(1)})}if(0!=i.editsRemaining){if("*"in i.node.edges)var a=i.node.edges["*"];else{a=new C.TokenSet;i.node.edges["*"]=a}if(0==i.str.length&&(a.final=!0),n.push({node:a,editsRemaining:i.editsRemaining-1,str:i.str}),i.str.length>1&&n.push({node:i.node,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)}),1==i.str.length&&(i.node.final=!0),i.str.length>=1){if("*"in i.node.edges)var u=i.node.edges["*"];else{u=new C.TokenSet;i.node.edges["*"]=u}1==i.str.length&&(u.final=!0),n.push({node:u,editsRemaining:i.editsRemaining-1,str:i.str.slice(1)})}if(i.str.length>1){var l,c=i.str.charAt(0),h=i.str.charAt(1);h in i.node.edges?l=i.node.edges[h]:(l=new C.TokenSet,i.node.edges[h]=l),1==i.str.length&&(l.final=!0),n.push({node:l,editsRemaining:i.editsRemaining-1,str:c+i.str.slice(2)})}}}return r},C.TokenSet.fromString=function(e){for(var t=new C.TokenSet,r=t,n=0,i=e.length;n=e;t--){var r=this.uncheckedNodes[t],n=r.child.toString();n in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[n]:(r.child._str=n,this.minimizedNodes[n]=r.child),this.uncheckedNodes.pop()}} +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */,C.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},C.Index.prototype.search=function(e){return this.query((function(t){new C.QueryParser(e,t).parse()}))},C.Index.prototype.query=function(e){for(var t=new C.Query(this.fields),r=Object.create(null),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=0;a1?1:e},C.Builder.prototype.k1=function(e){this._k1=e},C.Builder.prototype.add=function(e,t){var r=e[this._ref],n=Object.keys(this._fields);this._documents[r]=t||{},this.documentCount+=1;for(var i=0;i=this.length)return C.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},C.QueryLexer.prototype.width=function(){return this.pos-this.start},C.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},C.QueryLexer.prototype.backup=function(){this.pos-=1},C.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=C.QueryLexer.EOS&&this.backup()},C.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(C.QueryLexer.TERM)),e.ignore(),e.more())return C.QueryLexer.lexText},C.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(C.QueryLexer.EDIT_DISTANCE),C.QueryLexer.lexText},C.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(C.QueryLexer.BOOST),C.QueryLexer.lexText},C.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(C.QueryLexer.TERM)},C.QueryLexer.termSeparator=C.tokenizer.separator,C.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==C.QueryLexer.EOS)return C.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return C.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(C.QueryLexer.TERM),C.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(C.QueryLexer.TERM),C.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(C.QueryLexer.PRESENCE),C.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(C.QueryLexer.PRESENCE),C.QueryLexer.lexText;if(t.match(C.QueryLexer.termSeparator))return C.QueryLexer.lexTerm}else e.escapeCharacter()}},C.QueryParser=function(e,t){this.lexer=new C.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},C.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=C.QueryParser.parseClause;e;)e=e(this);return this.query},C.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},C.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},C.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},C.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case C.QueryLexer.PRESENCE:return C.QueryParser.parsePresence;case C.QueryLexer.FIELD:return C.QueryParser.parseField;case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(r+=" with value '"+t.str+"'"),new C.QueryParseError(r,t.start,t.end)}},C.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=C.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=C.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+t.str+"'";throw new C.QueryParseError(r,t.start,t.end)}var n=e.peekLexeme();if(null==n){r="expecting term or field, found nothing";throw new C.QueryParseError(r,t.start,t.end)}switch(n.type){case C.QueryLexer.FIELD:return C.QueryParser.parseField;case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:r="expecting term or field, found '"+n.type+"'";throw new C.QueryParseError(r,n.start,n.end)}}},C.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var r=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),n="unrecognised field '"+t.str+"', possible fields: "+r;throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.fields=[t.str];var i=e.peekLexeme();if(null==i){n="expecting term, found nothing";throw new C.QueryParseError(n,t.start,t.end)}switch(i.type){case C.QueryLexer.TERM:return C.QueryParser.parseTerm;default:n="expecting term, found '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}}},C.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(null!=r)switch(r.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+r.type+"'";throw new C.QueryParseError(n,r.start,r.end)}else e.nextClause()}},C.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="edit distance must be numeric";throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.editDistance=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}else e.nextClause()}},C.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var r=parseInt(t.str,10);if(isNaN(r)){var n="boost must be numeric";throw new C.QueryParseError(n,t.start,t.end)}e.currentClause.boost=r;var i=e.peekLexeme();if(null!=i)switch(i.type){case C.QueryLexer.TERM:return e.nextClause(),C.QueryParser.parseTerm;case C.QueryLexer.FIELD:return e.nextClause(),C.QueryParser.parseField;case C.QueryLexer.EDIT_DISTANCE:return C.QueryParser.parseEditDistance;case C.QueryLexer.BOOST:return C.QueryParser.parseBoost;case C.QueryLexer.PRESENCE:return e.nextClause(),C.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+i.type+"'";throw new C.QueryParseError(n,i.start,i.end)}else e.nextClause()}},void 0===(i="function"==typeof(n=function(){return C})?n.call(t,r,t,e):n)||(e.exports=i)}()},function(e,t,r){},function(e,t,r){"use strict";r.r(t);var n=[];function i(e,t){n.push({selector:t,constructor:e})}var s,o,a=function(){function e(){this.createComponents(document.body)}return e.prototype.createComponents=function(e){n.forEach((function(t){e.querySelectorAll(t.selector).forEach((function(e){e.dataset.hasInstance||(new t.constructor({el:e}),e.dataset.hasInstance=String(!0))}))}))},e}(),u=function(e){this.el=e.el},l=r(0),c=(s=function(e,t){return(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});!function(e){e[e.Idle=0]="Idle",e[e.Loading=1]="Loading",e[e.Ready=2]="Ready",e[e.Failure=3]="Failure"}(o||(o={}));var h=function(e){function t(t){var r=e.call(this,t)||this;r.query="",r.loadingState=o.Idle,r.hasFocus=!1,r.preventPress=!1,r.data=null,r.index=null,r.resultClicked=!1;var n=document.querySelector("#tsd-search-field"),i=document.querySelector(".results");if(!n||!i)throw new Error("The input field or the result list wrapper are not found");return r.field=n,r.results=i,r.base=r.el.dataset.base+"/",r.bindEvents(),r}return c(t,e),t.prototype.loadIndex=function(){var e=this;if(this.loadingState==o.Idle&&!this.data){setTimeout((function(){e.loadingState==o.Idle&&e.setLoadingState(o.Loading)}),500);var t=this.el.dataset.index;t?fetch(t).then((function(e){if(!e.ok)throw new Error("The search index is missing");return e.json()})).then((function(t){e.data=t,e.index=l.Index.load(t.index),e.setLoadingState(o.Ready)})).catch((function(t){console.error(t),e.setLoadingState(o.Failure)})):this.setLoadingState(o.Failure)}},t.prototype.updateResults=function(){if(this.loadingState==o.Ready&&(this.results.textContent="",this.query&&this.index&&this.data)){var e=this.index.search("*"+this.query+"*");0===e.length&&(e=this.index.search("*"+this.query+"~1*"));for(var t=0,r=Math.min(10,e.length);t"+e+""})),s=n.parent||"";(s=s.replace(new RegExp(this.query,"i"),(function(e){return""+e+""})))&&(i=''+s+"."+i);var a=document.createElement("li");a.classList.value=n.classes,a.innerHTML='\n '+i+"\n ",this.results.appendChild(a)}}},t.prototype.setLoadingState=function(e){this.loadingState!=e&&(this.el.classList.remove(o[this.loadingState].toLowerCase()),this.loadingState=e,this.el.classList.add(o[this.loadingState].toLowerCase()),this.updateResults())},t.prototype.setHasFocus=function(e){this.hasFocus!=e&&(this.hasFocus=e,this.el.classList.toggle("has-focus"),e?(this.setQuery(""),this.field.value=""):this.field.value=this.query)},t.prototype.setQuery=function(e){this.query=e.trim(),this.updateResults()},t.prototype.setCurrentResult=function(e){var t=this.results.querySelector(".current");if(t){var r=1==e?t.nextElementSibling:t.previousElementSibling;r&&(t.classList.remove("current"),r.classList.add("current"))}else(t=this.results.querySelector(1==e?"li:first-child":"li:last-child"))&&t.classList.add("current")},t.prototype.gotoCurrentResult=function(){var e=this.results.querySelector(".current");if(e||(e=this.results.querySelector("li:first-child")),e){var t=e.querySelector("a");t&&(window.location.href=t.href),this.field.blur()}},t.prototype.bindEvents=function(){var e=this;this.results.addEventListener("mousedown",(function(){e.resultClicked=!0})),this.results.addEventListener("mouseup",(function(){e.resultClicked=!1,e.setHasFocus(!1)})),this.field.addEventListener("focusin",(function(){e.setHasFocus(!0),e.loadIndex()})),this.field.addEventListener("focusout",(function(){e.resultClicked?e.resultClicked=!1:setTimeout((function(){return e.setHasFocus(!1)}),100)})),this.field.addEventListener("input",(function(){e.setQuery(e.field.value)})),this.field.addEventListener("keydown",(function(t){13==t.keyCode||27==t.keyCode||38==t.keyCode||40==t.keyCode?(e.preventPress=!0,t.preventDefault(),13==t.keyCode?e.gotoCurrentResult():27==t.keyCode?e.field.blur():38==t.keyCode?e.setCurrentResult(-1):40==t.keyCode&&e.setCurrentResult(1)):e.preventPress=!1})),this.field.addEventListener("keypress",(function(t){e.preventPress&&t.preventDefault()})),document.body.addEventListener("keydown",(function(t){t.altKey||t.ctrlKey||t.metaKey||!e.hasFocus&&t.keyCode>47&&t.keyCode<112&&e.field.focus()}))},t}(u),d=function(){function e(){this.listeners={}}return e.prototype.addEventListener=function(e,t){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(t)},e.prototype.removeEventListener=function(e,t){if(e in this.listeners)for(var r=this.listeners[e],n=0,i=r.length;n=this.scrollTop||0===this.scrollTop,e!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},t.instance=new t,t}(d),m=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),v=function(e){function t(t){var r=e.call(this,t)||this;return r.anchors=[],r.index=-1,y.instance.addEventListener("resize",(function(){return r.onResize()})),y.instance.addEventListener("scroll",(function(e){return r.onScroll(e)})),r.createAnchors(),r}return m(t,e),t.prototype.createAnchors=function(){var e=this,t=window.location.href;-1!=t.indexOf("#")&&(t=t.substr(0,t.indexOf("#"))),this.el.querySelectorAll("a").forEach((function(r){var n=r.href;if(-1!=n.indexOf("#")&&n.substr(0,t.length)==t){var i=n.substr(n.indexOf("#")+1),s=document.querySelector("a.tsd-anchor[name="+i+"]"),o=r.parentNode;s&&o&&e.anchors.push({link:o,anchor:s,position:0})}})),this.onResize()},t.prototype.onResize=function(){for(var e,t=0,r=this.anchors.length;t-1&&r[i].position>t;)i-=1;for(;i-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=i,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))},t}(u),g=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),x=function(){function e(e,t){this.signature=e,this.description=t}return e.prototype.addClass=function(e){return this.signature.classList.add(e),this.description.classList.add(e),this},e.prototype.removeClass=function(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this},e}(),w=function(e){function t(t){var r=e.call(this,t)||this;return r.groups=[],r.index=-1,r.createGroups(),r.container&&(r.el.classList.add("active"),Array.from(r.el.children).forEach((function(e){e.addEventListener("touchstart",(function(e){return r.onClick(e)})),e.addEventListener("click",(function(e){return r.onClick(e)}))})),r.container.classList.add("active"),r.setIndex(0)),r}return g(t,e),t.prototype.setIndex=function(e){if(e<0&&(e=0),e>this.groups.length-1&&(e=this.groups.length-1),this.index!=e){var t=this.groups[e];if(this.index>-1){var r=this.groups[this.index];r.removeClass("current").addClass("fade-out"),t.addClass("current"),t.addClass("fade-in"),y.instance.triggerResize(),setTimeout((function(){r.removeClass("fade-out"),t.removeClass("fade-in")}),300)}else t.addClass("current"),y.instance.triggerResize();this.index=e}},t.prototype.createGroups=function(){var e=this.el.children;if(!(e.length<2)){this.container=this.el.nextElementSibling;var t=this.container.children;this.groups=[];for(var r=0;r10}})),document.addEventListener(b,(function(){Q=!1})),document.addEventListener("click",(function(e){k&&(e.preventDefault(),e.stopImmediatePropagation(),k=!1)}));var T=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),_=function(e){function t(t){var r=e.call(this,t)||this;return r.className=r.el.dataset.toggle||"",r.el.addEventListener(b,(function(e){return r.onPointerUp(e)})),r.el.addEventListener("click",(function(e){return e.preventDefault()})),document.addEventListener(L,(function(e){return r.onDocumentPointerDown(e)})),document.addEventListener(b,(function(e){return r.onDocumentPointerUp(e)})),r}return T(t,e),t.prototype.setActive=function(e){if(this.active!=e){this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);var t=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(t),setTimeout((function(){return document.documentElement.classList.remove(t)}),500)}},t.prototype.onPointerUp=function(e){O||(this.setActive(!0),e.preventDefault())},t.prototype.onDocumentPointerDown=function(e){if(this.active){if(e.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}},t.prototype.onDocumentPointerUp=function(e){var t=this;if(!O&&this.active&&e.target.closest(".col-menu")){var r=e.target.closest("a");if(r){var n=window.location.href;-1!=n.indexOf("#")&&(n=n.substr(0,n.indexOf("#"))),r.href.substr(0,n.length)==n&&setTimeout((function(){return t.setActive(!1)}),250)}}},t}(u),C=function(){var e=function(t,r){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])})(t,r)};return function(t,r){function n(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(n.prototype=r.prototype,new n)}}(),R=function(){function e(e,t){this.key=e,this.value=t,this.defaultValue=t,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return e.prototype.initialize=function(){},e.prototype.setValue=function(e){if(this.value!=e){var t=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(t,e)}},e}(),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return C(t,e),t.prototype.initialize=function(){var e=this,t=document.querySelector("#tsd-filter-"+this.key);t&&(this.checkbox=t,this.checkbox.addEventListener("change",(function(){e.setValue(e.checkbox.checked)})))},t.prototype.handleValueChange=function(e,t){this.checkbox&&(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))},t.prototype.fromLocalStorage=function(e){return"true"==e},t.prototype.toLocalStorage=function(e){return e?"true":"false"},t}(R),j=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return C(t,e),t.prototype.initialize=function(){var e=this;document.documentElement.classList.add("toggle-"+this.key+this.value);var t=document.querySelector("#tsd-filter-"+this.key);if(t){this.select=t;var r=function(){e.select.classList.add("active")};this.select.addEventListener(L,r),this.select.addEventListener("mouseover",r),this.select.addEventListener("mouseleave",(function(){e.select.classList.remove("active")})),this.select.querySelectorAll("li").forEach((function(r){r.addEventListener(b,(function(r){t.classList.remove("active"),e.setValue(r.target.dataset.value||"")}))})),document.addEventListener(L,(function(t){e.select.contains(t.target)||e.select.classList.remove("active")}))}},t.prototype.handleValueChange=function(e,t){this.select.querySelectorAll("li.selected").forEach((function(e){e.classList.remove("selected")}));var r=this.select.querySelector('li[data-value="'+t+'"]'),n=this.select.querySelector(".tsd-select-label");r&&n&&(r.classList.add("selected"),n.textContent=r.textContent),document.documentElement.classList.remove("toggle-"+e),document.documentElement.classList.add("toggle-"+t)},t.prototype.fromLocalStorage=function(e){return e},t.prototype.toLocalStorage=function(e){return e},t}(R),F=function(e){function t(t){var r=e.call(this,t)||this;return r.optionVisibility=new j("visibility","private"),r.optionInherited=new I("inherited",!0),r.optionExternals=new I("externals",!0),r.optionOnlyExported=new I("only-exported",!1),r}return C(t,e),t.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},t}(u);r(1);i(h,"#tsd-search"),i(v,".menu-highlight"),i(w,".tsd-signatures"),i(_,"a[data-toggle]"),F.isSupported()?i(F,"#tsd-filter"):document.documentElement.classList.add("no-filter");var N=new a;Object.defineProperty(window,"app",{value:N})}]); \ No newline at end of file diff --git a/docs/assets/js/search.json b/docs/assets/js/search.json new file mode 100644 index 000000000..1443f008a --- /dev/null +++ b/docs/assets/js/search.json @@ -0,0 +1 @@ +{"kinds":{"1":"Module","32":"Variable","64":"Function","128":"Class","256":"Interface","512":"Constructor","1024":"Property","2048":"Method","65536":"Type literal","2097152":"Object literal","4194304":"Type alias"},"rows":[{"id":0,"kind":1,"name":"display","url":"modules/display.html","classes":"tsd-kind-module"},{"id":1,"kind":1,"name":"core","url":"modules/core.html","classes":"tsd-kind-module"},{"id":2,"kind":128,"name":"PixelPoint","url":"classes/core.pixelpoint.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":3,"kind":1024,"name":"x","url":"classes/core.pixelpoint.html#x","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.PixelPoint"},{"id":4,"kind":1024,"name":"y","url":"classes/core.pixelpoint.html#y","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.PixelPoint"},{"id":5,"kind":512,"name":"constructor","url":"classes/core.pixelpoint.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"core.PixelPoint"},{"id":6,"kind":128,"name":"PixelRect","url":"classes/core.pixelrect.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":7,"kind":1024,"name":"minX","url":"classes/core.pixelrect.html#minx","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.PixelRect"},{"id":8,"kind":1024,"name":"minY","url":"classes/core.pixelrect.html#miny","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.PixelRect"},{"id":9,"kind":1024,"name":"maxX","url":"classes/core.pixelrect.html#maxx","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.PixelRect"},{"id":10,"kind":1024,"name":"maxY","url":"classes/core.pixelrect.html#maxy","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.PixelRect"},{"id":11,"kind":512,"name":"constructor","url":"classes/core.pixelrect.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"core.PixelRect"},{"id":12,"kind":128,"name":"GeoPoint","url":"classes/core.geopoint.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":13,"kind":1024,"name":"longitude","url":"classes/core.geopoint.html#longitude","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.GeoPoint"},{"id":14,"kind":1024,"name":"latitude","url":"classes/core.geopoint.html#latitude","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.GeoPoint"},{"id":15,"kind":1024,"name":"altitude","url":"classes/core.geopoint.html#altitude","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.GeoPoint"},{"id":16,"kind":512,"name":"constructor","url":"classes/core.geopoint.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"core.GeoPoint"},{"id":17,"kind":128,"name":"GeoRect","url":"classes/core.georect.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":18,"kind":1024,"name":"minLon","url":"classes/core.georect.html#minlon","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.GeoRect"},{"id":19,"kind":1024,"name":"minLat","url":"classes/core.georect.html#minlat","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.GeoRect"},{"id":20,"kind":1024,"name":"maxLon","url":"classes/core.georect.html#maxlon","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.GeoRect"},{"id":21,"kind":1024,"name":"maxLat","url":"classes/core.georect.html#maxlat","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.GeoRect"},{"id":22,"kind":512,"name":"constructor","url":"classes/core.georect.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"core.GeoRect"},{"id":23,"kind":256,"name":"GeoJSONFeature","url":"interfaces/core.geojsonfeature.html","classes":"tsd-kind-interface tsd-parent-kind-module tsd-has-type-parameter","parent":"core"},{"id":24,"kind":1024,"name":"id","url":"interfaces/core.geojsonfeature.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoJSONFeature"},{"id":25,"kind":1024,"name":"type","url":"interfaces/core.geojsonfeature.html#type-1","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoJSONFeature"},{"id":26,"kind":1024,"name":"bbox","url":"interfaces/core.geojsonfeature.html#bbox","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoJSONFeature"},{"id":27,"kind":1024,"name":"properties","url":"interfaces/core.geojsonfeature.html#properties","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoJSONFeature"},{"id":28,"kind":1024,"name":"geometry","url":"interfaces/core.geojsonfeature.html#geometry","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoJSONFeature"},{"id":29,"kind":65536,"name":"__type","url":"interfaces/core.geojsonfeature.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.GeoJSONFeature.geometry"},{"id":30,"kind":32,"name":"type","url":"interfaces/core.geojsonfeature.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.GeoJSONFeature.geometry.__type"},{"id":31,"kind":32,"name":"coordinates","url":"interfaces/core.geojsonfeature.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.GeoJSONFeature.geometry.__type"},{"id":32,"kind":256,"name":"GeoJSONFeatureCollection","url":"interfaces/core.geojsonfeaturecollection.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":33,"kind":1024,"name":"type","url":"interfaces/core.geojsonfeaturecollection.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoJSONFeatureCollection"},{"id":34,"kind":1024,"name":"features","url":"interfaces/core.geojsonfeaturecollection.html#features","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoJSONFeatureCollection"},{"id":35,"kind":4194304,"name":"GeoJSONBBox","url":"modules/core.html#geojsonbbox","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"core"},{"id":36,"kind":4194304,"name":"GeoJSONCoordinate","url":"modules/core.html#geojsoncoordinate","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"core"},{"id":37,"kind":128,"name":"Tile","url":"classes/core.tile.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":38,"kind":1024,"name":"quadkey","url":"classes/core.tile.html#quadkey","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Tile"},{"id":39,"kind":1024,"name":"z","url":"classes/core.tile.html#z","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Tile"},{"id":40,"kind":1024,"name":"y","url":"classes/core.tile.html#y","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Tile"},{"id":41,"kind":1024,"name":"x","url":"classes/core.tile.html#x","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Tile"},{"id":42,"kind":1024,"name":"type","url":"classes/core.tile.html#type","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Tile"},{"id":43,"kind":1024,"name":"bounds","url":"classes/core.tile.html#bounds","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Tile"},{"id":44,"kind":2048,"name":"expired","url":"classes/core.tile.html#expired","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.Tile"},{"id":45,"kind":2048,"name":"add","url":"classes/core.tile.html#add","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.Tile"},{"id":46,"kind":2048,"name":"remove","url":"classes/core.tile.html#remove","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.Tile"},{"id":47,"kind":2048,"name":"isLoaded","url":"classes/core.tile.html#isloaded","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.Tile"},{"id":48,"kind":2048,"name":"getContentBounds","url":"classes/core.tile.html#getcontentbounds","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.Tile"},{"id":49,"kind":256,"name":"TileProviderOptions","url":"interfaces/core.tileprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":50,"kind":1024,"name":"id","url":"interfaces/core.tileprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileProviderOptions"},{"id":51,"kind":1024,"name":"name","url":"interfaces/core.tileprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileProviderOptions"},{"id":52,"kind":1024,"name":"margin","url":"interfaces/core.tileprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileProviderOptions"},{"id":53,"kind":128,"name":"TileProvider","url":"classes/core.tileprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":54,"kind":1024,"name":"id","url":"classes/core.tileprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.TileProvider"},{"id":55,"kind":1024,"name":"name","url":"classes/core.tileprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.TileProvider"},{"id":56,"kind":1024,"name":"margin","url":"classes/core.tileprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.TileProvider"},{"id":57,"kind":2048,"name":"getTile","url":"classes/core.tileprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":58,"kind":512,"name":"constructor","url":"classes/core.tileprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"core.TileProvider"},{"id":59,"kind":2048,"name":"addEventListener","url":"classes/core.tileprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":60,"kind":2048,"name":"removeEventListener","url":"classes/core.tileprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":61,"kind":2048,"name":"clear","url":"classes/core.tileprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":62,"kind":2048,"name":"getCachedTile","url":"classes/core.tileprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":63,"kind":2048,"name":"setMargin","url":"classes/core.tileprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":64,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.tileprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":65,"kind":2048,"name":"config","url":"classes/core.tileprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":66,"kind":2048,"name":"createTile","url":"classes/core.tileprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileProvider"},{"id":67,"kind":128,"name":"FeatureProvider","url":"classes/core.featureprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":68,"kind":512,"name":"constructor","url":"classes/core.featureprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.FeatureProvider"},{"id":69,"kind":2048,"name":"addFeature","url":"classes/core.featureprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":70,"kind":2048,"name":"addEventListener","url":"classes/core.featureprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.FeatureProvider"},{"id":71,"kind":2048,"name":"removeEventListener","url":"classes/core.featureprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.FeatureProvider"},{"id":72,"kind":2048,"name":"all","url":"classes/core.featureprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":73,"kind":2048,"name":"getFeature","url":"classes/core.featureprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":74,"kind":2048,"name":"getFeatures","url":"classes/core.featureprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":75,"kind":2048,"name":"getTile","url":"classes/core.featureprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.FeatureProvider"},{"id":76,"kind":2048,"name":"search","url":"classes/core.featureprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":77,"kind":2048,"name":"exists","url":"classes/core.featureprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":78,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.featureprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":79,"kind":2048,"name":"removeFeature","url":"classes/core.featureprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":80,"kind":2048,"name":"findPath","url":"classes/core.featureprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.FeatureProvider"},{"id":81,"kind":2048,"name":"clear","url":"classes/core.featureprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.FeatureProvider"},{"id":82,"kind":1024,"name":"id","url":"classes/core.featureprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.FeatureProvider"},{"id":83,"kind":1024,"name":"name","url":"classes/core.featureprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.FeatureProvider"},{"id":84,"kind":1024,"name":"margin","url":"classes/core.featureprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.FeatureProvider"},{"id":85,"kind":2048,"name":"getCachedTile","url":"classes/core.featureprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.FeatureProvider"},{"id":86,"kind":2048,"name":"setMargin","url":"classes/core.featureprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.FeatureProvider"},{"id":87,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.featureprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.FeatureProvider"},{"id":88,"kind":2048,"name":"config","url":"classes/core.featureprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.FeatureProvider"},{"id":89,"kind":2048,"name":"createTile","url":"classes/core.featureprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.FeatureProvider"},{"id":90,"kind":128,"name":"Feature","url":"classes/core.feature.html","classes":"tsd-kind-class tsd-parent-kind-module tsd-has-type-parameter","parent":"core"},{"id":91,"kind":1024,"name":"id","url":"classes/core.feature.html#id","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Feature"},{"id":92,"kind":1024,"name":"properties","url":"classes/core.feature.html#properties","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Feature"},{"id":93,"kind":1024,"name":"type","url":"classes/core.feature.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Feature"},{"id":94,"kind":1024,"name":"geometry","url":"classes/core.feature.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Feature"},{"id":95,"kind":65536,"name":"__type","url":"classes/core.feature.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.Feature.geometry"},{"id":96,"kind":32,"name":"type","url":"classes/core.feature.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.Feature.geometry.__type"},{"id":97,"kind":32,"name":"coordinates","url":"classes/core.feature.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.Feature.geometry.__type"},{"id":98,"kind":1024,"name":"bbox","url":"classes/core.feature.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Feature"},{"id":99,"kind":2048,"name":"toJSON","url":"classes/core.feature.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.Feature"},{"id":100,"kind":2048,"name":"getProvider","url":"classes/core.feature.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.Feature"},{"id":101,"kind":256,"name":"Style","url":"interfaces/core.style.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":102,"kind":1024,"name":"type","url":"interfaces/core.style.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":103,"kind":1024,"name":"zIndex","url":"interfaces/core.style.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":104,"kind":1024,"name":"zLayer","url":"interfaces/core.style.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":105,"kind":1024,"name":"src","url":"interfaces/core.style.html#src","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":106,"kind":1024,"name":"fill","url":"interfaces/core.style.html#fill","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":107,"kind":1024,"name":"stroke","url":"interfaces/core.style.html#stroke","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":108,"kind":1024,"name":"strokeWidth","url":"interfaces/core.style.html#strokewidth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":109,"kind":1024,"name":"strokeLinecap","url":"interfaces/core.style.html#strokelinecap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":110,"kind":1024,"name":"strokeLinejoin","url":"interfaces/core.style.html#strokelinejoin","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":111,"kind":1024,"name":"strokeDasharray","url":"interfaces/core.style.html#strokedasharray","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":112,"kind":1024,"name":"opacity","url":"interfaces/core.style.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":113,"kind":1024,"name":"radius","url":"interfaces/core.style.html#radius","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":114,"kind":1024,"name":"width","url":"interfaces/core.style.html#width","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":115,"kind":1024,"name":"height","url":"interfaces/core.style.html#height","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":116,"kind":1024,"name":"depth","url":"interfaces/core.style.html#depth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":117,"kind":1024,"name":"font","url":"interfaces/core.style.html#font","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":118,"kind":1024,"name":"text","url":"interfaces/core.style.html#text","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":119,"kind":1024,"name":"textRef","url":"interfaces/core.style.html#textref","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":120,"kind":1024,"name":"from","url":"interfaces/core.style.html#from","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":121,"kind":1024,"name":"to","url":"interfaces/core.style.html#to","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":122,"kind":1024,"name":"offsetX","url":"interfaces/core.style.html#offsetx","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":123,"kind":1024,"name":"offsetY","url":"interfaces/core.style.html#offsety","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":124,"kind":1024,"name":"offsetZ","url":"interfaces/core.style.html#offsetz","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":125,"kind":1024,"name":"offset","url":"interfaces/core.style.html#offset","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":126,"kind":1024,"name":"alignment","url":"interfaces/core.style.html#alignment","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":127,"kind":1024,"name":"rotation","url":"interfaces/core.style.html#rotation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":128,"kind":1024,"name":"priority","url":"interfaces/core.style.html#priority","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":129,"kind":1024,"name":"repeat","url":"interfaces/core.style.html#repeat","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":130,"kind":1024,"name":"lineWrap","url":"interfaces/core.style.html#linewrap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":131,"kind":1024,"name":"anchor","url":"interfaces/core.style.html#anchor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":132,"kind":1024,"name":"checkLineSpace","url":"interfaces/core.style.html#checklinespace","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":133,"kind":1024,"name":"collide","url":"interfaces/core.style.html#collide","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":134,"kind":1024,"name":"collisionGroup","url":"interfaces/core.style.html#collisiongroup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":135,"kind":1024,"name":"extrude","url":"interfaces/core.style.html#extrude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":136,"kind":1024,"name":"extrudeBase","url":"interfaces/core.style.html#extrudebase","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":137,"kind":1024,"name":"altitude","url":"interfaces/core.style.html#altitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":138,"kind":1024,"name":"scaleByAltitude","url":"interfaces/core.style.html#scalebyaltitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Style"},{"id":139,"kind":256,"name":"LayerStyle","url":"interfaces/core.layerstyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":140,"kind":1024,"name":"backgroundColor","url":"interfaces/core.layerstyle.html#backgroundcolor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LayerStyle"},{"id":141,"kind":1024,"name":"styleGroups","url":"interfaces/core.layerstyle.html#stylegroups","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LayerStyle"},{"id":142,"kind":65536,"name":"__type","url":"interfaces/core.layerstyle.html#stylegroups.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.LayerStyle.styleGroups"},{"id":143,"kind":1024,"name":"assign","url":"interfaces/core.layerstyle.html#assign","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LayerStyle"},{"id":144,"kind":65536,"name":"__type","url":"interfaces/core.layerstyle.html#assign.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.LayerStyle.assign"},{"id":145,"kind":4194304,"name":"StyleValueFunction","url":"modules/core.html#stylevaluefunction","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"core"},{"id":146,"kind":65536,"name":"__type","url":"modules/core.html#stylevaluefunction.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"core.StyleValueFunction"},{"id":147,"kind":4194304,"name":"StyleZoomRange","url":"modules/core.html#stylezoomrange","classes":"tsd-kind-type-alias tsd-parent-kind-module tsd-has-type-parameter","parent":"core"},{"id":148,"kind":65536,"name":"__type","url":"modules/core.html#stylezoomrange.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"core.StyleZoomRange"},{"id":149,"kind":4194304,"name":"Color","url":"modules/core.html#color","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"core"},{"id":150,"kind":256,"name":"TileLayerOptions","url":"interfaces/core.tilelayeroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":151,"kind":1024,"name":"name","url":"interfaces/core.tilelayeroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileLayerOptions"},{"id":152,"kind":1024,"name":"min","url":"interfaces/core.tilelayeroptions.html#min","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileLayerOptions"},{"id":153,"kind":1024,"name":"max","url":"interfaces/core.tilelayeroptions.html#max","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileLayerOptions"},{"id":154,"kind":1024,"name":"provider","url":"interfaces/core.tilelayeroptions.html#provider","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileLayerOptions"},{"id":155,"kind":1024,"name":"style","url":"interfaces/core.tilelayeroptions.html#style","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileLayerOptions"},{"id":156,"kind":1024,"name":"margin","url":"interfaces/core.tilelayeroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileLayerOptions"},{"id":157,"kind":1024,"name":"tileSize","url":"interfaces/core.tilelayeroptions.html#tilesize","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileLayerOptions"},{"id":158,"kind":1024,"name":"pointerEvents","url":"interfaces/core.tilelayeroptions.html#pointerevents","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TileLayerOptions"},{"id":159,"kind":256,"name":"RemoteTileProviderOptions","url":"interfaces/core.remotetileprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":160,"kind":1024,"name":"level","url":"interfaces/core.remotetileprovideroptions.html#level","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.RemoteTileProviderOptions"},{"id":161,"kind":2048,"name":"preProcessor","url":"interfaces/core.remotetileprovideroptions.html#preprocessor","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"core.RemoteTileProviderOptions"},{"id":162,"kind":2048,"name":"postProcessor","url":"interfaces/core.remotetileprovideroptions.html#postprocessor","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"core.RemoteTileProviderOptions"},{"id":163,"kind":1024,"name":"ignoreTileQueryLimit","url":"interfaces/core.remotetileprovideroptions.html#ignoretilequerylimit","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.RemoteTileProviderOptions"},{"id":164,"kind":1024,"name":"id","url":"interfaces/core.remotetileprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.RemoteTileProviderOptions"},{"id":165,"kind":1024,"name":"name","url":"interfaces/core.remotetileprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.RemoteTileProviderOptions"},{"id":166,"kind":1024,"name":"margin","url":"interfaces/core.remotetileprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.RemoteTileProviderOptions"},{"id":167,"kind":128,"name":"RemoteTileProvider","url":"classes/core.remotetileprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":168,"kind":512,"name":"constructor","url":"classes/core.remotetileprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.RemoteTileProvider"},{"id":169,"kind":2048,"name":"cancel","url":"classes/core.remotetileprovider.html#cancel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.RemoteTileProvider"},{"id":170,"kind":2048,"name":"getTile","url":"classes/core.remotetileprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.RemoteTileProvider"},{"id":171,"kind":2048,"name":"addFeature","url":"classes/core.remotetileprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":172,"kind":2048,"name":"addEventListener","url":"classes/core.remotetileprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":173,"kind":2048,"name":"removeEventListener","url":"classes/core.remotetileprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":174,"kind":2048,"name":"all","url":"classes/core.remotetileprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":175,"kind":2048,"name":"getFeature","url":"classes/core.remotetileprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":176,"kind":2048,"name":"getFeatures","url":"classes/core.remotetileprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":177,"kind":2048,"name":"search","url":"classes/core.remotetileprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":178,"kind":2048,"name":"exists","url":"classes/core.remotetileprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":179,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.remotetileprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":180,"kind":2048,"name":"removeFeature","url":"classes/core.remotetileprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":181,"kind":2048,"name":"findPath","url":"classes/core.remotetileprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":182,"kind":2048,"name":"clear","url":"classes/core.remotetileprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":183,"kind":1024,"name":"id","url":"classes/core.remotetileprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":184,"kind":1024,"name":"name","url":"classes/core.remotetileprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":185,"kind":1024,"name":"margin","url":"classes/core.remotetileprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":186,"kind":2048,"name":"getCachedTile","url":"classes/core.remotetileprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":187,"kind":2048,"name":"setMargin","url":"classes/core.remotetileprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":188,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.remotetileprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":189,"kind":2048,"name":"config","url":"classes/core.remotetileprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":190,"kind":2048,"name":"createTile","url":"classes/core.remotetileprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.RemoteTileProvider"},{"id":191,"kind":128,"name":"Layer","url":"classes/core.layer.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":192,"kind":1024,"name":"name","url":"classes/core.layer.html#name","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Layer"},{"id":193,"kind":1024,"name":"id","url":"classes/core.layer.html#id","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Layer"},{"id":194,"kind":1024,"name":"min","url":"classes/core.layer.html#min","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Layer"},{"id":195,"kind":1024,"name":"max","url":"classes/core.layer.html#max","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.Layer"},{"id":196,"kind":512,"name":"constructor","url":"classes/core.layer.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"core.Layer"},{"id":197,"kind":128,"name":"TileLayer","url":"classes/core.tilelayer.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":198,"kind":1024,"name":"margin","url":"classes/core.tilelayer.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-protected","parent":"core.TileLayer"},{"id":199,"kind":512,"name":"constructor","url":"classes/core.tilelayer.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.TileLayer"},{"id":200,"kind":2048,"name":"getProvider","url":"classes/core.tilelayer.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":201,"kind":2048,"name":"addEventListener","url":"classes/core.tilelayer.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":202,"kind":2048,"name":"removeEventListener","url":"classes/core.tilelayer.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":203,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.tilelayer.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":204,"kind":2048,"name":"addFeature","url":"classes/core.tilelayer.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":205,"kind":2048,"name":"removeFeature","url":"classes/core.tilelayer.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":206,"kind":2048,"name":"setStyleGroup","url":"classes/core.tilelayer.html#setstylegroup","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":207,"kind":2048,"name":"getStyleGroup","url":"classes/core.tilelayer.html#getstylegroup","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":208,"kind":2048,"name":"search","url":"classes/core.tilelayer.html#search","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":209,"kind":2048,"name":"getTile","url":"classes/core.tilelayer.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":210,"kind":2048,"name":"getCachedTile","url":"classes/core.tilelayer.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":211,"kind":2048,"name":"setStyle","url":"classes/core.tilelayer.html#setstyle","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":212,"kind":2048,"name":"getStyle","url":"classes/core.tilelayer.html#getstyle","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":213,"kind":2048,"name":"setMargin","url":"classes/core.tilelayer.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":214,"kind":2048,"name":"pointerEvents","url":"classes/core.tilelayer.html#pointerevents","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.TileLayer"},{"id":215,"kind":1024,"name":"name","url":"classes/core.tilelayer.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.TileLayer"},{"id":216,"kind":1024,"name":"id","url":"classes/core.tilelayer.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.TileLayer"},{"id":217,"kind":1024,"name":"min","url":"classes/core.tilelayer.html#min","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.TileLayer"},{"id":218,"kind":1024,"name":"max","url":"classes/core.tilelayer.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.TileLayer"},{"id":219,"kind":256,"name":"BoxStyle","url":"interfaces/core.boxstyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":220,"kind":1024,"name":"type","url":"interfaces/core.boxstyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":221,"kind":1024,"name":"zIndex","url":"interfaces/core.boxstyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":222,"kind":1024,"name":"zLayer","url":"interfaces/core.boxstyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":223,"kind":1024,"name":"fill","url":"interfaces/core.boxstyle.html#fill","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":224,"kind":1024,"name":"stroke","url":"interfaces/core.boxstyle.html#stroke","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":225,"kind":1024,"name":"strokeWidth","url":"interfaces/core.boxstyle.html#strokewidth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":226,"kind":1024,"name":"opacity","url":"interfaces/core.boxstyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":227,"kind":1024,"name":"width","url":"interfaces/core.boxstyle.html#width","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":228,"kind":1024,"name":"height","url":"interfaces/core.boxstyle.html#height","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":229,"kind":1024,"name":"depth","url":"interfaces/core.boxstyle.html#depth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":230,"kind":1024,"name":"offsetX","url":"interfaces/core.boxstyle.html#offsetx","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":231,"kind":1024,"name":"offsetY","url":"interfaces/core.boxstyle.html#offsety","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":232,"kind":1024,"name":"offsetZ","url":"interfaces/core.boxstyle.html#offsetz","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":233,"kind":1024,"name":"altitude","url":"interfaces/core.boxstyle.html#altitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":234,"kind":1024,"name":"scaleByAltitude","url":"interfaces/core.boxstyle.html#scalebyaltitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.BoxStyle"},{"id":235,"kind":256,"name":"CircleStyle","url":"interfaces/core.circlestyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":236,"kind":1024,"name":"type","url":"interfaces/core.circlestyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":237,"kind":1024,"name":"zIndex","url":"interfaces/core.circlestyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":238,"kind":1024,"name":"zLayer","url":"interfaces/core.circlestyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":239,"kind":1024,"name":"fill","url":"interfaces/core.circlestyle.html#fill","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":240,"kind":1024,"name":"stroke","url":"interfaces/core.circlestyle.html#stroke","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":241,"kind":1024,"name":"strokeWidth","url":"interfaces/core.circlestyle.html#strokewidth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":242,"kind":1024,"name":"opacity","url":"interfaces/core.circlestyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":243,"kind":1024,"name":"radius","url":"interfaces/core.circlestyle.html#radius","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":244,"kind":1024,"name":"offsetX","url":"interfaces/core.circlestyle.html#offsetx","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":245,"kind":1024,"name":"offsetY","url":"interfaces/core.circlestyle.html#offsety","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":246,"kind":1024,"name":"offsetZ","url":"interfaces/core.circlestyle.html#offsetz","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":247,"kind":1024,"name":"alignment","url":"interfaces/core.circlestyle.html#alignment","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":248,"kind":1024,"name":"anchor","url":"interfaces/core.circlestyle.html#anchor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":249,"kind":1024,"name":"checkLineSpace","url":"interfaces/core.circlestyle.html#checklinespace","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":250,"kind":1024,"name":"collide","url":"interfaces/core.circlestyle.html#collide","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":251,"kind":1024,"name":"collisionGroup","url":"interfaces/core.circlestyle.html#collisiongroup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":252,"kind":1024,"name":"repeat","url":"interfaces/core.circlestyle.html#repeat","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":253,"kind":1024,"name":"altitude","url":"interfaces/core.circlestyle.html#altitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":254,"kind":1024,"name":"scaleByAltitude","url":"interfaces/core.circlestyle.html#scalebyaltitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.CircleStyle"},{"id":255,"kind":256,"name":"ImageStyle","url":"interfaces/core.imagestyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":256,"kind":1024,"name":"type","url":"interfaces/core.imagestyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":257,"kind":1024,"name":"zIndex","url":"interfaces/core.imagestyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":258,"kind":1024,"name":"zLayer","url":"interfaces/core.imagestyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":259,"kind":1024,"name":"src","url":"interfaces/core.imagestyle.html#src","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":260,"kind":1024,"name":"atlas","url":"interfaces/core.imagestyle.html#atlas","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":261,"kind":65536,"name":"__type","url":"interfaces/core.imagestyle.html#atlas.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.ImageStyle.atlas"},{"id":262,"kind":32,"name":"x","url":"interfaces/core.imagestyle.html#atlas.__type.x","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.ImageStyle.atlas.__type"},{"id":263,"kind":32,"name":"y","url":"interfaces/core.imagestyle.html#atlas.__type.y","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.ImageStyle.atlas.__type"},{"id":264,"kind":32,"name":"width","url":"interfaces/core.imagestyle.html#atlas.__type.width","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.ImageStyle.atlas.__type"},{"id":265,"kind":32,"name":"height","url":"interfaces/core.imagestyle.html#atlas.__type.height","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.ImageStyle.atlas.__type"},{"id":266,"kind":1024,"name":"opacity","url":"interfaces/core.imagestyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":267,"kind":1024,"name":"width","url":"interfaces/core.imagestyle.html#width-1","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":268,"kind":1024,"name":"height","url":"interfaces/core.imagestyle.html#height-1","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":269,"kind":1024,"name":"offsetX","url":"interfaces/core.imagestyle.html#offsetx","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":270,"kind":1024,"name":"offsetY","url":"interfaces/core.imagestyle.html#offsety","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":271,"kind":1024,"name":"offsetZ","url":"interfaces/core.imagestyle.html#offsetz","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":272,"kind":1024,"name":"alignment","url":"interfaces/core.imagestyle.html#alignment","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":273,"kind":1024,"name":"rotation","url":"interfaces/core.imagestyle.html#rotation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":274,"kind":1024,"name":"priority","url":"interfaces/core.imagestyle.html#priority","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":275,"kind":1024,"name":"repeat","url":"interfaces/core.imagestyle.html#repeat","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":276,"kind":1024,"name":"anchor","url":"interfaces/core.imagestyle.html#anchor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":277,"kind":1024,"name":"checkLineSpace","url":"interfaces/core.imagestyle.html#checklinespace","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":278,"kind":1024,"name":"collide","url":"interfaces/core.imagestyle.html#collide","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":279,"kind":1024,"name":"collisionGroup","url":"interfaces/core.imagestyle.html#collisiongroup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":280,"kind":1024,"name":"altitude","url":"interfaces/core.imagestyle.html#altitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":281,"kind":1024,"name":"scaleByAltitude","url":"interfaces/core.imagestyle.html#scalebyaltitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageStyle"},{"id":282,"kind":256,"name":"LineStyle","url":"interfaces/core.linestyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":283,"kind":1024,"name":"type","url":"interfaces/core.linestyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":284,"kind":1024,"name":"zLayer","url":"interfaces/core.linestyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":285,"kind":1024,"name":"opacity","url":"interfaces/core.linestyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":286,"kind":1024,"name":"stroke","url":"interfaces/core.linestyle.html#stroke","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":287,"kind":1024,"name":"strokeWidth","url":"interfaces/core.linestyle.html#strokewidth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":288,"kind":1024,"name":"strokeLinecap","url":"interfaces/core.linestyle.html#strokelinecap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":289,"kind":1024,"name":"strokeLinejoin","url":"interfaces/core.linestyle.html#strokelinejoin","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":290,"kind":1024,"name":"strokeDasharray","url":"interfaces/core.linestyle.html#strokedasharray","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":291,"kind":1024,"name":"strokeDashimage","url":"interfaces/core.linestyle.html#strokedashimage","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":292,"kind":1024,"name":"from","url":"interfaces/core.linestyle.html#from","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":293,"kind":1024,"name":"to","url":"interfaces/core.linestyle.html#to","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":294,"kind":1024,"name":"offset","url":"interfaces/core.linestyle.html#offset","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":295,"kind":1024,"name":"altitude","url":"interfaces/core.linestyle.html#altitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":296,"kind":1024,"name":"scaleByAltitude","url":"interfaces/core.linestyle.html#scalebyaltitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LineStyle"},{"id":297,"kind":256,"name":"Material","url":"interfaces/core.material.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":298,"kind":1024,"name":"ambient","url":"interfaces/core.material.html#ambient","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":299,"kind":1024,"name":"emissive","url":"interfaces/core.material.html#emissive","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":300,"kind":1024,"name":"diffuse","url":"interfaces/core.material.html#diffuse","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":301,"kind":1024,"name":"diffuseMap","url":"interfaces/core.material.html#diffusemap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":302,"kind":1024,"name":"shininess","url":"interfaces/core.material.html#shininess","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":303,"kind":1024,"name":"specular","url":"interfaces/core.material.html#specular","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":304,"kind":1024,"name":"specularMap","url":"interfaces/core.material.html#specularmap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":305,"kind":1024,"name":"normalMap","url":"interfaces/core.material.html#normalmap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":306,"kind":1024,"name":"mode","url":"interfaces/core.material.html#mode","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":307,"kind":1024,"name":"pointSize","url":"interfaces/core.material.html#pointsize","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":308,"kind":1024,"name":"illumination","url":"interfaces/core.material.html#illumination","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":309,"kind":1024,"name":"opacity","url":"interfaces/core.material.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.Material"},{"id":310,"kind":256,"name":"ModelGeometry","url":"interfaces/core.modelgeometry.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":311,"kind":1024,"name":"position","url":"interfaces/core.modelgeometry.html#position","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelGeometry"},{"id":312,"kind":1024,"name":"index","url":"interfaces/core.modelgeometry.html#index","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelGeometry"},{"id":313,"kind":1024,"name":"normal","url":"interfaces/core.modelgeometry.html#normal","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelGeometry"},{"id":314,"kind":1024,"name":"uv","url":"interfaces/core.modelgeometry.html#uv","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelGeometry"},{"id":315,"kind":1024,"name":"color","url":"interfaces/core.modelgeometry.html#color","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelGeometry"},{"id":316,"kind":256,"name":"ModelData","url":"interfaces/core.modeldata.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":317,"kind":1024,"name":"geometries","url":"interfaces/core.modeldata.html#geometries","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelData"},{"id":318,"kind":1024,"name":"textures","url":"interfaces/core.modeldata.html#textures","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelData"},{"id":319,"kind":65536,"name":"__type","url":"interfaces/core.modeldata.html#textures.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.ModelData.textures"},{"id":320,"kind":1024,"name":"materials","url":"interfaces/core.modeldata.html#materials","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelData"},{"id":321,"kind":65536,"name":"__type","url":"interfaces/core.modeldata.html#materials.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.ModelData.materials"},{"id":322,"kind":1024,"name":"faces","url":"interfaces/core.modeldata.html#faces","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelData"},{"id":323,"kind":256,"name":"ModelStyle","url":"interfaces/core.modelstyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":324,"kind":1024,"name":"type","url":"interfaces/core.modelstyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":325,"kind":1024,"name":"zIndex","url":"interfaces/core.modelstyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":326,"kind":1024,"name":"zLayer","url":"interfaces/core.modelstyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":327,"kind":1024,"name":"model","url":"interfaces/core.modelstyle.html#model","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":328,"kind":1024,"name":"cullFace","url":"interfaces/core.modelstyle.html#cullface","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":329,"kind":1024,"name":"scale","url":"interfaces/core.modelstyle.html#scale","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":330,"kind":1024,"name":"translate","url":"interfaces/core.modelstyle.html#translate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":331,"kind":1024,"name":"rotate","url":"interfaces/core.modelstyle.html#rotate","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":332,"kind":1024,"name":"transform","url":"interfaces/core.modelstyle.html#transform","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ModelStyle"},{"id":333,"kind":256,"name":"PolygonStyle","url":"interfaces/core.polygonstyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":334,"kind":1024,"name":"type","url":"interfaces/core.polygonstyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":335,"kind":1024,"name":"zIndex","url":"interfaces/core.polygonstyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":336,"kind":1024,"name":"zLayer","url":"interfaces/core.polygonstyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":337,"kind":1024,"name":"fill","url":"interfaces/core.polygonstyle.html#fill","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":338,"kind":1024,"name":"stroke","url":"interfaces/core.polygonstyle.html#stroke","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":339,"kind":1024,"name":"strokeWidth","url":"interfaces/core.polygonstyle.html#strokewidth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":340,"kind":1024,"name":"strokeLinecap","url":"interfaces/core.polygonstyle.html#strokelinecap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":341,"kind":1024,"name":"strokeLinejoin","url":"interfaces/core.polygonstyle.html#strokelinejoin","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":342,"kind":1024,"name":"strokeDasharray","url":"interfaces/core.polygonstyle.html#strokedasharray","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":343,"kind":1024,"name":"opacity","url":"interfaces/core.polygonstyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":344,"kind":1024,"name":"from","url":"interfaces/core.polygonstyle.html#from","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":345,"kind":1024,"name":"to","url":"interfaces/core.polygonstyle.html#to","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":346,"kind":1024,"name":"offset","url":"interfaces/core.polygonstyle.html#offset","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":347,"kind":1024,"name":"altitude","url":"interfaces/core.polygonstyle.html#altitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":348,"kind":1024,"name":"extrude","url":"interfaces/core.polygonstyle.html#extrude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":349,"kind":1024,"name":"extrudeBase","url":"interfaces/core.polygonstyle.html#extrudebase","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.PolygonStyle"},{"id":350,"kind":256,"name":"SphereStyle","url":"interfaces/core.spherestyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":351,"kind":1024,"name":"type","url":"interfaces/core.spherestyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":352,"kind":1024,"name":"zIndex","url":"interfaces/core.spherestyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":353,"kind":1024,"name":"zLayer","url":"interfaces/core.spherestyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":354,"kind":1024,"name":"fill","url":"interfaces/core.spherestyle.html#fill","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":355,"kind":1024,"name":"opacity","url":"interfaces/core.spherestyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":356,"kind":1024,"name":"radius","url":"interfaces/core.spherestyle.html#radius","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":357,"kind":1024,"name":"offsetX","url":"interfaces/core.spherestyle.html#offsetx","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":358,"kind":1024,"name":"offsetY","url":"interfaces/core.spherestyle.html#offsety","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":359,"kind":1024,"name":"offsetZ","url":"interfaces/core.spherestyle.html#offsetz","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":360,"kind":1024,"name":"altitude","url":"interfaces/core.spherestyle.html#altitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":361,"kind":1024,"name":"scaleByAltitude","url":"interfaces/core.spherestyle.html#scalebyaltitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SphereStyle"},{"id":362,"kind":256,"name":"TextStyle","url":"interfaces/core.textstyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":363,"kind":1024,"name":"type","url":"interfaces/core.textstyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":364,"kind":1024,"name":"zIndex","url":"interfaces/core.textstyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":365,"kind":1024,"name":"zLayer","url":"interfaces/core.textstyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":366,"kind":1024,"name":"fill","url":"interfaces/core.textstyle.html#fill","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":367,"kind":1024,"name":"stroke","url":"interfaces/core.textstyle.html#stroke","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":368,"kind":1024,"name":"strokeWidth","url":"interfaces/core.textstyle.html#strokewidth","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":369,"kind":1024,"name":"opacity","url":"interfaces/core.textstyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":370,"kind":1024,"name":"font","url":"interfaces/core.textstyle.html#font","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":371,"kind":1024,"name":"text","url":"interfaces/core.textstyle.html#text","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":372,"kind":1024,"name":"textAnchor","url":"interfaces/core.textstyle.html#textanchor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":373,"kind":1024,"name":"textRef","url":"interfaces/core.textstyle.html#textref","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":374,"kind":1024,"name":"offsetX","url":"interfaces/core.textstyle.html#offsetx","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":375,"kind":1024,"name":"offsetY","url":"interfaces/core.textstyle.html#offsety","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":376,"kind":1024,"name":"offsetZ","url":"interfaces/core.textstyle.html#offsetz","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":377,"kind":1024,"name":"alignment","url":"interfaces/core.textstyle.html#alignment","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":378,"kind":1024,"name":"rotation","url":"interfaces/core.textstyle.html#rotation","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":379,"kind":1024,"name":"priority","url":"interfaces/core.textstyle.html#priority","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":380,"kind":1024,"name":"repeat","url":"interfaces/core.textstyle.html#repeat","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":381,"kind":1024,"name":"lineWrap","url":"interfaces/core.textstyle.html#linewrap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":382,"kind":1024,"name":"anchor","url":"interfaces/core.textstyle.html#anchor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":383,"kind":1024,"name":"checkLineSpace","url":"interfaces/core.textstyle.html#checklinespace","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":384,"kind":1024,"name":"collide","url":"interfaces/core.textstyle.html#collide","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":385,"kind":1024,"name":"collisionGroup","url":"interfaces/core.textstyle.html#collisiongroup","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":386,"kind":1024,"name":"altitude","url":"interfaces/core.textstyle.html#altitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":387,"kind":1024,"name":"scaleByAltitude","url":"interfaces/core.textstyle.html#scalebyaltitude","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.TextStyle"},{"id":388,"kind":256,"name":"VerticalLineStyle","url":"interfaces/core.verticallinestyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":389,"kind":1024,"name":"type","url":"interfaces/core.verticallinestyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.VerticalLineStyle"},{"id":390,"kind":1024,"name":"zIndex","url":"interfaces/core.verticallinestyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.VerticalLineStyle"},{"id":391,"kind":1024,"name":"zLayer","url":"interfaces/core.verticallinestyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.VerticalLineStyle"},{"id":392,"kind":1024,"name":"stroke","url":"interfaces/core.verticallinestyle.html#stroke","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.VerticalLineStyle"},{"id":393,"kind":1024,"name":"opacity","url":"interfaces/core.verticallinestyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.VerticalLineStyle"},{"id":394,"kind":1024,"name":"offsetZ","url":"interfaces/core.verticallinestyle.html#offsetz","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.VerticalLineStyle"},{"id":395,"kind":256,"name":"LinearGradient","url":"interfaces/core.lineargradient.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":396,"kind":1024,"name":"type","url":"interfaces/core.lineargradient.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LinearGradient"},{"id":397,"kind":1024,"name":"stops","url":"interfaces/core.lineargradient.html#stops","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.LinearGradient"},{"id":398,"kind":65536,"name":"__type","url":"interfaces/core.lineargradient.html#stops.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.LinearGradient.stops"},{"id":399,"kind":256,"name":"HeatmapStyle","url":"interfaces/core.heatmapstyle.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":400,"kind":1024,"name":"type","url":"interfaces/core.heatmapstyle.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HeatmapStyle"},{"id":401,"kind":1024,"name":"zIndex","url":"interfaces/core.heatmapstyle.html#zindex","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HeatmapStyle"},{"id":402,"kind":1024,"name":"zLayer","url":"interfaces/core.heatmapstyle.html#zlayer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HeatmapStyle"},{"id":403,"kind":1024,"name":"radius","url":"interfaces/core.heatmapstyle.html#radius","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HeatmapStyle"},{"id":404,"kind":1024,"name":"fill","url":"interfaces/core.heatmapstyle.html#fill","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HeatmapStyle"},{"id":405,"kind":1024,"name":"weight","url":"interfaces/core.heatmapstyle.html#weight","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HeatmapStyle"},{"id":406,"kind":1024,"name":"intensity","url":"interfaces/core.heatmapstyle.html#intensity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HeatmapStyle"},{"id":407,"kind":1024,"name":"opacity","url":"interfaces/core.heatmapstyle.html#opacity","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HeatmapStyle"},{"id":408,"kind":256,"name":"MVTLayerOptions","url":"interfaces/core.mvtlayeroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":409,"kind":1024,"name":"remote","url":"interfaces/core.mvtlayeroptions.html#remote","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.MVTLayerOptions"},{"id":410,"kind":65536,"name":"__type","url":"interfaces/core.mvtlayeroptions.html#remote.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.MVTLayerOptions.remote"},{"id":411,"kind":32,"name":"url","url":"interfaces/core.mvtlayeroptions.html#remote.__type.url","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.MVTLayerOptions.remote.__type"},{"id":412,"kind":32,"name":"max","url":"interfaces/core.mvtlayeroptions.html#remote.__type.max-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.MVTLayerOptions.remote.__type"},{"id":413,"kind":32,"name":"min","url":"interfaces/core.mvtlayeroptions.html#remote.__type.min-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.MVTLayerOptions.remote.__type"},{"id":414,"kind":32,"name":"tileSize","url":"interfaces/core.mvtlayeroptions.html#remote.__type.tilesize","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.MVTLayerOptions.remote.__type"},{"id":415,"kind":1024,"name":"pointerEvents","url":"interfaces/core.mvtlayeroptions.html#pointerevents","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"core.MVTLayerOptions"},{"id":416,"kind":1024,"name":"name","url":"interfaces/core.mvtlayeroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.MVTLayerOptions"},{"id":417,"kind":1024,"name":"min","url":"interfaces/core.mvtlayeroptions.html#min","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.MVTLayerOptions"},{"id":418,"kind":1024,"name":"max","url":"interfaces/core.mvtlayeroptions.html#max","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.MVTLayerOptions"},{"id":419,"kind":1024,"name":"provider","url":"interfaces/core.mvtlayeroptions.html#provider","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.MVTLayerOptions"},{"id":420,"kind":1024,"name":"style","url":"interfaces/core.mvtlayeroptions.html#style","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.MVTLayerOptions"},{"id":421,"kind":1024,"name":"margin","url":"interfaces/core.mvtlayeroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.MVTLayerOptions"},{"id":422,"kind":1024,"name":"tileSize","url":"interfaces/core.mvtlayeroptions.html#tilesize-1","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.MVTLayerOptions"},{"id":423,"kind":128,"name":"MVTLayer","url":"classes/core.mvtlayer.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":424,"kind":512,"name":"constructor","url":"classes/core.mvtlayer.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.MVTLayer"},{"id":425,"kind":1024,"name":"margin","url":"classes/core.mvtlayer.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited tsd-is-protected","parent":"core.MVTLayer"},{"id":426,"kind":2048,"name":"getProvider","url":"classes/core.mvtlayer.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":427,"kind":2048,"name":"addEventListener","url":"classes/core.mvtlayer.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":428,"kind":2048,"name":"removeEventListener","url":"classes/core.mvtlayer.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":429,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.mvtlayer.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":430,"kind":2048,"name":"addFeature","url":"classes/core.mvtlayer.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":431,"kind":2048,"name":"removeFeature","url":"classes/core.mvtlayer.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":432,"kind":2048,"name":"setStyleGroup","url":"classes/core.mvtlayer.html#setstylegroup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":433,"kind":2048,"name":"getStyleGroup","url":"classes/core.mvtlayer.html#getstylegroup","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":434,"kind":2048,"name":"search","url":"classes/core.mvtlayer.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":435,"kind":2048,"name":"getTile","url":"classes/core.mvtlayer.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":436,"kind":2048,"name":"getCachedTile","url":"classes/core.mvtlayer.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":437,"kind":2048,"name":"setStyle","url":"classes/core.mvtlayer.html#setstyle","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":438,"kind":2048,"name":"getStyle","url":"classes/core.mvtlayer.html#getstyle","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":439,"kind":2048,"name":"setMargin","url":"classes/core.mvtlayer.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":440,"kind":2048,"name":"pointerEvents","url":"classes/core.mvtlayer.html#pointerevents","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":441,"kind":1024,"name":"name","url":"classes/core.mvtlayer.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":442,"kind":1024,"name":"id","url":"classes/core.mvtlayer.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":443,"kind":1024,"name":"min","url":"classes/core.mvtlayer.html#min","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":444,"kind":1024,"name":"max","url":"classes/core.mvtlayer.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.MVTLayer"},{"id":445,"kind":128,"name":"CustomLayer","url":"classes/core.customlayer.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":446,"kind":1024,"name":"renderOptions","url":"classes/core.customlayer.html#renderoptions","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.CustomLayer"},{"id":447,"kind":65536,"name":"__type","url":"classes/core.customlayer.html#renderoptions.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.CustomLayer.renderOptions"},{"id":448,"kind":32,"name":"mode","url":"classes/core.customlayer.html#renderoptions.__type.mode","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.CustomLayer.renderOptions.__type"},{"id":449,"kind":32,"name":"zIndex","url":"classes/core.customlayer.html#renderoptions.__type.zindex","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.CustomLayer.renderOptions.__type"},{"id":450,"kind":32,"name":"zLayer","url":"classes/core.customlayer.html#renderoptions.__type.zlayer","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.CustomLayer.renderOptions.__type"},{"id":451,"kind":512,"name":"constructor","url":"classes/core.customlayer.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.CustomLayer"},{"id":452,"kind":2048,"name":"onLayerAdd","url":"classes/core.customlayer.html#onlayeradd","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.CustomLayer"},{"id":453,"kind":2048,"name":"onLayerRemove","url":"classes/core.customlayer.html#onlayerremove","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.CustomLayer"},{"id":454,"kind":2048,"name":"render","url":"classes/core.customlayer.html#render","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.CustomLayer"},{"id":455,"kind":1024,"name":"name","url":"classes/core.customlayer.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.CustomLayer"},{"id":456,"kind":1024,"name":"id","url":"classes/core.customlayer.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.CustomLayer"},{"id":457,"kind":1024,"name":"min","url":"classes/core.customlayer.html#min","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.CustomLayer"},{"id":458,"kind":1024,"name":"max","url":"classes/core.customlayer.html#max","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.CustomLayer"},{"id":459,"kind":256,"name":"GeoCoderOptions","url":"interfaces/core.geocoderoptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":460,"kind":1024,"name":"app_id","url":"interfaces/core.geocoderoptions.html#app_id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoCoderOptions"},{"id":461,"kind":1024,"name":"app_code","url":"interfaces/core.geocoderoptions.html#app_code","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoCoderOptions"},{"id":462,"kind":1024,"name":"host","url":"interfaces/core.geocoderoptions.html#host","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoCoderOptions"},{"id":463,"kind":1024,"name":"version","url":"interfaces/core.geocoderoptions.html#version","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.GeoCoderOptions"},{"id":464,"kind":128,"name":"GeoCoder","url":"classes/core.geocoder.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":465,"kind":512,"name":"constructor","url":"classes/core.geocoder.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"core.GeoCoder"},{"id":466,"kind":2048,"name":"geocode","url":"classes/core.geocoder.html#geocode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.GeoCoder"},{"id":467,"kind":2048,"name":"reverseGeocode","url":"classes/core.geocoder.html#reversegeocode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.GeoCoder"},{"id":468,"kind":2048,"name":"getIsoCountryCode","url":"classes/core.geocoder.html#getisocountrycode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.GeoCoder"},{"id":469,"kind":256,"name":"ImageProviderOptions","url":"interfaces/core.imageprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":470,"kind":1024,"name":"url","url":"interfaces/core.imageprovideroptions.html#url","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageProviderOptions"},{"id":471,"kind":1024,"name":"errorImage","url":"interfaces/core.imageprovideroptions.html#errorimage","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.ImageProviderOptions"},{"id":472,"kind":2048,"name":"preProcessor","url":"interfaces/core.imageprovideroptions.html#preprocessor","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"core.ImageProviderOptions"},{"id":473,"kind":1024,"name":"id","url":"interfaces/core.imageprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.ImageProviderOptions"},{"id":474,"kind":1024,"name":"name","url":"interfaces/core.imageprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.ImageProviderOptions"},{"id":475,"kind":1024,"name":"margin","url":"interfaces/core.imageprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.ImageProviderOptions"},{"id":476,"kind":128,"name":"ImageProvider","url":"classes/core.imageprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":477,"kind":512,"name":"constructor","url":"classes/core.imageprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.ImageProvider"},{"id":478,"kind":2048,"name":"getTile","url":"classes/core.imageprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.ImageProvider"},{"id":479,"kind":2048,"name":"clear","url":"classes/core.imageprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.ImageProvider"},{"id":480,"kind":2048,"name":"cancel","url":"classes/core.imageprovider.html#cancel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.ImageProvider"},{"id":481,"kind":1024,"name":"id","url":"classes/core.imageprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":482,"kind":1024,"name":"name","url":"classes/core.imageprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":483,"kind":1024,"name":"margin","url":"classes/core.imageprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":484,"kind":2048,"name":"addEventListener","url":"classes/core.imageprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":485,"kind":2048,"name":"removeEventListener","url":"classes/core.imageprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":486,"kind":2048,"name":"getCachedTile","url":"classes/core.imageprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":487,"kind":2048,"name":"setMargin","url":"classes/core.imageprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":488,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.imageprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":489,"kind":2048,"name":"config","url":"classes/core.imageprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":490,"kind":2048,"name":"createTile","url":"classes/core.imageprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.ImageProvider"},{"id":491,"kind":1,"name":"editor","url":"modules/editor.html","classes":"tsd-kind-module"},{"id":492,"kind":256,"name":"EditorFeatureProperties","url":"interfaces/editor.editorfeatureproperties.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"editor"},{"id":493,"kind":1024,"name":"created","url":"interfaces/editor.editorfeatureproperties.html#created","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorFeatureProperties"},{"id":494,"kind":1024,"name":"modified","url":"interfaces/editor.editorfeatureproperties.html#modified","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorFeatureProperties"},{"id":495,"kind":1024,"name":"removed","url":"interfaces/editor.editorfeatureproperties.html#removed","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorFeatureProperties"},{"id":496,"kind":1024,"name":"split","url":"interfaces/editor.editorfeatureproperties.html#split","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorFeatureProperties"},{"id":497,"kind":1024,"name":"selected","url":"interfaces/editor.editorfeatureproperties.html#selected","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorFeatureProperties"},{"id":498,"kind":1024,"name":"hovered","url":"interfaces/editor.editorfeatureproperties.html#hovered","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorFeatureProperties"},{"id":499,"kind":256,"name":"FeatureContainer","url":"interfaces/editor.featurecontainer.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"editor"},{"id":500,"kind":1024,"name":"type","url":"interfaces/editor.featurecontainer.html#type","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":501,"kind":1024,"name":"length","url":"interfaces/editor.featurecontainer.html#length","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":502,"kind":2048,"name":"push","url":"interfaces/editor.featurecontainer.html#push","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":503,"kind":2048,"name":"forEach","url":"interfaces/editor.featurecontainer.html#foreach","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":504,"kind":2048,"name":"toArray","url":"interfaces/editor.featurecontainer.html#toarray","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":505,"kind":2048,"name":"highlight","url":"interfaces/editor.featurecontainer.html#highlight","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":506,"kind":2048,"name":"remove","url":"interfaces/editor.featurecontainer.html#remove","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":507,"kind":2048,"name":"transform","url":"interfaces/editor.featurecontainer.html#transform","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":508,"kind":2048,"name":"unHighlight","url":"interfaces/editor.featurecontainer.html#unhighlight","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":509,"kind":2048,"name":"pop","url":"interfaces/editor.featurecontainer.html#pop","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.FeatureContainer"},{"id":510,"kind":256,"name":"EditorOptions","url":"interfaces/editor.editoroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"editor"},{"id":511,"kind":1024,"name":"layers","url":"interfaces/editor.editoroptions.html#layers","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":512,"kind":1024,"name":"editRestrictions","url":"interfaces/editor.editoroptions.html#editrestrictions","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":513,"kind":65536,"name":"__type","url":"interfaces/editor.editoroptions.html#editrestrictions.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.EditorOptions.editRestrictions"},{"id":514,"kind":1024,"name":"geoFence","url":"interfaces/editor.editoroptions.html#geofence","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":515,"kind":1024,"name":"snapTolerance","url":"interfaces/editor.editoroptions.html#snaptolerance","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":516,"kind":1024,"name":"routingPointPrecision","url":"interfaces/editor.editoroptions.html#routingpointprecision","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":517,"kind":1024,"name":"intersectionScale","url":"interfaces/editor.editoroptions.html#intersectionscale","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":518,"kind":1024,"name":"disconnectShapeDistance","url":"interfaces/editor.editoroptions.html#disconnectshapedistance","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":519,"kind":1024,"name":"keepFeatureSelection","url":"interfaces/editor.editoroptions.html#keepfeatureselection","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":520,"kind":1024,"name":"featureSelectionByDefault","url":"interfaces/editor.editoroptions.html#featureselectionbydefault","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":521,"kind":1024,"name":"maxRoutingPointDistance","url":"interfaces/editor.editoroptions.html#maxroutingpointdistance","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":522,"kind":1024,"name":"services","url":"interfaces/editor.editoroptions.html#services","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.EditorOptions"},{"id":523,"kind":65536,"name":"__type","url":"interfaces/editor.editoroptions.html#services.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.EditorOptions.services"},{"id":524,"kind":32,"name":"reverseGeocoder","url":"interfaces/editor.editoroptions.html#services.__type-1.reversegeocoder","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.EditorOptions.services.__type"},{"id":525,"kind":65536,"name":"__type","url":"interfaces/editor.editoroptions.html#services.__type-1.reversegeocoder.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"editor.EditorOptions.services.__type.reverseGeocoder"},{"id":526,"kind":64,"name":"getISOCC","url":"interfaces/editor.editoroptions.html#services.__type-1.reversegeocoder.__type-2.getisocc","classes":"tsd-kind-function tsd-parent-kind-type-literal","parent":"editor.EditorOptions.services.__type.reverseGeocoder.__type"},{"id":527,"kind":256,"name":"TurnRestrictionEditor","url":"interfaces/editor.turnrestrictioneditor.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"editor"},{"id":528,"kind":2048,"name":"show","url":"interfaces/editor.turnrestrictioneditor.html#show","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.TurnRestrictionEditor"},{"id":529,"kind":2048,"name":"hide","url":"interfaces/editor.turnrestrictioneditor.html#hide","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.TurnRestrictionEditor"},{"id":530,"kind":2048,"name":"isActive","url":"interfaces/editor.turnrestrictioneditor.html#isactive","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"editor.TurnRestrictionEditor"},{"id":531,"kind":128,"name":"Line","url":"classes/editor.line.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":532,"kind":1024,"name":"class","url":"classes/editor.line.html#class","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Line"},{"id":533,"kind":2048,"name":"addShape","url":"classes/editor.line.html#addshape","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Line"},{"id":534,"kind":2048,"name":"coord","url":"classes/editor.line.html#coord","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Line"},{"id":535,"kind":2048,"name":"getSelectedShapes","url":"classes/editor.line.html#getselectedshapes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Line"},{"id":536,"kind":2048,"name":"setSelectedShapes","url":"classes/editor.line.html#setselectedshapes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Line"},{"id":537,"kind":1024,"name":"properties","url":"classes/editor.line.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"editor.Line"},{"id":538,"kind":2048,"name":"editState","url":"classes/editor.line.html#editstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":539,"kind":2048,"name":"style","url":"classes/editor.line.html#style","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":540,"kind":2048,"name":"prop","url":"classes/editor.line.html#prop","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":541,"kind":2048,"name":"editable","url":"classes/editor.line.html#editable","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":542,"kind":2048,"name":"select","url":"classes/editor.line.html#select","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":543,"kind":2048,"name":"unselect","url":"classes/editor.line.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":544,"kind":2048,"name":"transform","url":"classes/editor.line.html#transform","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":545,"kind":2048,"name":"remove","url":"classes/editor.line.html#remove","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":546,"kind":1024,"name":"id","url":"classes/editor.line.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":547,"kind":1024,"name":"type","url":"classes/editor.line.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":548,"kind":1024,"name":"geometry","url":"classes/editor.line.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":549,"kind":65536,"name":"__type","url":"classes/editor.line.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Line.geometry"},{"id":550,"kind":32,"name":"type","url":"classes/editor.line.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Line.geometry.__type"},{"id":551,"kind":32,"name":"coordinates","url":"classes/editor.line.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Line.geometry.__type"},{"id":552,"kind":1024,"name":"bbox","url":"classes/editor.line.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":553,"kind":2048,"name":"toJSON","url":"classes/editor.line.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":554,"kind":2048,"name":"getProvider","url":"classes/editor.line.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Line"},{"id":555,"kind":128,"name":"LineShape","url":"classes/editor.lineshape.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":556,"kind":1024,"name":"class","url":"classes/editor.lineshape.html#class","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.LineShape"},{"id":557,"kind":1024,"name":"properties","url":"classes/editor.lineshape.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.LineShape"},{"id":558,"kind":65536,"name":"__type","url":"classes/editor.lineshape.html#properties.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.LineShape.properties"},{"id":559,"kind":32,"name":"lineStringIndex","url":"classes/editor.lineshape.html#properties.__type-1.linestringindex","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.properties.__type"},{"id":560,"kind":32,"name":"moved","url":"classes/editor.lineshape.html#properties.__type-1.moved","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.properties.__type"},{"id":561,"kind":32,"name":"index","url":"classes/editor.lineshape.html#properties.__type-1.index","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.properties.__type"},{"id":562,"kind":32,"name":"x","url":"classes/editor.lineshape.html#properties.__type-1.x","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.properties.__type"},{"id":563,"kind":32,"name":"y","url":"classes/editor.lineshape.html#properties.__type-1.y","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.properties.__type"},{"id":564,"kind":32,"name":"z","url":"classes/editor.lineshape.html#properties.__type-1.z","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.properties.__type"},{"id":565,"kind":32,"name":"button","url":"classes/editor.lineshape.html#properties.__type-1.button","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.properties.__type"},{"id":566,"kind":1024,"name":"geometry","url":"classes/editor.lineshape.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.LineShape"},{"id":567,"kind":65536,"name":"__type","url":"classes/editor.lineshape.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.LineShape.geometry"},{"id":568,"kind":32,"name":"type","url":"classes/editor.lineshape.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.geometry.__type"},{"id":569,"kind":32,"name":"coordinates","url":"classes/editor.lineshape.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.LineShape.geometry.__type"},{"id":570,"kind":2048,"name":"behavior","url":"classes/editor.lineshape.html#behavior","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":571,"kind":2048,"name":"getLine","url":"classes/editor.lineshape.html#getline","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":572,"kind":2048,"name":"getLength","url":"classes/editor.lineshape.html#getlength","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":573,"kind":2048,"name":"getIndex","url":"classes/editor.lineshape.html#getindex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":574,"kind":2048,"name":"getLineStringIndex","url":"classes/editor.lineshape.html#getlinestringindex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":575,"kind":2048,"name":"remove","url":"classes/editor.lineshape.html#remove","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":576,"kind":2048,"name":"select","url":"classes/editor.lineshape.html#select","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":577,"kind":2048,"name":"unselect","url":"classes/editor.lineshape.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":578,"kind":2048,"name":"isSelected","url":"classes/editor.lineshape.html#isselected","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.LineShape"},{"id":579,"kind":1024,"name":"id","url":"classes/editor.lineshape.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.LineShape"},{"id":580,"kind":1024,"name":"type","url":"classes/editor.lineshape.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.LineShape"},{"id":581,"kind":1024,"name":"bbox","url":"classes/editor.lineshape.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.LineShape"},{"id":582,"kind":2048,"name":"toJSON","url":"classes/editor.lineshape.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.LineShape"},{"id":583,"kind":2048,"name":"getProvider","url":"classes/editor.lineshape.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.LineShape"},{"id":584,"kind":128,"name":"NavlinkShape","url":"classes/editor.navlinkshape.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":585,"kind":1024,"name":"class","url":"classes/editor.navlinkshape.html#class","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":586,"kind":2048,"name":"behavior","url":"classes/editor.navlinkshape.html#behavior","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":587,"kind":2048,"name":"getLink","url":"classes/editor.navlinkshape.html#getlink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":588,"kind":2048,"name":"isNode","url":"classes/editor.navlinkshape.html#isnode","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":589,"kind":2048,"name":"isOverlapping","url":"classes/editor.navlinkshape.html#isoverlapping","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":590,"kind":2048,"name":"getIndex","url":"classes/editor.navlinkshape.html#getindex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":591,"kind":2048,"name":"editTurnRestrictions","url":"classes/editor.navlinkshape.html#editturnrestrictions","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":592,"kind":2048,"name":"getConnectedLinks","url":"classes/editor.navlinkshape.html#getconnectedlinks","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":593,"kind":2048,"name":"remove","url":"classes/editor.navlinkshape.html#remove","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":594,"kind":2048,"name":"disconnect","url":"classes/editor.navlinkshape.html#disconnect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":595,"kind":2048,"name":"select","url":"classes/editor.navlinkshape.html#select","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":596,"kind":2048,"name":"unselect","url":"classes/editor.navlinkshape.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":597,"kind":2048,"name":"splitLink","url":"classes/editor.navlinkshape.html#splitlink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":598,"kind":2048,"name":"isSelected","url":"classes/editor.navlinkshape.html#isselected","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.NavlinkShape"},{"id":599,"kind":1024,"name":"id","url":"classes/editor.navlinkshape.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.NavlinkShape"},{"id":600,"kind":1024,"name":"properties","url":"classes/editor.navlinkshape.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.NavlinkShape"},{"id":601,"kind":1024,"name":"type","url":"classes/editor.navlinkshape.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.NavlinkShape"},{"id":602,"kind":1024,"name":"geometry","url":"classes/editor.navlinkshape.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.NavlinkShape"},{"id":603,"kind":65536,"name":"__type","url":"classes/editor.navlinkshape.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.NavlinkShape.geometry"},{"id":604,"kind":32,"name":"type","url":"classes/editor.navlinkshape.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.NavlinkShape.geometry.__type"},{"id":605,"kind":32,"name":"coordinates","url":"classes/editor.navlinkshape.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.NavlinkShape.geometry.__type"},{"id":606,"kind":1024,"name":"bbox","url":"classes/editor.navlinkshape.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.NavlinkShape"},{"id":607,"kind":2048,"name":"toJSON","url":"classes/editor.navlinkshape.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.NavlinkShape"},{"id":608,"kind":2048,"name":"getProvider","url":"classes/editor.navlinkshape.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.NavlinkShape"},{"id":609,"kind":128,"name":"Crossing","url":"classes/editor.crossing.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":610,"kind":1024,"name":"class","url":"classes/editor.crossing.html#class","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.Crossing"},{"id":611,"kind":1024,"name":"x","url":"classes/editor.crossing.html#x","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.Crossing"},{"id":612,"kind":1024,"name":"y","url":"classes/editor.crossing.html#y","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.Crossing"},{"id":613,"kind":1024,"name":"distance","url":"classes/editor.crossing.html#distance","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.Crossing"},{"id":614,"kind":1024,"name":"geometry","url":"classes/editor.crossing.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.Crossing"},{"id":615,"kind":65536,"name":"__type","url":"classes/editor.crossing.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Crossing.geometry"},{"id":616,"kind":32,"name":"type","url":"classes/editor.crossing.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Crossing.geometry.__type"},{"id":617,"kind":32,"name":"coordinates","url":"classes/editor.crossing.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Crossing.geometry.__type"},{"id":618,"kind":2048,"name":"getRelatedLink","url":"classes/editor.crossing.html#getrelatedlink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Crossing"},{"id":619,"kind":2048,"name":"connect","url":"classes/editor.crossing.html#connect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Crossing"},{"id":620,"kind":2048,"name":"show","url":"classes/editor.crossing.html#show","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Crossing"},{"id":621,"kind":2048,"name":"hide","url":"classes/editor.crossing.html#hide","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Crossing"},{"id":622,"kind":2048,"name":"getLink","url":"classes/editor.crossing.html#getlink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Crossing"},{"id":623,"kind":2048,"name":"getConnectedLinks","url":"classes/editor.crossing.html#getconnectedlinks","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Crossing"},{"id":624,"kind":128,"name":"Navlink","url":"classes/editor.navlink.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":625,"kind":1024,"name":"class","url":"classes/editor.navlink.html#class","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Navlink"},{"id":626,"kind":2048,"name":"coord","url":"classes/editor.navlink.html#coord","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Navlink"},{"id":627,"kind":2048,"name":"checkCrossings","url":"classes/editor.navlink.html#checkcrossings","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":628,"kind":2048,"name":"showDirectionHint","url":"classes/editor.navlink.html#showdirectionhint","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":629,"kind":2048,"name":"setGeoFence","url":"classes/editor.navlink.html#setgeofence","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":630,"kind":2048,"name":"addShape","url":"classes/editor.navlink.html#addshape","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":631,"kind":2048,"name":"behavior","url":"classes/editor.navlink.html#behavior","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":632,"kind":2048,"name":"getConnectedLinks","url":"classes/editor.navlink.html#getconnectedlinks","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":633,"kind":2048,"name":"getZLevels","url":"classes/editor.navlink.html#getzlevels","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":634,"kind":2048,"name":"getSelectedShapes","url":"classes/editor.navlink.html#getselectedshapes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":635,"kind":2048,"name":"setSelectedShapes","url":"classes/editor.navlink.html#setselectedshapes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":636,"kind":2048,"name":"setZLevels","url":"classes/editor.navlink.html#setzlevels","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":637,"kind":2048,"name":"editTurnRestrictions","url":"classes/editor.navlink.html#editturnrestrictions","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Navlink"},{"id":638,"kind":1024,"name":"properties","url":"classes/editor.navlink.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"editor.Navlink"},{"id":639,"kind":2048,"name":"editState","url":"classes/editor.navlink.html#editstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":640,"kind":2048,"name":"style","url":"classes/editor.navlink.html#style","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":641,"kind":2048,"name":"prop","url":"classes/editor.navlink.html#prop","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":642,"kind":2048,"name":"editable","url":"classes/editor.navlink.html#editable","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":643,"kind":2048,"name":"select","url":"classes/editor.navlink.html#select","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":644,"kind":2048,"name":"unselect","url":"classes/editor.navlink.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":645,"kind":2048,"name":"transform","url":"classes/editor.navlink.html#transform","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":646,"kind":2048,"name":"remove","url":"classes/editor.navlink.html#remove","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":647,"kind":1024,"name":"id","url":"classes/editor.navlink.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":648,"kind":1024,"name":"type","url":"classes/editor.navlink.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":649,"kind":1024,"name":"geometry","url":"classes/editor.navlink.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":650,"kind":65536,"name":"__type","url":"classes/editor.navlink.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Navlink.geometry"},{"id":651,"kind":32,"name":"type","url":"classes/editor.navlink.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Navlink.geometry.__type"},{"id":652,"kind":32,"name":"coordinates","url":"classes/editor.navlink.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Navlink.geometry.__type"},{"id":653,"kind":1024,"name":"bbox","url":"classes/editor.navlink.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":654,"kind":2048,"name":"toJSON","url":"classes/editor.navlink.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":655,"kind":2048,"name":"getProvider","url":"classes/editor.navlink.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Navlink"},{"id":656,"kind":128,"name":"Address","url":"classes/editor.address.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":657,"kind":1024,"name":"class","url":"classes/editor.address.html#class","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Address"},{"id":658,"kind":2048,"name":"coord","url":"classes/editor.address.html#coord","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"editor.Address"},{"id":659,"kind":2048,"name":"getLink","url":"classes/editor.address.html#getlink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":660,"kind":2048,"name":"behavior","url":"classes/editor.address.html#behavior","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":661,"kind":1024,"name":"properties","url":"classes/editor.address.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"editor.Address"},{"id":662,"kind":2048,"name":"editState","url":"classes/editor.address.html#editstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":663,"kind":2048,"name":"style","url":"classes/editor.address.html#style","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":664,"kind":2048,"name":"prop","url":"classes/editor.address.html#prop","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":665,"kind":2048,"name":"editable","url":"classes/editor.address.html#editable","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":666,"kind":2048,"name":"select","url":"classes/editor.address.html#select","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":667,"kind":2048,"name":"unselect","url":"classes/editor.address.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":668,"kind":2048,"name":"transform","url":"classes/editor.address.html#transform","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":669,"kind":2048,"name":"remove","url":"classes/editor.address.html#remove","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":670,"kind":1024,"name":"id","url":"classes/editor.address.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":671,"kind":1024,"name":"type","url":"classes/editor.address.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":672,"kind":1024,"name":"geometry","url":"classes/editor.address.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":673,"kind":65536,"name":"__type","url":"classes/editor.address.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Address.geometry"},{"id":674,"kind":32,"name":"type","url":"classes/editor.address.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Address.geometry.__type"},{"id":675,"kind":32,"name":"coordinates","url":"classes/editor.address.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Address.geometry.__type"},{"id":676,"kind":1024,"name":"bbox","url":"classes/editor.address.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":677,"kind":2048,"name":"toJSON","url":"classes/editor.address.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":678,"kind":2048,"name":"getProvider","url":"classes/editor.address.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Address"},{"id":679,"kind":128,"name":"Place","url":"classes/editor.place.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":680,"kind":1024,"name":"class","url":"classes/editor.place.html#class","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Place"},{"id":681,"kind":2048,"name":"createRoutingPoint","url":"classes/editor.place.html#createroutingpoint","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Place"},{"id":682,"kind":2048,"name":"removeRoutingPoint","url":"classes/editor.place.html#removeroutingpoint","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Place"},{"id":683,"kind":2048,"name":"coord","url":"classes/editor.place.html#coord","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"editor.Place"},{"id":684,"kind":2048,"name":"getLink","url":"classes/editor.place.html#getlink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":685,"kind":2048,"name":"behavior","url":"classes/editor.place.html#behavior","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":686,"kind":1024,"name":"properties","url":"classes/editor.place.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"editor.Place"},{"id":687,"kind":2048,"name":"editState","url":"classes/editor.place.html#editstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":688,"kind":2048,"name":"style","url":"classes/editor.place.html#style","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":689,"kind":2048,"name":"prop","url":"classes/editor.place.html#prop","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":690,"kind":2048,"name":"editable","url":"classes/editor.place.html#editable","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":691,"kind":2048,"name":"select","url":"classes/editor.place.html#select","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":692,"kind":2048,"name":"unselect","url":"classes/editor.place.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":693,"kind":2048,"name":"transform","url":"classes/editor.place.html#transform","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":694,"kind":2048,"name":"remove","url":"classes/editor.place.html#remove","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":695,"kind":1024,"name":"id","url":"classes/editor.place.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":696,"kind":1024,"name":"type","url":"classes/editor.place.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":697,"kind":1024,"name":"geometry","url":"classes/editor.place.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":698,"kind":65536,"name":"__type","url":"classes/editor.place.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Place.geometry"},{"id":699,"kind":32,"name":"type","url":"classes/editor.place.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Place.geometry.__type"},{"id":700,"kind":32,"name":"coordinates","url":"classes/editor.place.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Place.geometry.__type"},{"id":701,"kind":1024,"name":"bbox","url":"classes/editor.place.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":702,"kind":2048,"name":"toJSON","url":"classes/editor.place.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":703,"kind":2048,"name":"getProvider","url":"classes/editor.place.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Place"},{"id":704,"kind":128,"name":"Area","url":"classes/editor.area.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":705,"kind":1024,"name":"class","url":"classes/editor.area.html#class","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Area"},{"id":706,"kind":2048,"name":"addShape","url":"classes/editor.area.html#addshape","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Area"},{"id":707,"kind":2048,"name":"addHole","url":"classes/editor.area.html#addhole","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Area"},{"id":708,"kind":2048,"name":"behavior","url":"classes/editor.area.html#behavior","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Area"},{"id":709,"kind":2048,"name":"coord","url":"classes/editor.area.html#coord","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Area"},{"id":710,"kind":1024,"name":"properties","url":"classes/editor.area.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"editor.Area"},{"id":711,"kind":2048,"name":"editState","url":"classes/editor.area.html#editstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":712,"kind":2048,"name":"style","url":"classes/editor.area.html#style","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":713,"kind":2048,"name":"prop","url":"classes/editor.area.html#prop","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":714,"kind":2048,"name":"editable","url":"classes/editor.area.html#editable","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":715,"kind":2048,"name":"select","url":"classes/editor.area.html#select","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":716,"kind":2048,"name":"unselect","url":"classes/editor.area.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":717,"kind":2048,"name":"transform","url":"classes/editor.area.html#transform","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":718,"kind":2048,"name":"remove","url":"classes/editor.area.html#remove","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":719,"kind":1024,"name":"id","url":"classes/editor.area.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":720,"kind":1024,"name":"type","url":"classes/editor.area.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":721,"kind":1024,"name":"geometry","url":"classes/editor.area.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":722,"kind":65536,"name":"__type","url":"classes/editor.area.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Area.geometry"},{"id":723,"kind":32,"name":"type","url":"classes/editor.area.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Area.geometry.__type"},{"id":724,"kind":32,"name":"coordinates","url":"classes/editor.area.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Area.geometry.__type"},{"id":725,"kind":1024,"name":"bbox","url":"classes/editor.area.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":726,"kind":2048,"name":"toJSON","url":"classes/editor.area.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":727,"kind":2048,"name":"getProvider","url":"classes/editor.area.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Area"},{"id":728,"kind":128,"name":"MapEvent","url":"classes/display.mapevent.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"display"},{"id":729,"kind":1024,"name":"nativeEvent","url":"classes/display.mapevent.html#nativeevent","classes":"tsd-kind-property tsd-parent-kind-class","parent":"display.MapEvent"},{"id":730,"kind":1024,"name":"type","url":"classes/display.mapevent.html#type","classes":"tsd-kind-property tsd-parent-kind-class","parent":"display.MapEvent"},{"id":731,"kind":1024,"name":"timeStamp","url":"classes/display.mapevent.html#timestamp","classes":"tsd-kind-property tsd-parent-kind-class","parent":"display.MapEvent"},{"id":732,"kind":1024,"name":"target","url":"classes/display.mapevent.html#target","classes":"tsd-kind-property tsd-parent-kind-class","parent":"display.MapEvent"},{"id":733,"kind":1024,"name":"button","url":"classes/display.mapevent.html#button","classes":"tsd-kind-property tsd-parent-kind-class","parent":"display.MapEvent"},{"id":734,"kind":1024,"name":"mapX","url":"classes/display.mapevent.html#mapx","classes":"tsd-kind-property tsd-parent-kind-class","parent":"display.MapEvent"},{"id":735,"kind":1024,"name":"mapY","url":"classes/display.mapevent.html#mapy","classes":"tsd-kind-property tsd-parent-kind-class","parent":"display.MapEvent"},{"id":736,"kind":1024,"name":"detail","url":"classes/display.mapevent.html#detail","classes":"tsd-kind-property tsd-parent-kind-class","parent":"display.MapEvent"},{"id":737,"kind":256,"name":"MapOptions","url":"interfaces/display.mapoptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"display"},{"id":738,"kind":1024,"name":"ui","url":"interfaces/display.mapoptions.html#ui","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":739,"kind":65536,"name":"__type","url":"interfaces/display.mapoptions.html#ui.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"display.MapOptions.ui"},{"id":740,"kind":1024,"name":"zoomlevel","url":"interfaces/display.mapoptions.html#zoomlevel","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":741,"kind":1024,"name":"center","url":"interfaces/display.mapoptions.html#center","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":742,"kind":1024,"name":"layers","url":"interfaces/display.mapoptions.html#layers","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":743,"kind":1024,"name":"maxLevel","url":"interfaces/display.mapoptions.html#maxlevel","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":744,"kind":1024,"name":"minLevel","url":"interfaces/display.mapoptions.html#minlevel","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":745,"kind":1024,"name":"backgroundColor","url":"interfaces/display.mapoptions.html#backgroundcolor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":746,"kind":1024,"name":"debug","url":"interfaces/display.mapoptions.html#debug","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":747,"kind":1024,"name":"minPanMapThreshold","url":"interfaces/display.mapoptions.html#minpanmapthreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":748,"kind":1024,"name":"minRotateMapThreshold","url":"interfaces/display.mapoptions.html#minrotatemapthreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":749,"kind":1024,"name":"minPitchMapThreshold","url":"interfaces/display.mapoptions.html#minpitchmapthreshold","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":750,"kind":1024,"name":"behavior","url":"interfaces/display.mapoptions.html#behavior","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":751,"kind":65536,"name":"__type","url":"interfaces/display.mapoptions.html#behavior.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"display.MapOptions.behavior"},{"id":752,"kind":32,"name":"zoom","url":"interfaces/display.mapoptions.html#behavior.__type.zoom","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"display.MapOptions.behavior.__type"},{"id":753,"kind":32,"name":"drag","url":"interfaces/display.mapoptions.html#behavior.__type.drag","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"display.MapOptions.behavior.__type"},{"id":754,"kind":32,"name":"pitch","url":"interfaces/display.mapoptions.html#behavior.__type.pitch","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"display.MapOptions.behavior.__type"},{"id":755,"kind":32,"name":"rotate","url":"interfaces/display.mapoptions.html#behavior.__type.rotate","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"display.MapOptions.behavior.__type"},{"id":756,"kind":1024,"name":"rotate","url":"interfaces/display.mapoptions.html#rotate-1","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":757,"kind":1024,"name":"pitch","url":"interfaces/display.mapoptions.html#pitch-1","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":758,"kind":1024,"name":"zoomAnimationMs","url":"interfaces/display.mapoptions.html#zoomanimationms","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":759,"kind":1024,"name":"maxPitch","url":"interfaces/display.mapoptions.html#maxpitch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"display.MapOptions"},{"id":760,"kind":128,"name":"Map","url":"classes/display.map.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"display"},{"id":761,"kind":512,"name":"constructor","url":"classes/display.map.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"display.Map"},{"id":762,"kind":2048,"name":"pitch","url":"classes/display.map.html#pitch","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":763,"kind":2048,"name":"rotate","url":"classes/display.map.html#rotate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":764,"kind":2048,"name":"setBackgroundColor","url":"classes/display.map.html#setbackgroundcolor","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":765,"kind":2048,"name":"addEventListener","url":"classes/display.map.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":766,"kind":2048,"name":"removeEventListener","url":"classes/display.map.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":767,"kind":2048,"name":"getViewBounds","url":"classes/display.map.html#getviewbounds","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":768,"kind":2048,"name":"setViewBounds","url":"classes/display.map.html#setviewbounds","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":769,"kind":2048,"name":"getFeatureAt","url":"classes/display.map.html#getfeatureat","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":770,"kind":2048,"name":"getFeaturesAt","url":"classes/display.map.html#getfeaturesat","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":771,"kind":2048,"name":"snapshot","url":"classes/display.map.html#snapshot","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":772,"kind":2048,"name":"getBehavior","url":"classes/display.map.html#getbehavior","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":773,"kind":2048,"name":"setBehavior","url":"classes/display.map.html#setbehavior","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":774,"kind":2048,"name":"getZoomlevel","url":"classes/display.map.html#getzoomlevel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":775,"kind":2048,"name":"setZoomlevel","url":"classes/display.map.html#setzoomlevel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":776,"kind":2048,"name":"setCenter","url":"classes/display.map.html#setcenter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":777,"kind":2048,"name":"getCenter","url":"classes/display.map.html#getcenter","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":778,"kind":2048,"name":"flyTo","url":"classes/display.map.html#flyto","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":779,"kind":2048,"name":"lockViewport","url":"classes/display.map.html#lockviewport","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":780,"kind":2048,"name":"pan","url":"classes/display.map.html#pan","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":781,"kind":2048,"name":"getLayers","url":"classes/display.map.html#getlayers","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":782,"kind":2048,"name":"addLayer","url":"classes/display.map.html#addlayer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":783,"kind":2048,"name":"removeLayer","url":"classes/display.map.html#removelayer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":784,"kind":2048,"name":"refresh","url":"classes/display.map.html#refresh","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":785,"kind":2048,"name":"pixelToGeo","url":"classes/display.map.html#pixeltogeo","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":786,"kind":2048,"name":"geoToPixel","url":"classes/display.map.html#geotopixel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":787,"kind":2048,"name":"getCamera","url":"classes/display.map.html#getcamera","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":788,"kind":2048,"name":"destroy","url":"classes/display.map.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":789,"kind":2048,"name":"resize","url":"classes/display.map.html#resize","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":790,"kind":2048,"name":"getWidth","url":"classes/display.map.html#getwidth","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":791,"kind":2048,"name":"getHeight","url":"classes/display.map.html#getheight","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":792,"kind":2048,"name":"addObserver","url":"classes/display.map.html#addobserver","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":793,"kind":2048,"name":"removeObserver","url":"classes/display.map.html#removeobserver","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":794,"kind":2048,"name":"getContainer","url":"classes/display.map.html#getcontainer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"display.Map"},{"id":795,"kind":256,"name":"Range","url":"interfaces/editor.range.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"editor"},{"id":796,"kind":1024,"name":"id","url":"interfaces/editor.range.html#id","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":797,"kind":1024,"name":"side","url":"interfaces/editor.range.html#side","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":798,"kind":1024,"name":"from","url":"interfaces/editor.range.html#from","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":799,"kind":1024,"name":"to","url":"interfaces/editor.range.html#to","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":800,"kind":1024,"name":"locked","url":"interfaces/editor.range.html#locked","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":801,"kind":1024,"name":"style","url":"interfaces/editor.range.html#style","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":802,"kind":1024,"name":"dragStart","url":"interfaces/editor.range.html#dragstart","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":803,"kind":65536,"name":"__type","url":"interfaces/editor.range.html#dragstart.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Range.dragStart"},{"id":804,"kind":1024,"name":"dragMove","url":"interfaces/editor.range.html#dragmove","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":805,"kind":65536,"name":"__type","url":"interfaces/editor.range.html#dragmove.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Range.dragMove"},{"id":806,"kind":1024,"name":"dragStop","url":"interfaces/editor.range.html#dragstop","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":807,"kind":65536,"name":"__type","url":"interfaces/editor.range.html#dragstop.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Range.dragStop"},{"id":808,"kind":1024,"name":"segments","url":"interfaces/editor.range.html#segments","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":809,"kind":1024,"name":"snap","url":"interfaces/editor.range.html#snap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":810,"kind":1024,"name":"snapTolerance","url":"interfaces/editor.range.html#snaptolerance","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":811,"kind":1024,"name":"allowOverlap","url":"interfaces/editor.range.html#allowoverlap","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.Range"},{"id":812,"kind":128,"name":"RangeSelector","url":"classes/editor.rangeselector.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":813,"kind":2048,"name":"add","url":"classes/editor.rangeselector.html#add","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.RangeSelector"},{"id":814,"kind":2048,"name":"show","url":"classes/editor.rangeselector.html#show","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.RangeSelector"},{"id":815,"kind":2048,"name":"hide","url":"classes/editor.rangeselector.html#hide","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.RangeSelector"},{"id":816,"kind":2048,"name":"info","url":"classes/editor.rangeselector.html#info","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.RangeSelector"},{"id":817,"kind":4194304,"name":"RangeSegment","url":"modules/editor.html#rangesegment","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"editor"},{"id":818,"kind":65536,"name":"__type","url":"modules/editor.html#rangesegment.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"editor.RangeSegment"},{"id":819,"kind":32,"name":"feature","url":"modules/editor.html#rangesegment.__type-4.feature-1","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.RangeSegment.__type"},{"id":820,"kind":32,"name":"from","url":"modules/editor.html#rangesegment.__type-4.from","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.RangeSegment.__type"},{"id":821,"kind":32,"name":"to","url":"modules/editor.html#rangesegment.__type-4.to","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.RangeSegment.__type"},{"id":822,"kind":32,"name":"reversed","url":"modules/editor.html#rangesegment.__type-4.reversed","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.RangeSegment.__type"},{"id":823,"kind":128,"name":"EditorEvent","url":"classes/editor.editorevent.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":824,"kind":1024,"name":"type","url":"classes/editor.editorevent.html#type","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.EditorEvent"},{"id":825,"kind":1024,"name":"timeStamp","url":"classes/editor.editorevent.html#timestamp","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.EditorEvent"},{"id":826,"kind":1024,"name":"mapX","url":"classes/editor.editorevent.html#mapx","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.EditorEvent"},{"id":827,"kind":1024,"name":"mapY","url":"classes/editor.editorevent.html#mapy","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.EditorEvent"},{"id":828,"kind":1024,"name":"nativeEvent","url":"classes/editor.editorevent.html#nativeevent","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.EditorEvent"},{"id":829,"kind":1024,"name":"button","url":"classes/editor.editorevent.html#button","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.EditorEvent"},{"id":830,"kind":1024,"name":"target","url":"classes/editor.editorevent.html#target","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.EditorEvent"},{"id":831,"kind":1024,"name":"detail","url":"classes/editor.editorevent.html#detail","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.EditorEvent"},{"id":832,"kind":65536,"name":"__type","url":"classes/editor.editorevent.html#detail.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.EditorEvent.detail"},{"id":833,"kind":32,"name":"layer","url":"classes/editor.editorevent.html#detail.__type.layer","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.EditorEvent.detail.__type"},{"id":834,"kind":32,"name":"index","url":"classes/editor.editorevent.html#detail.__type.index","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.EditorEvent.detail.__type"},{"id":835,"kind":32,"name":"range","url":"classes/editor.editorevent.html#detail.__type.range","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.EditorEvent.detail.__type"},{"id":836,"kind":4194304,"name":"EditorEventTypes","url":"modules/editor.html#editoreventtypes","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"editor"},{"id":837,"kind":4194304,"name":"NavlinkSplitHook","url":"modules/editor.html#navlinksplithook","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"editor"},{"id":838,"kind":65536,"name":"__type","url":"modules/editor.html#navlinksplithook.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"editor.NavlinkSplitHook"},{"id":839,"kind":4194304,"name":"NavlinkDisconnectHook","url":"modules/editor.html#navlinkdisconnecthook","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"editor"},{"id":840,"kind":65536,"name":"__type","url":"modules/editor.html#navlinkdisconnecthook.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"editor.NavlinkDisconnectHook"},{"id":841,"kind":4194304,"name":"FeatureRemoveHook","url":"modules/editor.html#featureremovehook","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"editor"},{"id":842,"kind":65536,"name":"__type","url":"modules/editor.html#featureremovehook.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"editor.FeatureRemoveHook"},{"id":843,"kind":4194304,"name":"CoordinatesUpdateHook","url":"modules/editor.html#coordinatesupdatehook","classes":"tsd-kind-type-alias tsd-parent-kind-module","parent":"editor"},{"id":844,"kind":65536,"name":"__type","url":"modules/editor.html#coordinatesupdatehook.__type","classes":"tsd-kind-type-literal tsd-parent-kind-type-alias","parent":"editor.CoordinatesUpdateHook"},{"id":845,"kind":128,"name":"DrawingShape","url":"classes/editor.drawingshape.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":846,"kind":1024,"name":"class","url":"classes/editor.drawingshape.html#class","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.DrawingShape"},{"id":847,"kind":2048,"name":"remove","url":"classes/editor.drawingshape.html#remove","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingShape"},{"id":848,"kind":2048,"name":"getLength","url":"classes/editor.drawingshape.html#getlength","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingShape"},{"id":849,"kind":2048,"name":"getIndex","url":"classes/editor.drawingshape.html#getindex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingShape"},{"id":850,"kind":1024,"name":"id","url":"classes/editor.drawingshape.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.DrawingShape"},{"id":851,"kind":1024,"name":"properties","url":"classes/editor.drawingshape.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.DrawingShape"},{"id":852,"kind":1024,"name":"type","url":"classes/editor.drawingshape.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.DrawingShape"},{"id":853,"kind":1024,"name":"geometry","url":"classes/editor.drawingshape.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.DrawingShape"},{"id":854,"kind":65536,"name":"__type","url":"classes/editor.drawingshape.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.DrawingShape.geometry"},{"id":855,"kind":32,"name":"type","url":"classes/editor.drawingshape.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.DrawingShape.geometry.__type"},{"id":856,"kind":32,"name":"coordinates","url":"classes/editor.drawingshape.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.DrawingShape.geometry.__type"},{"id":857,"kind":1024,"name":"bbox","url":"classes/editor.drawingshape.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.DrawingShape"},{"id":858,"kind":2048,"name":"toJSON","url":"classes/editor.drawingshape.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.DrawingShape"},{"id":859,"kind":2048,"name":"getProvider","url":"classes/editor.drawingshape.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.DrawingShape"},{"id":860,"kind":128,"name":"DrawingBoard","url":"classes/editor.drawingboard.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":861,"kind":2048,"name":"addShape","url":"classes/editor.drawingboard.html#addshape","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":862,"kind":2048,"name":"removeShape","url":"classes/editor.drawingboard.html#removeshape","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":863,"kind":2048,"name":"getLength","url":"classes/editor.drawingboard.html#getlength","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":864,"kind":2048,"name":"cancel","url":"classes/editor.drawingboard.html#cancel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":865,"kind":2048,"name":"setProperties","url":"classes/editor.drawingboard.html#setproperties","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":866,"kind":2048,"name":"setAttributes","url":"classes/editor.drawingboard.html#setattributes","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":867,"kind":2048,"name":"create","url":"classes/editor.drawingboard.html#create","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":868,"kind":2048,"name":"start","url":"classes/editor.drawingboard.html#start","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":869,"kind":2048,"name":"isActive","url":"classes/editor.drawingboard.html#isactive","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":870,"kind":2048,"name":"getGeometry","url":"classes/editor.drawingboard.html#getgeometry","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":871,"kind":2048,"name":"setGeometry","url":"classes/editor.drawingboard.html#setgeometry","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.DrawingBoard"},{"id":872,"kind":128,"name":"AreaShape","url":"classes/editor.areashape.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":873,"kind":1024,"name":"class","url":"classes/editor.areashape.html#class","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.AreaShape"},{"id":874,"kind":2048,"name":"getArea","url":"classes/editor.areashape.html#getarea","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.AreaShape"},{"id":875,"kind":2048,"name":"remove","url":"classes/editor.areashape.html#remove","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.AreaShape"},{"id":876,"kind":2048,"name":"getIndex","url":"classes/editor.areashape.html#getindex","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.AreaShape"},{"id":877,"kind":1024,"name":"id","url":"classes/editor.areashape.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.AreaShape"},{"id":878,"kind":1024,"name":"properties","url":"classes/editor.areashape.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.AreaShape"},{"id":879,"kind":1024,"name":"type","url":"classes/editor.areashape.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.AreaShape"},{"id":880,"kind":1024,"name":"geometry","url":"classes/editor.areashape.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.AreaShape"},{"id":881,"kind":65536,"name":"__type","url":"classes/editor.areashape.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.AreaShape.geometry"},{"id":882,"kind":32,"name":"type","url":"classes/editor.areashape.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.AreaShape.geometry.__type"},{"id":883,"kind":32,"name":"coordinates","url":"classes/editor.areashape.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.AreaShape.geometry.__type"},{"id":884,"kind":1024,"name":"bbox","url":"classes/editor.areashape.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.AreaShape"},{"id":885,"kind":2048,"name":"toJSON","url":"classes/editor.areashape.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.AreaShape"},{"id":886,"kind":2048,"name":"getProvider","url":"classes/editor.areashape.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.AreaShape"},{"id":887,"kind":128,"name":"Marker","url":"classes/editor.marker.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":888,"kind":1024,"name":"class","url":"classes/editor.marker.html#class","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Marker"},{"id":889,"kind":2048,"name":"behavior","url":"classes/editor.marker.html#behavior","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Marker"},{"id":890,"kind":1024,"name":"properties","url":"classes/editor.marker.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"editor.Marker"},{"id":891,"kind":2048,"name":"editState","url":"classes/editor.marker.html#editstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":892,"kind":2048,"name":"style","url":"classes/editor.marker.html#style","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":893,"kind":2048,"name":"prop","url":"classes/editor.marker.html#prop","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":894,"kind":2048,"name":"coord","url":"classes/editor.marker.html#coord","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":895,"kind":2048,"name":"editable","url":"classes/editor.marker.html#editable","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":896,"kind":2048,"name":"select","url":"classes/editor.marker.html#select","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":897,"kind":2048,"name":"unselect","url":"classes/editor.marker.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":898,"kind":2048,"name":"transform","url":"classes/editor.marker.html#transform","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":899,"kind":2048,"name":"remove","url":"classes/editor.marker.html#remove","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":900,"kind":1024,"name":"id","url":"classes/editor.marker.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":901,"kind":1024,"name":"type","url":"classes/editor.marker.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":902,"kind":1024,"name":"geometry","url":"classes/editor.marker.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":903,"kind":65536,"name":"__type","url":"classes/editor.marker.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Marker.geometry"},{"id":904,"kind":32,"name":"type","url":"classes/editor.marker.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Marker.geometry.__type"},{"id":905,"kind":32,"name":"coordinates","url":"classes/editor.marker.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Marker.geometry.__type"},{"id":906,"kind":1024,"name":"bbox","url":"classes/editor.marker.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":907,"kind":2048,"name":"toJSON","url":"classes/editor.marker.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":908,"kind":2048,"name":"getProvider","url":"classes/editor.marker.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Marker"},{"id":909,"kind":256,"name":"FeatureProperties","url":"interfaces/editor.featureproperties.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"editor"},{"id":910,"kind":1024,"name":"@ns:com:here:editor","url":"interfaces/editor.featureproperties.html#_ns_com_here_editor","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"editor.FeatureProperties"},{"id":911,"kind":128,"name":"Feature","url":"classes/editor.feature.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":912,"kind":1024,"name":"properties","url":"classes/editor.feature.html#properties","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-overwrite","parent":"editor.Feature"},{"id":913,"kind":1024,"name":"class","url":"classes/editor.feature.html#class","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.Feature"},{"id":914,"kind":2048,"name":"editState","url":"classes/editor.feature.html#editstate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":915,"kind":2048,"name":"style","url":"classes/editor.feature.html#style","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":916,"kind":2048,"name":"prop","url":"classes/editor.feature.html#prop","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":917,"kind":2048,"name":"coord","url":"classes/editor.feature.html#coord","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":918,"kind":2048,"name":"editable","url":"classes/editor.feature.html#editable","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":919,"kind":2048,"name":"select","url":"classes/editor.feature.html#select","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":920,"kind":2048,"name":"unselect","url":"classes/editor.feature.html#unselect","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":921,"kind":2048,"name":"transform","url":"classes/editor.feature.html#transform","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":922,"kind":2048,"name":"remove","url":"classes/editor.feature.html#remove","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Feature"},{"id":923,"kind":1024,"name":"id","url":"classes/editor.feature.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Feature"},{"id":924,"kind":1024,"name":"type","url":"classes/editor.feature.html#type-1","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Feature"},{"id":925,"kind":1024,"name":"geometry","url":"classes/editor.feature.html#geometry","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Feature"},{"id":926,"kind":65536,"name":"__type","url":"classes/editor.feature.html#geometry.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"editor.Feature.geometry"},{"id":927,"kind":32,"name":"type","url":"classes/editor.feature.html#geometry.__type.type","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Feature.geometry.__type"},{"id":928,"kind":32,"name":"coordinates","url":"classes/editor.feature.html#geometry.__type.coordinates","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"editor.Feature.geometry.__type"},{"id":929,"kind":1024,"name":"bbox","url":"classes/editor.feature.html#bbox","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"editor.Feature"},{"id":930,"kind":2048,"name":"toJSON","url":"classes/editor.feature.html#tojson","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Feature"},{"id":931,"kind":2048,"name":"getProvider","url":"classes/editor.feature.html#getprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"editor.Feature"},{"id":932,"kind":128,"name":"Editor","url":"classes/editor.editor-1.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"editor"},{"id":933,"kind":1024,"name":"container","url":"classes/editor.editor-1.html#container","classes":"tsd-kind-property tsd-parent-kind-class","parent":"editor.Editor"},{"id":934,"kind":512,"name":"constructor","url":"classes/editor.editor-1.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class","parent":"editor.Editor"},{"id":935,"kind":2048,"name":"active","url":"classes/editor.editor-1.html#active","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":936,"kind":2048,"name":"addEventListener","url":"classes/editor.editor-1.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":937,"kind":2048,"name":"removeEventListener","url":"classes/editor.editor-1.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":938,"kind":2048,"name":"addFeature","url":"classes/editor.editor-1.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":939,"kind":2048,"name":"addHook","url":"classes/editor.editor-1.html#addhook","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":940,"kind":2048,"name":"removeHook","url":"classes/editor.editor-1.html#removehook","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":941,"kind":2048,"name":"getHooks","url":"classes/editor.editor-1.html#gethooks","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":942,"kind":2048,"name":"getFeature","url":"classes/editor.editor-1.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":943,"kind":2048,"name":"config","url":"classes/editor.editor-1.html#config","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":944,"kind":2048,"name":"createFeatureContainer","url":"classes/editor.editor-1.html#createfeaturecontainer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":945,"kind":2048,"name":"clearFeatureSelection","url":"classes/editor.editor-1.html#clearfeatureselection","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":946,"kind":2048,"name":"search","url":"classes/editor.editor-1.html#search","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":947,"kind":2048,"name":"addLayer","url":"classes/editor.editor-1.html#addlayer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":948,"kind":2048,"name":"getLayers","url":"classes/editor.editor-1.html#getlayers","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":949,"kind":2048,"name":"removeLayer","url":"classes/editor.editor-1.html#removelayer","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":950,"kind":2048,"name":"addObserver","url":"classes/editor.editor-1.html#addobserver","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":951,"kind":2048,"name":"get","url":"classes/editor.editor-1.html#get","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":952,"kind":2048,"name":"removeObserver","url":"classes/editor.editor-1.html#removeobserver","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":953,"kind":2048,"name":"destroy","url":"classes/editor.editor-1.html#destroy","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":954,"kind":2048,"name":"setZoomLevel","url":"classes/editor.editor-1.html#setzoomlevel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":955,"kind":2048,"name":"getZoomLevel","url":"classes/editor.editor-1.html#getzoomlevel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":956,"kind":2048,"name":"pixelToGeo","url":"classes/editor.editor-1.html#pixeltogeo","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":957,"kind":2048,"name":"geoToPixel","url":"classes/editor.editor-1.html#geotopixel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":958,"kind":2048,"name":"revert","url":"classes/editor.editor-1.html#revert","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":959,"kind":2048,"name":"getDrawingBoard","url":"classes/editor.editor-1.html#getdrawingboard","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":960,"kind":2048,"name":"getRangeSelector","url":"classes/editor.editor-1.html#getrangeselector","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":961,"kind":2048,"name":"getOverlay","url":"classes/editor.editor-1.html#getoverlay","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":962,"kind":2048,"name":"undo","url":"classes/editor.editor-1.html#undo","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":963,"kind":2048,"name":"redo","url":"classes/editor.editor-1.html#redo","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":964,"kind":2048,"name":"submit","url":"classes/editor.editor-1.html#submit","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":965,"kind":2048,"name":"info","url":"classes/editor.editor-1.html#info","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":966,"kind":2048,"name":"export","url":"classes/editor.editor-1.html#export","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":967,"kind":2048,"name":"import","url":"classes/editor.editor-1.html#import","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":968,"kind":2048,"name":"toGeoJSONCoordinates","url":"classes/editor.editor-1.html#togeojsoncoordinates","classes":"tsd-kind-method tsd-parent-kind-class","parent":"editor.Editor"},{"id":969,"kind":256,"name":"EditableRemoteTileProviderOptions","url":"interfaces/core.editableremotetileprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":970,"kind":1024,"name":"editable","url":"interfaces/core.editableremotetileprovideroptions.html#editable","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.EditableRemoteTileProviderOptions"},{"id":971,"kind":1024,"name":"enforceRandomFeatureId","url":"interfaces/core.editableremotetileprovideroptions.html#enforcerandomfeatureid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.EditableRemoteTileProviderOptions"},{"id":972,"kind":1024,"name":"hooks","url":"interfaces/core.editableremotetileprovideroptions.html#hooks","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.EditableRemoteTileProviderOptions"},{"id":973,"kind":65536,"name":"__type","url":"interfaces/core.editableremotetileprovideroptions.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.EditableRemoteTileProviderOptions.hooks"},{"id":974,"kind":32,"name":"Navlink.split","url":"interfaces/core.editableremotetileprovideroptions.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableRemoteTileProviderOptions.hooks.__type"},{"id":975,"kind":32,"name":"Navlink.disconnect","url":"interfaces/core.editableremotetileprovideroptions.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableRemoteTileProviderOptions.hooks.__type"},{"id":976,"kind":32,"name":"Feature.remove","url":"interfaces/core.editableremotetileprovideroptions.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableRemoteTileProviderOptions.hooks.__type"},{"id":977,"kind":32,"name":"Coordinates.update","url":"interfaces/core.editableremotetileprovideroptions.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableRemoteTileProviderOptions.hooks.__type"},{"id":978,"kind":1024,"name":"level","url":"interfaces/core.editableremotetileprovideroptions.html#level","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableRemoteTileProviderOptions"},{"id":979,"kind":2048,"name":"preProcessor","url":"interfaces/core.editableremotetileprovideroptions.html#preprocessor","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableRemoteTileProviderOptions"},{"id":980,"kind":2048,"name":"postProcessor","url":"interfaces/core.editableremotetileprovideroptions.html#postprocessor","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableRemoteTileProviderOptions"},{"id":981,"kind":1024,"name":"ignoreTileQueryLimit","url":"interfaces/core.editableremotetileprovideroptions.html#ignoretilequerylimit","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableRemoteTileProviderOptions"},{"id":982,"kind":1024,"name":"id","url":"interfaces/core.editableremotetileprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableRemoteTileProviderOptions"},{"id":983,"kind":1024,"name":"name","url":"interfaces/core.editableremotetileprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableRemoteTileProviderOptions"},{"id":984,"kind":1024,"name":"margin","url":"interfaces/core.editableremotetileprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableRemoteTileProviderOptions"},{"id":985,"kind":256,"name":"EditableFeatureProviderOptions","url":"interfaces/core.editablefeatureprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":986,"kind":1024,"name":"editable","url":"interfaces/core.editablefeatureprovideroptions.html#editable","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.EditableFeatureProviderOptions"},{"id":987,"kind":1024,"name":"enforceRandomFeatureId","url":"interfaces/core.editablefeatureprovideroptions.html#enforcerandomfeatureid","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.EditableFeatureProviderOptions"},{"id":988,"kind":1024,"name":"hooks","url":"interfaces/core.editablefeatureprovideroptions.html#hooks","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.EditableFeatureProviderOptions"},{"id":989,"kind":65536,"name":"__type","url":"interfaces/core.editablefeatureprovideroptions.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.EditableFeatureProviderOptions.hooks"},{"id":990,"kind":32,"name":"Navlink.split","url":"interfaces/core.editablefeatureprovideroptions.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableFeatureProviderOptions.hooks.__type"},{"id":991,"kind":32,"name":"Navlink.disconnect","url":"interfaces/core.editablefeatureprovideroptions.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableFeatureProviderOptions.hooks.__type"},{"id":992,"kind":32,"name":"Feature.remove","url":"interfaces/core.editablefeatureprovideroptions.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableFeatureProviderOptions.hooks.__type"},{"id":993,"kind":32,"name":"Coordinates.update","url":"interfaces/core.editablefeatureprovideroptions.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableFeatureProviderOptions.hooks.__type"},{"id":994,"kind":1024,"name":"id","url":"interfaces/core.editablefeatureprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableFeatureProviderOptions"},{"id":995,"kind":1024,"name":"name","url":"interfaces/core.editablefeatureprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableFeatureProviderOptions"},{"id":996,"kind":1024,"name":"margin","url":"interfaces/core.editablefeatureprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.EditableFeatureProviderOptions"},{"id":997,"kind":128,"name":"EditableFeatureProvider","url":"classes/core.editablefeatureprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":998,"kind":1024,"name":"hooks","url":"classes/core.editablefeatureprovider.html#hooks","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":999,"kind":65536,"name":"__type","url":"classes/core.editablefeatureprovider.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.EditableFeatureProvider.hooks"},{"id":1000,"kind":32,"name":"Navlink.split","url":"classes/core.editablefeatureprovider.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableFeatureProvider.hooks.__type"},{"id":1001,"kind":32,"name":"Navlink.disconnect","url":"classes/core.editablefeatureprovider.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableFeatureProvider.hooks.__type"},{"id":1002,"kind":32,"name":"Feature.remove","url":"classes/core.editablefeatureprovider.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableFeatureProvider.hooks.__type"},{"id":1003,"kind":32,"name":"Coordinates.update","url":"classes/core.editablefeatureprovider.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableFeatureProvider.hooks.__type"},{"id":1004,"kind":2048,"name":"detectFeatureClass","url":"classes/core.editablefeatureprovider.html#detectfeatureclass","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1005,"kind":2048,"name":"readZLevels","url":"classes/core.editablefeatureprovider.html#readzlevels","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1006,"kind":2048,"name":"writeZLevels","url":"classes/core.editablefeatureprovider.html#writezlevels","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1007,"kind":2048,"name":"readDirection","url":"classes/core.editablefeatureprovider.html#readdirection","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1008,"kind":2048,"name":"readPedestrianOnly","url":"classes/core.editablefeatureprovider.html#readpedestrianonly","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1009,"kind":2048,"name":"readTurnRestriction","url":"classes/core.editablefeatureprovider.html#readturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1010,"kind":2048,"name":"writeTurnRestriction","url":"classes/core.editablefeatureprovider.html#writeturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1011,"kind":2048,"name":"readRoutingProvider","url":"classes/core.editablefeatureprovider.html#readroutingprovider","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1012,"kind":2048,"name":"readRoutingPosition","url":"classes/core.editablefeatureprovider.html#readroutingposition","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1013,"kind":2048,"name":"readRoutingLink","url":"classes/core.editablefeatureprovider.html#readroutinglink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1014,"kind":2048,"name":"writeRoutingPosition","url":"classes/core.editablefeatureprovider.html#writeroutingposition","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1015,"kind":2048,"name":"writeRoutingLink","url":"classes/core.editablefeatureprovider.html#writeroutinglink","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1016,"kind":2048,"name":"writeEditState","url":"classes/core.editablefeatureprovider.html#writeeditstate","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1017,"kind":2048,"name":"readFeatureHeight","url":"classes/core.editablefeatureprovider.html#readfeatureheight","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1018,"kind":2048,"name":"writeFeatureHeight","url":"classes/core.editablefeatureprovider.html#writefeatureheight","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableFeatureProvider"},{"id":1019,"kind":512,"name":"constructor","url":"classes/core.editablefeatureprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1020,"kind":2048,"name":"addFeature","url":"classes/core.editablefeatureprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1021,"kind":2048,"name":"addEventListener","url":"classes/core.editablefeatureprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1022,"kind":2048,"name":"removeEventListener","url":"classes/core.editablefeatureprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1023,"kind":2048,"name":"all","url":"classes/core.editablefeatureprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1024,"kind":2048,"name":"getFeature","url":"classes/core.editablefeatureprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1025,"kind":2048,"name":"getFeatures","url":"classes/core.editablefeatureprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1026,"kind":2048,"name":"getTile","url":"classes/core.editablefeatureprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1027,"kind":2048,"name":"search","url":"classes/core.editablefeatureprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1028,"kind":2048,"name":"exists","url":"classes/core.editablefeatureprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1029,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.editablefeatureprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1030,"kind":2048,"name":"removeFeature","url":"classes/core.editablefeatureprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1031,"kind":2048,"name":"findPath","url":"classes/core.editablefeatureprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1032,"kind":2048,"name":"clear","url":"classes/core.editablefeatureprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1033,"kind":1024,"name":"id","url":"classes/core.editablefeatureprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1034,"kind":1024,"name":"name","url":"classes/core.editablefeatureprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1035,"kind":1024,"name":"margin","url":"classes/core.editablefeatureprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1036,"kind":2048,"name":"getCachedTile","url":"classes/core.editablefeatureprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1037,"kind":2048,"name":"setMargin","url":"classes/core.editablefeatureprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1038,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.editablefeatureprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1039,"kind":2048,"name":"config","url":"classes/core.editablefeatureprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1040,"kind":2048,"name":"createTile","url":"classes/core.editablefeatureprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableFeatureProvider"},{"id":1041,"kind":128,"name":"EditableRemoteTileProvider","url":"classes/core.editableremotetileprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":1042,"kind":512,"name":"constructor","url":"classes/core.editableremotetileprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite tsd-is-protected","parent":"core.EditableRemoteTileProvider"},{"id":1043,"kind":2048,"name":"getFeatures","url":"classes/core.editableremotetileprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.EditableRemoteTileProvider"},{"id":1044,"kind":2048,"name":"cancel","url":"classes/core.editableremotetileprovider.html#cancel","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableRemoteTileProvider"},{"id":1045,"kind":2048,"name":"search","url":"classes/core.editableremotetileprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.EditableRemoteTileProvider"},{"id":1046,"kind":2048,"name":"getTile","url":"classes/core.editableremotetileprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.EditableRemoteTileProvider"},{"id":1047,"kind":2048,"name":"commit","url":"classes/core.editableremotetileprovider.html#commit","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.EditableRemoteTileProvider"},{"id":1048,"kind":2048,"name":"writeEditState","url":"classes/core.editableremotetileprovider.html#writeeditstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.EditableRemoteTileProvider"},{"id":1049,"kind":1024,"name":"hooks","url":"classes/core.editableremotetileprovider.html#hooks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1050,"kind":65536,"name":"__type","url":"classes/core.editableremotetileprovider.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.EditableRemoteTileProvider.hooks"},{"id":1051,"kind":32,"name":"Navlink.split","url":"classes/core.editableremotetileprovider.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableRemoteTileProvider.hooks.__type"},{"id":1052,"kind":32,"name":"Navlink.disconnect","url":"classes/core.editableremotetileprovider.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableRemoteTileProvider.hooks.__type"},{"id":1053,"kind":32,"name":"Feature.remove","url":"classes/core.editableremotetileprovider.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableRemoteTileProvider.hooks.__type"},{"id":1054,"kind":32,"name":"Coordinates.update","url":"classes/core.editableremotetileprovider.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.EditableRemoteTileProvider.hooks.__type"},{"id":1055,"kind":2048,"name":"detectFeatureClass","url":"classes/core.editableremotetileprovider.html#detectfeatureclass","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1056,"kind":2048,"name":"readZLevels","url":"classes/core.editableremotetileprovider.html#readzlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1057,"kind":2048,"name":"writeZLevels","url":"classes/core.editableremotetileprovider.html#writezlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1058,"kind":2048,"name":"readDirection","url":"classes/core.editableremotetileprovider.html#readdirection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1059,"kind":2048,"name":"readPedestrianOnly","url":"classes/core.editableremotetileprovider.html#readpedestrianonly","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1060,"kind":2048,"name":"readTurnRestriction","url":"classes/core.editableremotetileprovider.html#readturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1061,"kind":2048,"name":"writeTurnRestriction","url":"classes/core.editableremotetileprovider.html#writeturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1062,"kind":2048,"name":"readRoutingProvider","url":"classes/core.editableremotetileprovider.html#readroutingprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1063,"kind":2048,"name":"readRoutingPosition","url":"classes/core.editableremotetileprovider.html#readroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1064,"kind":2048,"name":"readRoutingLink","url":"classes/core.editableremotetileprovider.html#readroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1065,"kind":2048,"name":"writeRoutingPosition","url":"classes/core.editableremotetileprovider.html#writeroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1066,"kind":2048,"name":"writeRoutingLink","url":"classes/core.editableremotetileprovider.html#writeroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1067,"kind":2048,"name":"readFeatureHeight","url":"classes/core.editableremotetileprovider.html#readfeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1068,"kind":2048,"name":"writeFeatureHeight","url":"classes/core.editableremotetileprovider.html#writefeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1069,"kind":2048,"name":"addFeature","url":"classes/core.editableremotetileprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1070,"kind":2048,"name":"addEventListener","url":"classes/core.editableremotetileprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1071,"kind":2048,"name":"removeEventListener","url":"classes/core.editableremotetileprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1072,"kind":2048,"name":"all","url":"classes/core.editableremotetileprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1073,"kind":2048,"name":"getFeature","url":"classes/core.editableremotetileprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1074,"kind":2048,"name":"exists","url":"classes/core.editableremotetileprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1075,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.editableremotetileprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1076,"kind":2048,"name":"removeFeature","url":"classes/core.editableremotetileprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1077,"kind":2048,"name":"findPath","url":"classes/core.editableremotetileprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1078,"kind":2048,"name":"clear","url":"classes/core.editableremotetileprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1079,"kind":1024,"name":"id","url":"classes/core.editableremotetileprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1080,"kind":1024,"name":"name","url":"classes/core.editableremotetileprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1081,"kind":1024,"name":"margin","url":"classes/core.editableremotetileprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1082,"kind":2048,"name":"getCachedTile","url":"classes/core.editableremotetileprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1083,"kind":2048,"name":"setMargin","url":"classes/core.editableremotetileprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1084,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.editableremotetileprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1085,"kind":2048,"name":"config","url":"classes/core.editableremotetileprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1086,"kind":2048,"name":"createTile","url":"classes/core.editableremotetileprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.EditableRemoteTileProvider"},{"id":1087,"kind":256,"name":"HTTPProviderOptions","url":"interfaces/core.httpprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":1088,"kind":1024,"name":"url","url":"interfaces/core.httpprovideroptions.html#url","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HTTPProviderOptions"},{"id":1089,"kind":1024,"name":"withCredentials","url":"interfaces/core.httpprovideroptions.html#withcredentials","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HTTPProviderOptions"},{"id":1090,"kind":1024,"name":"https","url":"interfaces/core.httpprovideroptions.html#https","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HTTPProviderOptions"},{"id":1091,"kind":1024,"name":"headers","url":"interfaces/core.httpprovideroptions.html#headers","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HTTPProviderOptions"},{"id":1092,"kind":65536,"name":"__type","url":"interfaces/core.httpprovideroptions.html#headers.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.HTTPProviderOptions.headers"},{"id":1093,"kind":1024,"name":"params","url":"interfaces/core.httpprovideroptions.html#params","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.HTTPProviderOptions"},{"id":1094,"kind":65536,"name":"__type","url":"interfaces/core.httpprovideroptions.html#params.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.HTTPProviderOptions.params"},{"id":1095,"kind":1024,"name":"editable","url":"interfaces/core.httpprovideroptions.html#editable","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1096,"kind":1024,"name":"enforceRandomFeatureId","url":"interfaces/core.httpprovideroptions.html#enforcerandomfeatureid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1097,"kind":1024,"name":"hooks","url":"interfaces/core.httpprovideroptions.html#hooks","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1098,"kind":65536,"name":"__type","url":"interfaces/core.httpprovideroptions.html#hooks.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.HTTPProviderOptions.hooks"},{"id":1099,"kind":32,"name":"Navlink.split","url":"interfaces/core.httpprovideroptions.html#hooks.__type-1.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.HTTPProviderOptions.hooks.__type"},{"id":1100,"kind":32,"name":"Navlink.disconnect","url":"interfaces/core.httpprovideroptions.html#hooks.__type-1.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.HTTPProviderOptions.hooks.__type"},{"id":1101,"kind":32,"name":"Feature.remove","url":"interfaces/core.httpprovideroptions.html#hooks.__type-1.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.HTTPProviderOptions.hooks.__type"},{"id":1102,"kind":32,"name":"Coordinates.update","url":"interfaces/core.httpprovideroptions.html#hooks.__type-1.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.HTTPProviderOptions.hooks.__type"},{"id":1103,"kind":1024,"name":"level","url":"interfaces/core.httpprovideroptions.html#level","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1104,"kind":2048,"name":"preProcessor","url":"interfaces/core.httpprovideroptions.html#preprocessor","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1105,"kind":2048,"name":"postProcessor","url":"interfaces/core.httpprovideroptions.html#postprocessor","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1106,"kind":1024,"name":"ignoreTileQueryLimit","url":"interfaces/core.httpprovideroptions.html#ignoretilequerylimit","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1107,"kind":1024,"name":"id","url":"interfaces/core.httpprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1108,"kind":1024,"name":"name","url":"interfaces/core.httpprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1109,"kind":1024,"name":"margin","url":"interfaces/core.httpprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.HTTPProviderOptions"},{"id":1110,"kind":128,"name":"HTTPProvider","url":"classes/core.httpprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":1111,"kind":512,"name":"constructor","url":"classes/core.httpprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.HTTPProvider"},{"id":1112,"kind":2048,"name":"getHeader","url":"classes/core.httpprovider.html#getheader","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1113,"kind":2048,"name":"getHeaders","url":"classes/core.httpprovider.html#getheaders","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1114,"kind":2048,"name":"setHeader","url":"classes/core.httpprovider.html#setheader","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1115,"kind":2048,"name":"setHeaders","url":"classes/core.httpprovider.html#setheaders","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1116,"kind":2048,"name":"getParams","url":"classes/core.httpprovider.html#getparams","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1117,"kind":2048,"name":"getParam","url":"classes/core.httpprovider.html#getparam","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1118,"kind":2048,"name":"setParams","url":"classes/core.httpprovider.html#setparams","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1119,"kind":2048,"name":"setParam","url":"classes/core.httpprovider.html#setparam","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1120,"kind":2048,"name":"config","url":"classes/core.httpprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.HTTPProvider"},{"id":1121,"kind":2048,"name":"getFeatureUrl","url":"classes/core.httpprovider.html#getfeatureurl","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1122,"kind":2048,"name":"getLayerUrl","url":"classes/core.httpprovider.html#getlayerurl","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1123,"kind":2048,"name":"getTileUrl","url":"classes/core.httpprovider.html#gettileurl","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.HTTPProvider"},{"id":1124,"kind":2048,"name":"getFeatures","url":"classes/core.httpprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1125,"kind":2048,"name":"cancel","url":"classes/core.httpprovider.html#cancel","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1126,"kind":2048,"name":"search","url":"classes/core.httpprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1127,"kind":2048,"name":"getTile","url":"classes/core.httpprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1128,"kind":2048,"name":"commit","url":"classes/core.httpprovider.html#commit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1129,"kind":2048,"name":"writeEditState","url":"classes/core.httpprovider.html#writeeditstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1130,"kind":1024,"name":"hooks","url":"classes/core.httpprovider.html#hooks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1131,"kind":65536,"name":"__type","url":"classes/core.httpprovider.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.HTTPProvider.hooks"},{"id":1132,"kind":32,"name":"Navlink.split","url":"classes/core.httpprovider.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.HTTPProvider.hooks.__type"},{"id":1133,"kind":32,"name":"Navlink.disconnect","url":"classes/core.httpprovider.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.HTTPProvider.hooks.__type"},{"id":1134,"kind":32,"name":"Feature.remove","url":"classes/core.httpprovider.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.HTTPProvider.hooks.__type"},{"id":1135,"kind":32,"name":"Coordinates.update","url":"classes/core.httpprovider.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.HTTPProvider.hooks.__type"},{"id":1136,"kind":2048,"name":"detectFeatureClass","url":"classes/core.httpprovider.html#detectfeatureclass","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1137,"kind":2048,"name":"readZLevels","url":"classes/core.httpprovider.html#readzlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1138,"kind":2048,"name":"writeZLevels","url":"classes/core.httpprovider.html#writezlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1139,"kind":2048,"name":"readDirection","url":"classes/core.httpprovider.html#readdirection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1140,"kind":2048,"name":"readPedestrianOnly","url":"classes/core.httpprovider.html#readpedestrianonly","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1141,"kind":2048,"name":"readTurnRestriction","url":"classes/core.httpprovider.html#readturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1142,"kind":2048,"name":"writeTurnRestriction","url":"classes/core.httpprovider.html#writeturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1143,"kind":2048,"name":"readRoutingProvider","url":"classes/core.httpprovider.html#readroutingprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1144,"kind":2048,"name":"readRoutingPosition","url":"classes/core.httpprovider.html#readroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1145,"kind":2048,"name":"readRoutingLink","url":"classes/core.httpprovider.html#readroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1146,"kind":2048,"name":"writeRoutingPosition","url":"classes/core.httpprovider.html#writeroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1147,"kind":2048,"name":"writeRoutingLink","url":"classes/core.httpprovider.html#writeroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1148,"kind":2048,"name":"readFeatureHeight","url":"classes/core.httpprovider.html#readfeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1149,"kind":2048,"name":"writeFeatureHeight","url":"classes/core.httpprovider.html#writefeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1150,"kind":2048,"name":"addFeature","url":"classes/core.httpprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1151,"kind":2048,"name":"addEventListener","url":"classes/core.httpprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1152,"kind":2048,"name":"removeEventListener","url":"classes/core.httpprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1153,"kind":2048,"name":"all","url":"classes/core.httpprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1154,"kind":2048,"name":"getFeature","url":"classes/core.httpprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1155,"kind":2048,"name":"exists","url":"classes/core.httpprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1156,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.httpprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1157,"kind":2048,"name":"removeFeature","url":"classes/core.httpprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1158,"kind":2048,"name":"findPath","url":"classes/core.httpprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1159,"kind":2048,"name":"clear","url":"classes/core.httpprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1160,"kind":1024,"name":"id","url":"classes/core.httpprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1161,"kind":1024,"name":"name","url":"classes/core.httpprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1162,"kind":1024,"name":"margin","url":"classes/core.httpprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1163,"kind":2048,"name":"getCachedTile","url":"classes/core.httpprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1164,"kind":2048,"name":"setMargin","url":"classes/core.httpprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1165,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.httpprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1166,"kind":2048,"name":"createTile","url":"classes/core.httpprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.HTTPProvider"},{"id":1167,"kind":128,"name":"GeoJSONProvider","url":"classes/core.geojsonprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":1168,"kind":512,"name":"constructor","url":"classes/core.geojsonprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.GeoJSONProvider"},{"id":1169,"kind":2048,"name":"getHeader","url":"classes/core.geojsonprovider.html#getheader","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1170,"kind":2048,"name":"getHeaders","url":"classes/core.geojsonprovider.html#getheaders","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1171,"kind":2048,"name":"setHeader","url":"classes/core.geojsonprovider.html#setheader","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1172,"kind":2048,"name":"setHeaders","url":"classes/core.geojsonprovider.html#setheaders","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1173,"kind":2048,"name":"getParams","url":"classes/core.geojsonprovider.html#getparams","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1174,"kind":2048,"name":"getParam","url":"classes/core.geojsonprovider.html#getparam","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1175,"kind":2048,"name":"setParams","url":"classes/core.geojsonprovider.html#setparams","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1176,"kind":2048,"name":"setParam","url":"classes/core.geojsonprovider.html#setparam","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1177,"kind":2048,"name":"config","url":"classes/core.geojsonprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1178,"kind":2048,"name":"getFeatureUrl","url":"classes/core.geojsonprovider.html#getfeatureurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1179,"kind":2048,"name":"getLayerUrl","url":"classes/core.geojsonprovider.html#getlayerurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1180,"kind":2048,"name":"getTileUrl","url":"classes/core.geojsonprovider.html#gettileurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1181,"kind":2048,"name":"getFeatures","url":"classes/core.geojsonprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1182,"kind":2048,"name":"cancel","url":"classes/core.geojsonprovider.html#cancel","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1183,"kind":2048,"name":"search","url":"classes/core.geojsonprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1184,"kind":2048,"name":"getTile","url":"classes/core.geojsonprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1185,"kind":2048,"name":"commit","url":"classes/core.geojsonprovider.html#commit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1186,"kind":2048,"name":"writeEditState","url":"classes/core.geojsonprovider.html#writeeditstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1187,"kind":1024,"name":"hooks","url":"classes/core.geojsonprovider.html#hooks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1188,"kind":65536,"name":"__type","url":"classes/core.geojsonprovider.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.GeoJSONProvider.hooks"},{"id":1189,"kind":32,"name":"Navlink.split","url":"classes/core.geojsonprovider.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.GeoJSONProvider.hooks.__type"},{"id":1190,"kind":32,"name":"Navlink.disconnect","url":"classes/core.geojsonprovider.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.GeoJSONProvider.hooks.__type"},{"id":1191,"kind":32,"name":"Feature.remove","url":"classes/core.geojsonprovider.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.GeoJSONProvider.hooks.__type"},{"id":1192,"kind":32,"name":"Coordinates.update","url":"classes/core.geojsonprovider.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.GeoJSONProvider.hooks.__type"},{"id":1193,"kind":2048,"name":"detectFeatureClass","url":"classes/core.geojsonprovider.html#detectfeatureclass","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1194,"kind":2048,"name":"readZLevels","url":"classes/core.geojsonprovider.html#readzlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1195,"kind":2048,"name":"writeZLevels","url":"classes/core.geojsonprovider.html#writezlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1196,"kind":2048,"name":"readDirection","url":"classes/core.geojsonprovider.html#readdirection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1197,"kind":2048,"name":"readPedestrianOnly","url":"classes/core.geojsonprovider.html#readpedestrianonly","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1198,"kind":2048,"name":"readTurnRestriction","url":"classes/core.geojsonprovider.html#readturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1199,"kind":2048,"name":"writeTurnRestriction","url":"classes/core.geojsonprovider.html#writeturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1200,"kind":2048,"name":"readRoutingProvider","url":"classes/core.geojsonprovider.html#readroutingprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1201,"kind":2048,"name":"readRoutingPosition","url":"classes/core.geojsonprovider.html#readroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1202,"kind":2048,"name":"readRoutingLink","url":"classes/core.geojsonprovider.html#readroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1203,"kind":2048,"name":"writeRoutingPosition","url":"classes/core.geojsonprovider.html#writeroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1204,"kind":2048,"name":"writeRoutingLink","url":"classes/core.geojsonprovider.html#writeroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1205,"kind":2048,"name":"readFeatureHeight","url":"classes/core.geojsonprovider.html#readfeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1206,"kind":2048,"name":"writeFeatureHeight","url":"classes/core.geojsonprovider.html#writefeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1207,"kind":2048,"name":"addFeature","url":"classes/core.geojsonprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1208,"kind":2048,"name":"addEventListener","url":"classes/core.geojsonprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1209,"kind":2048,"name":"removeEventListener","url":"classes/core.geojsonprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1210,"kind":2048,"name":"all","url":"classes/core.geojsonprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1211,"kind":2048,"name":"getFeature","url":"classes/core.geojsonprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1212,"kind":2048,"name":"exists","url":"classes/core.geojsonprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1213,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.geojsonprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1214,"kind":2048,"name":"removeFeature","url":"classes/core.geojsonprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1215,"kind":2048,"name":"findPath","url":"classes/core.geojsonprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1216,"kind":2048,"name":"clear","url":"classes/core.geojsonprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1217,"kind":1024,"name":"id","url":"classes/core.geojsonprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1218,"kind":1024,"name":"name","url":"classes/core.geojsonprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1219,"kind":1024,"name":"margin","url":"classes/core.geojsonprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1220,"kind":2048,"name":"getCachedTile","url":"classes/core.geojsonprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1221,"kind":2048,"name":"setMargin","url":"classes/core.geojsonprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1222,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.geojsonprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1223,"kind":2048,"name":"createTile","url":"classes/core.geojsonprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.GeoJSONProvider"},{"id":1224,"kind":256,"name":"LocalProviderOptions","url":"interfaces/core.localprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":1225,"kind":1024,"name":"name","url":"interfaces/core.localprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"core.LocalProviderOptions"},{"id":1226,"kind":1024,"name":"margin","url":"interfaces/core.localprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"core.LocalProviderOptions"},{"id":1227,"kind":1024,"name":"editable","url":"interfaces/core.localprovideroptions.html#editable","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"core.LocalProviderOptions"},{"id":1228,"kind":1024,"name":"enforceRandomFeatureId","url":"interfaces/core.localprovideroptions.html#enforcerandomfeatureid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.LocalProviderOptions"},{"id":1229,"kind":1024,"name":"hooks","url":"interfaces/core.localprovideroptions.html#hooks","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.LocalProviderOptions"},{"id":1230,"kind":65536,"name":"__type","url":"interfaces/core.localprovideroptions.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.LocalProviderOptions.hooks"},{"id":1231,"kind":32,"name":"Navlink.split","url":"interfaces/core.localprovideroptions.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.LocalProviderOptions.hooks.__type"},{"id":1232,"kind":32,"name":"Navlink.disconnect","url":"interfaces/core.localprovideroptions.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.LocalProviderOptions.hooks.__type"},{"id":1233,"kind":32,"name":"Feature.remove","url":"interfaces/core.localprovideroptions.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.LocalProviderOptions.hooks.__type"},{"id":1234,"kind":32,"name":"Coordinates.update","url":"interfaces/core.localprovideroptions.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.LocalProviderOptions.hooks.__type"},{"id":1235,"kind":1024,"name":"id","url":"interfaces/core.localprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.LocalProviderOptions"},{"id":1236,"kind":128,"name":"LocalProvider","url":"classes/core.localprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":1237,"kind":512,"name":"constructor","url":"classes/core.localprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.LocalProvider"},{"id":1238,"kind":1024,"name":"hooks","url":"classes/core.localprovider.html#hooks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1239,"kind":65536,"name":"__type","url":"classes/core.localprovider.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.LocalProvider.hooks"},{"id":1240,"kind":32,"name":"Navlink.split","url":"classes/core.localprovider.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.LocalProvider.hooks.__type"},{"id":1241,"kind":32,"name":"Navlink.disconnect","url":"classes/core.localprovider.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.LocalProvider.hooks.__type"},{"id":1242,"kind":32,"name":"Feature.remove","url":"classes/core.localprovider.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.LocalProvider.hooks.__type"},{"id":1243,"kind":32,"name":"Coordinates.update","url":"classes/core.localprovider.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.LocalProvider.hooks.__type"},{"id":1244,"kind":2048,"name":"detectFeatureClass","url":"classes/core.localprovider.html#detectfeatureclass","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1245,"kind":2048,"name":"readZLevels","url":"classes/core.localprovider.html#readzlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1246,"kind":2048,"name":"writeZLevels","url":"classes/core.localprovider.html#writezlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1247,"kind":2048,"name":"readDirection","url":"classes/core.localprovider.html#readdirection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1248,"kind":2048,"name":"readPedestrianOnly","url":"classes/core.localprovider.html#readpedestrianonly","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1249,"kind":2048,"name":"readTurnRestriction","url":"classes/core.localprovider.html#readturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1250,"kind":2048,"name":"writeTurnRestriction","url":"classes/core.localprovider.html#writeturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1251,"kind":2048,"name":"readRoutingProvider","url":"classes/core.localprovider.html#readroutingprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1252,"kind":2048,"name":"readRoutingPosition","url":"classes/core.localprovider.html#readroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1253,"kind":2048,"name":"readRoutingLink","url":"classes/core.localprovider.html#readroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1254,"kind":2048,"name":"writeRoutingPosition","url":"classes/core.localprovider.html#writeroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1255,"kind":2048,"name":"writeRoutingLink","url":"classes/core.localprovider.html#writeroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1256,"kind":2048,"name":"writeEditState","url":"classes/core.localprovider.html#writeeditstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1257,"kind":2048,"name":"readFeatureHeight","url":"classes/core.localprovider.html#readfeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1258,"kind":2048,"name":"writeFeatureHeight","url":"classes/core.localprovider.html#writefeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1259,"kind":2048,"name":"addFeature","url":"classes/core.localprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1260,"kind":2048,"name":"addEventListener","url":"classes/core.localprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.LocalProvider"},{"id":1261,"kind":2048,"name":"removeEventListener","url":"classes/core.localprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.LocalProvider"},{"id":1262,"kind":2048,"name":"all","url":"classes/core.localprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1263,"kind":2048,"name":"getFeature","url":"classes/core.localprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1264,"kind":2048,"name":"getFeatures","url":"classes/core.localprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1265,"kind":2048,"name":"getTile","url":"classes/core.localprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.LocalProvider"},{"id":1266,"kind":2048,"name":"search","url":"classes/core.localprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1267,"kind":2048,"name":"exists","url":"classes/core.localprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1268,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.localprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1269,"kind":2048,"name":"removeFeature","url":"classes/core.localprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1270,"kind":2048,"name":"findPath","url":"classes/core.localprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1271,"kind":2048,"name":"clear","url":"classes/core.localprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.LocalProvider"},{"id":1272,"kind":1024,"name":"id","url":"classes/core.localprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1273,"kind":1024,"name":"name","url":"classes/core.localprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1274,"kind":1024,"name":"margin","url":"classes/core.localprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1275,"kind":2048,"name":"getCachedTile","url":"classes/core.localprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1276,"kind":2048,"name":"setMargin","url":"classes/core.localprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1277,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.localprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1278,"kind":2048,"name":"config","url":"classes/core.localprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1279,"kind":2048,"name":"createTile","url":"classes/core.localprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.LocalProvider"},{"id":1280,"kind":256,"name":"SpaceProviderOptions","url":"interfaces/core.spaceprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":1281,"kind":1024,"name":"space","url":"interfaces/core.spaceprovideroptions.html#space","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SpaceProviderOptions"},{"id":1282,"kind":1024,"name":"credentials","url":"interfaces/core.spaceprovideroptions.html#credentials","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SpaceProviderOptions"},{"id":1283,"kind":65536,"name":"__type","url":"interfaces/core.spaceprovideroptions.html#credentials.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.SpaceProviderOptions.credentials"},{"id":1284,"kind":32,"name":"access_token","url":"interfaces/core.spaceprovideroptions.html#credentials.__type.access_token","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProviderOptions.credentials.__type"},{"id":1285,"kind":1024,"name":"tags","url":"interfaces/core.spaceprovideroptions.html#tags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SpaceProviderOptions"},{"id":1286,"kind":1024,"name":"clip","url":"interfaces/core.spaceprovideroptions.html#clip","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SpaceProviderOptions"},{"id":1287,"kind":1024,"name":"url","url":"interfaces/core.spaceprovideroptions.html#url","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"core.SpaceProviderOptions"},{"id":1288,"kind":1024,"name":"propertySearch","url":"interfaces/core.spaceprovideroptions.html#propertysearch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.SpaceProviderOptions"},{"id":1289,"kind":65536,"name":"__type","url":"interfaces/core.spaceprovideroptions.html#propertysearch.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.SpaceProviderOptions.propertySearch"},{"id":1290,"kind":1024,"name":"withCredentials","url":"interfaces/core.spaceprovideroptions.html#withcredentials","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1291,"kind":1024,"name":"https","url":"interfaces/core.spaceprovideroptions.html#https","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1292,"kind":1024,"name":"headers","url":"interfaces/core.spaceprovideroptions.html#headers","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1293,"kind":65536,"name":"__type","url":"interfaces/core.spaceprovideroptions.html#headers.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.SpaceProviderOptions.headers"},{"id":1294,"kind":1024,"name":"params","url":"interfaces/core.spaceprovideroptions.html#params","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1295,"kind":65536,"name":"__type","url":"interfaces/core.spaceprovideroptions.html#params.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.SpaceProviderOptions.params"},{"id":1296,"kind":1024,"name":"editable","url":"interfaces/core.spaceprovideroptions.html#editable","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1297,"kind":1024,"name":"enforceRandomFeatureId","url":"interfaces/core.spaceprovideroptions.html#enforcerandomfeatureid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1298,"kind":1024,"name":"hooks","url":"interfaces/core.spaceprovideroptions.html#hooks","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1299,"kind":65536,"name":"__type","url":"interfaces/core.spaceprovideroptions.html#hooks.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.SpaceProviderOptions.hooks"},{"id":1300,"kind":32,"name":"Navlink.split","url":"interfaces/core.spaceprovideroptions.html#hooks.__type-2.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProviderOptions.hooks.__type"},{"id":1301,"kind":32,"name":"Navlink.disconnect","url":"interfaces/core.spaceprovideroptions.html#hooks.__type-2.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProviderOptions.hooks.__type"},{"id":1302,"kind":32,"name":"Feature.remove","url":"interfaces/core.spaceprovideroptions.html#hooks.__type-2.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProviderOptions.hooks.__type"},{"id":1303,"kind":32,"name":"Coordinates.update","url":"interfaces/core.spaceprovideroptions.html#hooks.__type-2.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProviderOptions.hooks.__type"},{"id":1304,"kind":1024,"name":"level","url":"interfaces/core.spaceprovideroptions.html#level","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1305,"kind":2048,"name":"preProcessor","url":"interfaces/core.spaceprovideroptions.html#preprocessor","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1306,"kind":2048,"name":"postProcessor","url":"interfaces/core.spaceprovideroptions.html#postprocessor","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1307,"kind":1024,"name":"ignoreTileQueryLimit","url":"interfaces/core.spaceprovideroptions.html#ignoretilequerylimit","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1308,"kind":1024,"name":"id","url":"interfaces/core.spaceprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1309,"kind":1024,"name":"name","url":"interfaces/core.spaceprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1310,"kind":1024,"name":"margin","url":"interfaces/core.spaceprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.SpaceProviderOptions"},{"id":1311,"kind":128,"name":"SpaceProvider","url":"classes/core.spaceprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":1312,"kind":1024,"name":"url","url":"classes/core.spaceprovider.html#url","classes":"tsd-kind-property tsd-parent-kind-class","parent":"core.SpaceProvider"},{"id":1313,"kind":512,"name":"constructor","url":"classes/core.spaceprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.SpaceProvider"},{"id":1314,"kind":2048,"name":"config","url":"classes/core.spaceprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.SpaceProvider"},{"id":1315,"kind":2048,"name":"commit","url":"classes/core.spaceprovider.html#commit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.SpaceProvider"},{"id":1316,"kind":2048,"name":"getLayerUrl","url":"classes/core.spaceprovider.html#getlayerurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.SpaceProvider"},{"id":1317,"kind":2048,"name":"getTileUrl","url":"classes/core.spaceprovider.html#gettileurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.SpaceProvider"},{"id":1318,"kind":2048,"name":"getFeatureUrl","url":"classes/core.spaceprovider.html#getfeatureurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.SpaceProvider"},{"id":1319,"kind":2048,"name":"setTags","url":"classes/core.spaceprovider.html#settags","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.SpaceProvider"},{"id":1320,"kind":2048,"name":"setPropertySearch","url":"classes/core.spaceprovider.html#setpropertysearch","classes":"tsd-kind-method tsd-parent-kind-class","parent":"core.SpaceProvider"},{"id":1321,"kind":2048,"name":"getHeader","url":"classes/core.spaceprovider.html#getheader","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1322,"kind":2048,"name":"getHeaders","url":"classes/core.spaceprovider.html#getheaders","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1323,"kind":2048,"name":"setHeader","url":"classes/core.spaceprovider.html#setheader","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1324,"kind":2048,"name":"setHeaders","url":"classes/core.spaceprovider.html#setheaders","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1325,"kind":2048,"name":"getParams","url":"classes/core.spaceprovider.html#getparams","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1326,"kind":2048,"name":"getParam","url":"classes/core.spaceprovider.html#getparam","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1327,"kind":2048,"name":"setParams","url":"classes/core.spaceprovider.html#setparams","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1328,"kind":2048,"name":"setParam","url":"classes/core.spaceprovider.html#setparam","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1329,"kind":2048,"name":"getFeatures","url":"classes/core.spaceprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1330,"kind":2048,"name":"cancel","url":"classes/core.spaceprovider.html#cancel","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1331,"kind":2048,"name":"search","url":"classes/core.spaceprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1332,"kind":2048,"name":"getTile","url":"classes/core.spaceprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1333,"kind":2048,"name":"writeEditState","url":"classes/core.spaceprovider.html#writeeditstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1334,"kind":1024,"name":"hooks","url":"classes/core.spaceprovider.html#hooks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1335,"kind":65536,"name":"__type","url":"classes/core.spaceprovider.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.SpaceProvider.hooks"},{"id":1336,"kind":32,"name":"Navlink.split","url":"classes/core.spaceprovider.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProvider.hooks.__type"},{"id":1337,"kind":32,"name":"Navlink.disconnect","url":"classes/core.spaceprovider.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProvider.hooks.__type"},{"id":1338,"kind":32,"name":"Feature.remove","url":"classes/core.spaceprovider.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProvider.hooks.__type"},{"id":1339,"kind":32,"name":"Coordinates.update","url":"classes/core.spaceprovider.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.SpaceProvider.hooks.__type"},{"id":1340,"kind":2048,"name":"detectFeatureClass","url":"classes/core.spaceprovider.html#detectfeatureclass","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1341,"kind":2048,"name":"readZLevels","url":"classes/core.spaceprovider.html#readzlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1342,"kind":2048,"name":"writeZLevels","url":"classes/core.spaceprovider.html#writezlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1343,"kind":2048,"name":"readDirection","url":"classes/core.spaceprovider.html#readdirection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1344,"kind":2048,"name":"readPedestrianOnly","url":"classes/core.spaceprovider.html#readpedestrianonly","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1345,"kind":2048,"name":"readTurnRestriction","url":"classes/core.spaceprovider.html#readturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1346,"kind":2048,"name":"writeTurnRestriction","url":"classes/core.spaceprovider.html#writeturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1347,"kind":2048,"name":"readRoutingProvider","url":"classes/core.spaceprovider.html#readroutingprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1348,"kind":2048,"name":"readRoutingPosition","url":"classes/core.spaceprovider.html#readroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1349,"kind":2048,"name":"readRoutingLink","url":"classes/core.spaceprovider.html#readroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1350,"kind":2048,"name":"writeRoutingPosition","url":"classes/core.spaceprovider.html#writeroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1351,"kind":2048,"name":"writeRoutingLink","url":"classes/core.spaceprovider.html#writeroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1352,"kind":2048,"name":"readFeatureHeight","url":"classes/core.spaceprovider.html#readfeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1353,"kind":2048,"name":"writeFeatureHeight","url":"classes/core.spaceprovider.html#writefeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1354,"kind":2048,"name":"addFeature","url":"classes/core.spaceprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1355,"kind":2048,"name":"addEventListener","url":"classes/core.spaceprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1356,"kind":2048,"name":"removeEventListener","url":"classes/core.spaceprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1357,"kind":2048,"name":"all","url":"classes/core.spaceprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1358,"kind":2048,"name":"getFeature","url":"classes/core.spaceprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1359,"kind":2048,"name":"exists","url":"classes/core.spaceprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1360,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.spaceprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1361,"kind":2048,"name":"removeFeature","url":"classes/core.spaceprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1362,"kind":2048,"name":"findPath","url":"classes/core.spaceprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1363,"kind":2048,"name":"clear","url":"classes/core.spaceprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1364,"kind":1024,"name":"id","url":"classes/core.spaceprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1365,"kind":1024,"name":"name","url":"classes/core.spaceprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1366,"kind":1024,"name":"margin","url":"classes/core.spaceprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1367,"kind":2048,"name":"getCachedTile","url":"classes/core.spaceprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1368,"kind":2048,"name":"setMargin","url":"classes/core.spaceprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1369,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.spaceprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1370,"kind":2048,"name":"createTile","url":"classes/core.spaceprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.SpaceProvider"},{"id":1371,"kind":256,"name":"IMLProviderOptions","url":"interfaces/core.imlprovideroptions.html","classes":"tsd-kind-interface tsd-parent-kind-module","parent":"core"},{"id":1372,"kind":1024,"name":"layer","url":"interfaces/core.imlprovideroptions.html#layer","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.IMLProviderOptions"},{"id":1373,"kind":1024,"name":"catalog","url":"interfaces/core.imlprovideroptions.html#catalog","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.IMLProviderOptions"},{"id":1374,"kind":1024,"name":"credentials","url":"interfaces/core.imlprovideroptions.html#credentials","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.IMLProviderOptions"},{"id":1375,"kind":65536,"name":"__type","url":"interfaces/core.imlprovideroptions.html#credentials.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.IMLProviderOptions.credentials"},{"id":1376,"kind":32,"name":"apiKey","url":"interfaces/core.imlprovideroptions.html#credentials.__type.apikey","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProviderOptions.credentials.__type"},{"id":1377,"kind":32,"name":"token","url":"interfaces/core.imlprovideroptions.html#credentials.__type.token","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProviderOptions.credentials.__type"},{"id":1378,"kind":1024,"name":"tags","url":"interfaces/core.imlprovideroptions.html#tags","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.IMLProviderOptions"},{"id":1379,"kind":1024,"name":"clip","url":"interfaces/core.imlprovideroptions.html#clip","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.IMLProviderOptions"},{"id":1380,"kind":1024,"name":"url","url":"interfaces/core.imlprovideroptions.html#url","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-overwrite","parent":"core.IMLProviderOptions"},{"id":1381,"kind":1024,"name":"propertySearch","url":"interfaces/core.imlprovideroptions.html#propertysearch","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"core.IMLProviderOptions"},{"id":1382,"kind":65536,"name":"__type","url":"interfaces/core.imlprovideroptions.html#propertysearch.__type-4","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.IMLProviderOptions.propertySearch"},{"id":1383,"kind":1024,"name":"withCredentials","url":"interfaces/core.imlprovideroptions.html#withcredentials","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1384,"kind":1024,"name":"https","url":"interfaces/core.imlprovideroptions.html#https","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1385,"kind":1024,"name":"headers","url":"interfaces/core.imlprovideroptions.html#headers","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1386,"kind":65536,"name":"__type","url":"interfaces/core.imlprovideroptions.html#headers.__type-1","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.IMLProviderOptions.headers"},{"id":1387,"kind":1024,"name":"params","url":"interfaces/core.imlprovideroptions.html#params","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1388,"kind":65536,"name":"__type","url":"interfaces/core.imlprovideroptions.html#params.__type-3","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.IMLProviderOptions.params"},{"id":1389,"kind":1024,"name":"editable","url":"interfaces/core.imlprovideroptions.html#editable","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1390,"kind":1024,"name":"enforceRandomFeatureId","url":"interfaces/core.imlprovideroptions.html#enforcerandomfeatureid","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1391,"kind":1024,"name":"hooks","url":"interfaces/core.imlprovideroptions.html#hooks","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1392,"kind":65536,"name":"__type","url":"interfaces/core.imlprovideroptions.html#hooks.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.IMLProviderOptions.hooks"},{"id":1393,"kind":32,"name":"Navlink.split","url":"interfaces/core.imlprovideroptions.html#hooks.__type-2.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProviderOptions.hooks.__type"},{"id":1394,"kind":32,"name":"Navlink.disconnect","url":"interfaces/core.imlprovideroptions.html#hooks.__type-2.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProviderOptions.hooks.__type"},{"id":1395,"kind":32,"name":"Feature.remove","url":"interfaces/core.imlprovideroptions.html#hooks.__type-2.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProviderOptions.hooks.__type"},{"id":1396,"kind":32,"name":"Coordinates.update","url":"interfaces/core.imlprovideroptions.html#hooks.__type-2.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProviderOptions.hooks.__type"},{"id":1397,"kind":1024,"name":"level","url":"interfaces/core.imlprovideroptions.html#level","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1398,"kind":2048,"name":"preProcessor","url":"interfaces/core.imlprovideroptions.html#preprocessor","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1399,"kind":2048,"name":"postProcessor","url":"interfaces/core.imlprovideroptions.html#postprocessor","classes":"tsd-kind-method tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1400,"kind":1024,"name":"ignoreTileQueryLimit","url":"interfaces/core.imlprovideroptions.html#ignoretilequerylimit","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1401,"kind":1024,"name":"id","url":"interfaces/core.imlprovideroptions.html#id","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1402,"kind":1024,"name":"name","url":"interfaces/core.imlprovideroptions.html#name","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1403,"kind":1024,"name":"margin","url":"interfaces/core.imlprovideroptions.html#margin","classes":"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited","parent":"core.IMLProviderOptions"},{"id":1404,"kind":128,"name":"IMLProvider","url":"classes/core.imlprovider.html","classes":"tsd-kind-class tsd-parent-kind-module","parent":"core"},{"id":1405,"kind":512,"name":"constructor","url":"classes/core.imlprovider.html#constructor","classes":"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite","parent":"core.IMLProvider"},{"id":1406,"kind":2048,"name":"config","url":"classes/core.imlprovider.html#config","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite","parent":"core.IMLProvider"},{"id":1407,"kind":1024,"name":"url","url":"classes/core.imlprovider.html#url","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1408,"kind":2048,"name":"commit","url":"classes/core.imlprovider.html#commit","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1409,"kind":2048,"name":"getLayerUrl","url":"classes/core.imlprovider.html#getlayerurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1410,"kind":2048,"name":"getTileUrl","url":"classes/core.imlprovider.html#gettileurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1411,"kind":2048,"name":"getFeatureUrl","url":"classes/core.imlprovider.html#getfeatureurl","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1412,"kind":2048,"name":"setTags","url":"classes/core.imlprovider.html#settags","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1413,"kind":2048,"name":"setPropertySearch","url":"classes/core.imlprovider.html#setpropertysearch","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1414,"kind":2048,"name":"getHeader","url":"classes/core.imlprovider.html#getheader","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1415,"kind":2048,"name":"getHeaders","url":"classes/core.imlprovider.html#getheaders","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1416,"kind":2048,"name":"setHeader","url":"classes/core.imlprovider.html#setheader","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1417,"kind":2048,"name":"setHeaders","url":"classes/core.imlprovider.html#setheaders","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1418,"kind":2048,"name":"getParams","url":"classes/core.imlprovider.html#getparams","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1419,"kind":2048,"name":"getParam","url":"classes/core.imlprovider.html#getparam","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1420,"kind":2048,"name":"setParams","url":"classes/core.imlprovider.html#setparams","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1421,"kind":2048,"name":"setParam","url":"classes/core.imlprovider.html#setparam","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1422,"kind":2048,"name":"getFeatures","url":"classes/core.imlprovider.html#getfeatures","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1423,"kind":2048,"name":"cancel","url":"classes/core.imlprovider.html#cancel","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1424,"kind":2048,"name":"search","url":"classes/core.imlprovider.html#search","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1425,"kind":2048,"name":"getTile","url":"classes/core.imlprovider.html#gettile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1426,"kind":2048,"name":"writeEditState","url":"classes/core.imlprovider.html#writeeditstate","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1427,"kind":1024,"name":"hooks","url":"classes/core.imlprovider.html#hooks","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1428,"kind":65536,"name":"__type","url":"classes/core.imlprovider.html#hooks.__type","classes":"tsd-kind-type-literal tsd-parent-kind-property","parent":"core.IMLProvider.hooks"},{"id":1429,"kind":32,"name":"Navlink.split","url":"classes/core.imlprovider.html#hooks.__type.navlink_split","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProvider.hooks.__type"},{"id":1430,"kind":32,"name":"Navlink.disconnect","url":"classes/core.imlprovider.html#hooks.__type.navlink_disconnect","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProvider.hooks.__type"},{"id":1431,"kind":32,"name":"Feature.remove","url":"classes/core.imlprovider.html#hooks.__type.feature_remove","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProvider.hooks.__type"},{"id":1432,"kind":32,"name":"Coordinates.update","url":"classes/core.imlprovider.html#hooks.__type.coordinates_update","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.IMLProvider.hooks.__type"},{"id":1433,"kind":2048,"name":"detectFeatureClass","url":"classes/core.imlprovider.html#detectfeatureclass","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1434,"kind":2048,"name":"readZLevels","url":"classes/core.imlprovider.html#readzlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1435,"kind":2048,"name":"writeZLevels","url":"classes/core.imlprovider.html#writezlevels","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1436,"kind":2048,"name":"readDirection","url":"classes/core.imlprovider.html#readdirection","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1437,"kind":2048,"name":"readPedestrianOnly","url":"classes/core.imlprovider.html#readpedestrianonly","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1438,"kind":2048,"name":"readTurnRestriction","url":"classes/core.imlprovider.html#readturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1439,"kind":2048,"name":"writeTurnRestriction","url":"classes/core.imlprovider.html#writeturnrestriction","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1440,"kind":2048,"name":"readRoutingProvider","url":"classes/core.imlprovider.html#readroutingprovider","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1441,"kind":2048,"name":"readRoutingPosition","url":"classes/core.imlprovider.html#readroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1442,"kind":2048,"name":"readRoutingLink","url":"classes/core.imlprovider.html#readroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1443,"kind":2048,"name":"writeRoutingPosition","url":"classes/core.imlprovider.html#writeroutingposition","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1444,"kind":2048,"name":"writeRoutingLink","url":"classes/core.imlprovider.html#writeroutinglink","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1445,"kind":2048,"name":"readFeatureHeight","url":"classes/core.imlprovider.html#readfeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1446,"kind":2048,"name":"writeFeatureHeight","url":"classes/core.imlprovider.html#writefeatureheight","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1447,"kind":2048,"name":"addFeature","url":"classes/core.imlprovider.html#addfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1448,"kind":2048,"name":"addEventListener","url":"classes/core.imlprovider.html#addeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1449,"kind":2048,"name":"removeEventListener","url":"classes/core.imlprovider.html#removeeventlistener","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1450,"kind":2048,"name":"all","url":"classes/core.imlprovider.html#all","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1451,"kind":2048,"name":"getFeature","url":"classes/core.imlprovider.html#getfeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1452,"kind":2048,"name":"exists","url":"classes/core.imlprovider.html#exists","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1453,"kind":2048,"name":"setFeatureCoordinates","url":"classes/core.imlprovider.html#setfeaturecoordinates","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1454,"kind":2048,"name":"removeFeature","url":"classes/core.imlprovider.html#removefeature","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1455,"kind":2048,"name":"findPath","url":"classes/core.imlprovider.html#findpath","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1456,"kind":2048,"name":"clear","url":"classes/core.imlprovider.html#clear","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite tsd-is-inherited","parent":"core.IMLProvider"},{"id":1457,"kind":1024,"name":"id","url":"classes/core.imlprovider.html#id","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1458,"kind":1024,"name":"name","url":"classes/core.imlprovider.html#name","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1459,"kind":1024,"name":"margin","url":"classes/core.imlprovider.html#margin","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1460,"kind":2048,"name":"getCachedTile","url":"classes/core.imlprovider.html#getcachedtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1461,"kind":2048,"name":"setMargin","url":"classes/core.imlprovider.html#setmargin","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1462,"kind":2048,"name":"getCachedTilesOfBBox","url":"classes/core.imlprovider.html#getcachedtilesofbbox","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1463,"kind":2048,"name":"createTile","url":"classes/core.imlprovider.html#createtile","classes":"tsd-kind-method tsd-parent-kind-class tsd-is-inherited","parent":"core.IMLProvider"},{"id":1464,"kind":32,"name":"webMercator","url":"modules/core.html#webmercator","classes":"tsd-kind-variable tsd-parent-kind-module","parent":"core"},{"id":1465,"kind":65536,"name":"__type","url":"modules/core.html#webmercator.__type-2","classes":"tsd-kind-type-literal tsd-parent-kind-variable","parent":"core.webMercator"},{"id":1466,"kind":32,"name":"mapSizePixel","url":"modules/core.html#webmercator.__type-2.mapsizepixel","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1467,"kind":32,"name":"lon2x","url":"modules/core.html#webmercator.__type-2.lon2x","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1468,"kind":32,"name":"lat2y","url":"modules/core.html#webmercator.__type-2.lat2y","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1469,"kind":32,"name":"x2lon","url":"modules/core.html#webmercator.__type-2.x2lon","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1470,"kind":32,"name":"y2lat","url":"modules/core.html#webmercator.__type-2.y2lat","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1471,"kind":32,"name":"pixelToGeo","url":"modules/core.html#webmercator.__type-2.pixeltogeo","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1472,"kind":32,"name":"geoToPixel","url":"modules/core.html#webmercator.__type-2.geotopixel","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1473,"kind":32,"name":"meterToPixel","url":"modules/core.html#webmercator.__type-2.metertopixel","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1474,"kind":32,"name":"pixelToMeter","url":"modules/core.html#webmercator.__type-2.pixeltometer","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1475,"kind":32,"name":"getGroundResolution","url":"modules/core.html#webmercator.__type-2.getgroundresolution","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1476,"kind":32,"name":"alt2z","url":"modules/core.html#webmercator.__type-2.alt2z","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1477,"kind":32,"name":"earthCircumference","url":"modules/core.html#webmercator.__type-2.earthcircumference","classes":"tsd-kind-variable tsd-parent-kind-type-literal","parent":"core.webMercator.__type"},{"id":1478,"kind":2097152,"name":"build","url":"modules/core.html#build","classes":"tsd-kind-object-literal tsd-parent-kind-module","parent":"core"},{"id":1479,"kind":32,"name":"name","url":"modules/core.html#build.name","classes":"tsd-kind-variable tsd-parent-kind-object-literal","parent":"core.build"}],"index":{"version":"2.3.9","fields":["name","parent"],"fieldVectors":[["name/0",[0,57.964]],["parent/0",[]],["name/1",[1,31.978]],["parent/1",[]],["name/2",[2,68.95]],["parent/2",[1,3.195]],["name/3",[3,55.957]],["parent/3",[4,6.043]],["name/4",[5,55.957]],["parent/4",[4,6.043]],["name/5",[6,41.87]],["parent/5",[4,6.043]],["name/6",[7,68.95]],["parent/6",[1,3.195]],["name/7",[8,68.95]],["parent/7",[9,5.591]],["name/8",[10,68.95]],["parent/8",[9,5.591]],["name/9",[11,68.95]],["parent/9",[9,5.591]],["name/10",[12,68.95]],["parent/10",[9,5.591]],["name/11",[6,41.87]],["parent/11",[9,5.591]],["name/12",[13,68.95]],["parent/12",[1,3.195]],["name/13",[14,68.95]],["parent/13",[15,5.792]],["name/14",[16,68.95]],["parent/14",[15,5.792]],["name/15",[17,50.492]],["parent/15",[15,5.792]],["name/16",[6,41.87]],["parent/16",[15,5.792]],["name/17",[18,68.95]],["parent/17",[1,3.195]],["name/18",[19,68.95]],["parent/18",[20,5.591]],["name/19",[21,68.95]],["parent/19",[20,5.591]],["name/20",[22,68.95]],["parent/20",[20,5.591]],["name/21",[23,68.95]],["parent/21",[20,5.591]],["name/22",[6,41.87]],["parent/22",[20,5.591]],["name/23",[24,68.95]],["parent/23",[1,3.195]],["name/24",[25,36.498]],["parent/24",[26,5.591]],["name/25",[27,35.05]],["parent/25",[26,5.591]],["name/26",[28,46.978]],["parent/26",[26,5.591]],["name/27",[29,46.978]],["parent/27",[26,5.591]],["name/28",[30,46.263]],["parent/28",[26,5.591]],["name/29",[31,31.494]],["parent/29",[32,6.889]],["name/30",[27,35.05]],["parent/30",[33,6.379]],["name/31",[34,46.263]],["parent/31",[33,6.379]],["name/32",[35,68.95]],["parent/32",[1,3.195]],["name/33",[27,35.05]],["parent/33",[36,6.379]],["name/34",[37,68.95]],["parent/34",[36,6.379]],["name/35",[38,68.95]],["parent/35",[1,3.195]],["name/36",[39,68.95]],["parent/36",[1,3.195]],["name/37",[40,68.95]],["parent/37",[1,3.195]],["name/38",[41,68.95]],["parent/38",[42,4.854]],["name/39",[43,63.842]],["parent/39",[42,4.854]],["name/40",[5,55.957]],["parent/40",[42,4.854]],["name/41",[3,55.957]],["parent/41",[42,4.854]],["name/42",[27,35.05]],["parent/42",[42,4.854]],["name/43",[44,68.95]],["parent/43",[42,4.854]],["name/44",[45,68.95]],["parent/44",[42,4.854]],["name/45",[46,63.842]],["parent/45",[42,4.854]],["name/46",[47,46.978]],["parent/46",[42,4.854]],["name/47",[48,68.95]],["parent/47",[42,4.854]],["name/48",[49,68.95]],["parent/48",[42,4.854]],["name/49",[50,68.95]],["parent/49",[1,3.195]],["name/50",[25,36.498]],["parent/50",[51,6.043]],["name/51",[52,39.863]],["parent/51",[51,6.043]],["name/52",[53,41.018]],["parent/52",[51,6.043]],["name/53",[54,68.95]],["parent/53",[1,3.195]],["name/54",[25,36.498]],["parent/54",[55,4.694]],["name/55",[52,39.863]],["parent/55",[55,4.694]],["name/56",[53,41.018]],["parent/56",[55,4.694]],["name/57",[56,46.978]],["parent/57",[55,4.694]],["name/58",[6,41.87]],["parent/58",[55,4.694]],["name/59",[57,45.596]],["parent/59",[55,4.694]],["name/60",[58,45.596]],["parent/60",[55,4.694]],["name/61",[59,48.581]],["parent/61",[55,4.694]],["name/62",[60,46.978]],["parent/62",[55,4.694]],["name/63",[61,46.978]],["parent/63",[55,4.694]],["name/64",[62,48.581]],["parent/64",[55,4.694]],["name/65",[63,47.747]],["parent/65",[55,4.694]],["name/66",[64,48.581]],["parent/66",[55,4.694]],["name/67",[65,68.95]],["parent/67",[1,3.195]],["name/68",[6,41.87]],["parent/68",[66,4.183]],["name/69",[67,47.747]],["parent/69",[66,4.183]],["name/70",[57,45.596]],["parent/70",[66,4.183]],["name/71",[58,45.596]],["parent/71",[66,4.183]],["name/72",[68,50.492]],["parent/72",[66,4.183]],["name/73",[69,49.491]],["parent/73",[66,4.183]],["name/74",[70,50.492]],["parent/74",[66,4.183]],["name/75",[56,46.978]],["parent/75",[66,4.183]],["name/76",[71,47.747]],["parent/76",[66,4.183]],["name/77",[72,50.492]],["parent/77",[66,4.183]],["name/78",[73,48.581]],["parent/78",[66,4.183]],["name/79",[74,48.581]],["parent/79",[66,4.183]],["name/80",[75,50.492]],["parent/80",[66,4.183]],["name/81",[59,48.581]],["parent/81",[66,4.183]],["name/82",[25,36.498]],["parent/82",[66,4.183]],["name/83",[52,39.863]],["parent/83",[66,4.183]],["name/84",[53,41.018]],["parent/84",[66,4.183]],["name/85",[60,46.978]],["parent/85",[66,4.183]],["name/86",[61,46.978]],["parent/86",[66,4.183]],["name/87",[62,48.581]],["parent/87",[66,4.183]],["name/88",[63,47.747]],["parent/88",[66,4.183]],["name/89",[64,48.581]],["parent/89",[66,4.183]],["name/90",[76,60.477]],["parent/90",[1,3.195]],["name/91",[25,36.498]],["parent/91",[77,5.281]],["name/92",[29,46.978]],["parent/92",[77,5.281]],["name/93",[27,35.05]],["parent/93",[77,5.281]],["name/94",[30,46.263]],["parent/94",[77,5.281]],["name/95",[31,31.494]],["parent/95",[78,6.889]],["name/96",[27,35.05]],["parent/96",[79,6.379]],["name/97",[34,46.263]],["parent/97",[79,6.379]],["name/98",[28,46.978]],["parent/98",[77,5.281]],["name/99",[80,47.747]],["parent/99",[77,5.281]],["name/100",[81,46.263]],["parent/100",[77,5.281]],["name/101",[82,48.581]],["parent/101",[1,3.195]],["name/102",[27,35.05]],["parent/102",[83,3.673]],["name/103",[84,48.581]],["parent/103",[83,3.673]],["name/104",[85,47.747]],["parent/104",[83,3.673]],["name/105",[86,63.842]],["parent/105",[83,3.673]],["name/106",[87,52.856]],["parent/106",[83,3.673]],["name/107",[88,52.856]],["parent/107",[83,3.673]],["name/108",[89,54.287]],["parent/108",[83,3.673]],["name/109",[90,60.477]],["parent/109",[83,3.673]],["name/110",[91,60.477]],["parent/110",[83,3.673]],["name/111",[92,60.477]],["parent/111",[83,3.673]],["name/112",[93,48.581]],["parent/112",[83,3.673]],["name/113",[94,57.964]],["parent/113",[83,3.673]],["name/114",[95,57.964]],["parent/114",[83,3.673]],["name/115",[96,57.964]],["parent/115",[83,3.673]],["name/116",[97,63.842]],["parent/116",[83,3.673]],["name/117",[98,63.842]],["parent/117",[83,3.673]],["name/118",[99,63.842]],["parent/118",[83,3.673]],["name/119",[100,63.842]],["parent/119",[83,3.673]],["name/120",[101,55.957]],["parent/120",[83,3.673]],["name/121",[102,55.957]],["parent/121",[83,3.673]],["name/122",[103,54.287]],["parent/122",[83,3.673]],["name/123",[104,54.287]],["parent/123",[83,3.673]],["name/124",[105,52.856]],["parent/124",[83,3.673]],["name/125",[106,60.477]],["parent/125",[83,3.673]],["name/126",[107,57.964]],["parent/126",[83,3.673]],["name/127",[108,60.477]],["parent/127",[83,3.673]],["name/128",[109,60.477]],["parent/128",[83,3.673]],["name/129",[110,57.964]],["parent/129",[83,3.673]],["name/130",[111,63.842]],["parent/130",[83,3.673]],["name/131",[112,57.964]],["parent/131",[83,3.673]],["name/132",[113,57.964]],["parent/132",[83,3.673]],["name/133",[114,57.964]],["parent/133",[83,3.673]],["name/134",[115,57.964]],["parent/134",[83,3.673]],["name/135",[116,63.842]],["parent/135",[83,3.673]],["name/136",[117,63.842]],["parent/136",[83,3.673]],["name/137",[17,50.492]],["parent/137",[83,3.673]],["name/138",[118,52.856]],["parent/138",[83,3.673]],["name/139",[119,68.95]],["parent/139",[1,3.195]],["name/140",[120,63.842]],["parent/140",[121,6.043]],["name/141",[122,68.95]],["parent/141",[121,6.043]],["name/142",[31,31.494]],["parent/142",[123,6.889]],["name/143",[124,68.95]],["parent/143",[121,6.043]],["name/144",[31,31.494]],["parent/144",[125,6.889]],["name/145",[126,68.95]],["parent/145",[1,3.195]],["name/146",[31,31.494]],["parent/146",[127,6.889]],["name/147",[128,68.95]],["parent/147",[1,3.195]],["name/148",[31,31.494]],["parent/148",[129,6.889]],["name/149",[130,63.842]],["parent/149",[1,3.195]],["name/150",[131,68.95]],["parent/150",[1,3.195]],["name/151",[52,39.863]],["parent/151",[132,5.156]],["name/152",[133,52.856]],["parent/152",[132,5.156]],["name/153",[134,52.856]],["parent/153",[132,5.156]],["name/154",[135,63.842]],["parent/154",[132,5.156]],["name/155",[82,48.581]],["parent/155",[132,5.156]],["name/156",[53,41.018]],["parent/156",[132,5.156]],["name/157",[136,60.477]],["parent/157",[132,5.156]],["name/158",[137,57.964]],["parent/158",[132,5.156]],["name/159",[138,68.95]],["parent/159",[1,3.195]],["name/160",[139,55.957]],["parent/160",[140,5.281]],["name/161",[141,54.287]],["parent/161",[140,5.281]],["name/162",[142,55.957]],["parent/162",[140,5.281]],["name/163",[143,55.957]],["parent/163",[140,5.281]],["name/164",[25,36.498]],["parent/164",[140,5.281]],["name/165",[52,39.863]],["parent/165",[140,5.281]],["name/166",[53,41.018]],["parent/166",[140,5.281]],["name/167",[144,68.95]],["parent/167",[1,3.195]],["name/168",[6,41.87]],["parent/168",[145,4.14]],["name/169",[146,51.604]],["parent/169",[145,4.14]],["name/170",[56,46.978]],["parent/170",[145,4.14]],["name/171",[67,47.747]],["parent/171",[145,4.14]],["name/172",[57,45.596]],["parent/172",[145,4.14]],["name/173",[58,45.596]],["parent/173",[145,4.14]],["name/174",[68,50.492]],["parent/174",[145,4.14]],["name/175",[69,49.491]],["parent/175",[145,4.14]],["name/176",[70,50.492]],["parent/176",[145,4.14]],["name/177",[71,47.747]],["parent/177",[145,4.14]],["name/178",[72,50.492]],["parent/178",[145,4.14]],["name/179",[73,48.581]],["parent/179",[145,4.14]],["name/180",[74,48.581]],["parent/180",[145,4.14]],["name/181",[75,50.492]],["parent/181",[145,4.14]],["name/182",[59,48.581]],["parent/182",[145,4.14]],["name/183",[25,36.498]],["parent/183",[145,4.14]],["name/184",[52,39.863]],["parent/184",[145,4.14]],["name/185",[53,41.018]],["parent/185",[145,4.14]],["name/186",[60,46.978]],["parent/186",[145,4.14]],["name/187",[61,46.978]],["parent/187",[145,4.14]],["name/188",[62,48.581]],["parent/188",[145,4.14]],["name/189",[63,47.747]],["parent/189",[145,4.14]],["name/190",[64,48.581]],["parent/190",[145,4.14]],["name/191",[147,60.477]],["parent/191",[1,3.195]],["name/192",[52,39.863]],["parent/192",[148,5.591]],["name/193",[25,36.498]],["parent/193",[148,5.591]],["name/194",[133,52.856]],["parent/194",[148,5.591]],["name/195",[134,52.856]],["parent/195",[148,5.591]],["name/196",[6,41.87]],["parent/196",[148,5.591]],["name/197",[149,68.95]],["parent/197",[1,3.195]],["name/198",[53,41.018]],["parent/198",[150,4.229]],["name/199",[6,41.87]],["parent/199",[150,4.229]],["name/200",[81,46.263]],["parent/200",[150,4.229]],["name/201",[57,45.596]],["parent/201",[150,4.229]],["name/202",[58,45.596]],["parent/202",[150,4.229]],["name/203",[73,48.581]],["parent/203",[150,4.229]],["name/204",[67,47.747]],["parent/204",[150,4.229]],["name/205",[74,48.581]],["parent/205",[150,4.229]],["name/206",[151,63.842]],["parent/206",[150,4.229]],["name/207",[152,63.842]],["parent/207",[150,4.229]],["name/208",[71,47.747]],["parent/208",[150,4.229]],["name/209",[56,46.978]],["parent/209",[150,4.229]],["name/210",[60,46.978]],["parent/210",[150,4.229]],["name/211",[153,63.842]],["parent/211",[150,4.229]],["name/212",[154,63.842]],["parent/212",[150,4.229]],["name/213",[61,46.978]],["parent/213",[150,4.229]],["name/214",[137,57.964]],["parent/214",[150,4.229]],["name/215",[52,39.863]],["parent/215",[150,4.229]],["name/216",[25,36.498]],["parent/216",[150,4.229]],["name/217",[133,52.856]],["parent/217",[150,4.229]],["name/218",[134,52.856]],["parent/218",[150,4.229]],["name/219",[155,68.95]],["parent/219",[1,3.195]],["name/220",[27,35.05]],["parent/220",[156,4.556]],["name/221",[84,48.581]],["parent/221",[156,4.556]],["name/222",[85,47.747]],["parent/222",[156,4.556]],["name/223",[87,52.856]],["parent/223",[156,4.556]],["name/224",[88,52.856]],["parent/224",[156,4.556]],["name/225",[89,54.287]],["parent/225",[156,4.556]],["name/226",[93,48.581]],["parent/226",[156,4.556]],["name/227",[95,57.964]],["parent/227",[156,4.556]],["name/228",[96,57.964]],["parent/228",[156,4.556]],["name/229",[97,63.842]],["parent/229",[156,4.556]],["name/230",[103,54.287]],["parent/230",[156,4.556]],["name/231",[104,54.287]],["parent/231",[156,4.556]],["name/232",[105,52.856]],["parent/232",[156,4.556]],["name/233",[17,50.492]],["parent/233",[156,4.556]],["name/234",[118,52.856]],["parent/234",[156,4.556]],["name/235",[157,68.95]],["parent/235",[1,3.195]],["name/236",[27,35.05]],["parent/236",[158,4.326]],["name/237",[84,48.581]],["parent/237",[158,4.326]],["name/238",[85,47.747]],["parent/238",[158,4.326]],["name/239",[87,52.856]],["parent/239",[158,4.326]],["name/240",[88,52.856]],["parent/240",[158,4.326]],["name/241",[89,54.287]],["parent/241",[158,4.326]],["name/242",[93,48.581]],["parent/242",[158,4.326]],["name/243",[94,57.964]],["parent/243",[158,4.326]],["name/244",[103,54.287]],["parent/244",[158,4.326]],["name/245",[104,54.287]],["parent/245",[158,4.326]],["name/246",[105,52.856]],["parent/246",[158,4.326]],["name/247",[107,57.964]],["parent/247",[158,4.326]],["name/248",[112,57.964]],["parent/248",[158,4.326]],["name/249",[113,57.964]],["parent/249",[158,4.326]],["name/250",[114,57.964]],["parent/250",[158,4.326]],["name/251",[115,57.964]],["parent/251",[158,4.326]],["name/252",[110,57.964]],["parent/252",[158,4.326]],["name/253",[17,50.492]],["parent/253",[158,4.326]],["name/254",[118,52.856]],["parent/254",[158,4.326]],["name/255",[159,68.95]],["parent/255",[1,3.195]],["name/256",[27,35.05]],["parent/256",[160,4.229]],["name/257",[84,48.581]],["parent/257",[160,4.229]],["name/258",[85,47.747]],["parent/258",[160,4.229]],["name/259",[86,63.842]],["parent/259",[160,4.229]],["name/260",[161,68.95]],["parent/260",[160,4.229]],["name/261",[31,31.494]],["parent/261",[162,6.889]],["name/262",[3,55.957]],["parent/262",[163,5.792]],["name/263",[5,55.957]],["parent/263",[163,5.792]],["name/264",[95,57.964]],["parent/264",[163,5.792]],["name/265",[96,57.964]],["parent/265",[163,5.792]],["name/266",[93,48.581]],["parent/266",[160,4.229]],["name/267",[95,57.964]],["parent/267",[160,4.229]],["name/268",[96,57.964]],["parent/268",[160,4.229]],["name/269",[103,54.287]],["parent/269",[160,4.229]],["name/270",[104,54.287]],["parent/270",[160,4.229]],["name/271",[105,52.856]],["parent/271",[160,4.229]],["name/272",[107,57.964]],["parent/272",[160,4.229]],["name/273",[108,60.477]],["parent/273",[160,4.229]],["name/274",[109,60.477]],["parent/274",[160,4.229]],["name/275",[110,57.964]],["parent/275",[160,4.229]],["name/276",[112,57.964]],["parent/276",[160,4.229]],["name/277",[113,57.964]],["parent/277",[160,4.229]],["name/278",[114,57.964]],["parent/278",[160,4.229]],["name/279",[115,57.964]],["parent/279",[160,4.229]],["name/280",[17,50.492]],["parent/280",[160,4.229]],["name/281",[118,52.856]],["parent/281",[160,4.229]],["name/282",[164,68.95]],["parent/282",[1,3.195]],["name/283",[27,35.05]],["parent/283",[165,4.622]],["name/284",[85,47.747]],["parent/284",[165,4.622]],["name/285",[93,48.581]],["parent/285",[165,4.622]],["name/286",[88,52.856]],["parent/286",[165,4.622]],["name/287",[89,54.287]],["parent/287",[165,4.622]],["name/288",[90,60.477]],["parent/288",[165,4.622]],["name/289",[91,60.477]],["parent/289",[165,4.622]],["name/290",[92,60.477]],["parent/290",[165,4.622]],["name/291",[166,68.95]],["parent/291",[165,4.622]],["name/292",[101,55.957]],["parent/292",[165,4.622]],["name/293",[102,55.957]],["parent/293",[165,4.622]],["name/294",[106,60.477]],["parent/294",[165,4.622]],["name/295",[17,50.492]],["parent/295",[165,4.622]],["name/296",[118,52.856]],["parent/296",[165,4.622]],["name/297",[167,68.95]],["parent/297",[1,3.195]],["name/298",[168,68.95]],["parent/298",[169,4.771]],["name/299",[170,68.95]],["parent/299",[169,4.771]],["name/300",[171,68.95]],["parent/300",[169,4.771]],["name/301",[172,68.95]],["parent/301",[169,4.771]],["name/302",[173,68.95]],["parent/302",[169,4.771]],["name/303",[174,68.95]],["parent/303",[169,4.771]],["name/304",[175,68.95]],["parent/304",[169,4.771]],["name/305",[176,68.95]],["parent/305",[169,4.771]],["name/306",[177,63.842]],["parent/306",[169,4.771]],["name/307",[178,68.95]],["parent/307",[169,4.771]],["name/308",[179,68.95]],["parent/308",[169,4.771]],["name/309",[93,48.581]],["parent/309",[169,4.771]],["name/310",[180,68.95]],["parent/310",[1,3.195]],["name/311",[181,68.95]],["parent/311",[182,5.591]],["name/312",[183,60.477]],["parent/312",[182,5.591]],["name/313",[184,68.95]],["parent/313",[182,5.591]],["name/314",[185,68.95]],["parent/314",[182,5.591]],["name/315",[130,63.842]],["parent/315",[182,5.591]],["name/316",[186,68.95]],["parent/316",[1,3.195]],["name/317",[187,68.95]],["parent/317",[188,5.792]],["name/318",[189,68.95]],["parent/318",[188,5.792]],["name/319",[31,31.494]],["parent/319",[190,6.889]],["name/320",[191,68.95]],["parent/320",[188,5.792]],["name/321",[31,31.494]],["parent/321",[192,6.889]],["name/322",[193,68.95]],["parent/322",[188,5.792]],["name/323",[194,68.95]],["parent/323",[1,3.195]],["name/324",[27,35.05]],["parent/324",[195,5.045]],["name/325",[84,48.581]],["parent/325",[195,5.045]],["name/326",[85,47.747]],["parent/326",[195,5.045]],["name/327",[196,68.95]],["parent/327",[195,5.045]],["name/328",[197,68.95]],["parent/328",[195,5.045]],["name/329",[198,68.95]],["parent/329",[195,5.045]],["name/330",[199,68.95]],["parent/330",[195,5.045]],["name/331",[200,57.964]],["parent/331",[195,5.045]],["name/332",[201,50.492]],["parent/332",[195,5.045]],["name/333",[202,68.95]],["parent/333",[1,3.195]],["name/334",[27,35.05]],["parent/334",[203,4.493]],["name/335",[84,48.581]],["parent/335",[203,4.493]],["name/336",[85,47.747]],["parent/336",[203,4.493]],["name/337",[87,52.856]],["parent/337",[203,4.493]],["name/338",[88,52.856]],["parent/338",[203,4.493]],["name/339",[89,54.287]],["parent/339",[203,4.493]],["name/340",[90,60.477]],["parent/340",[203,4.493]],["name/341",[91,60.477]],["parent/341",[203,4.493]],["name/342",[92,60.477]],["parent/342",[203,4.493]],["name/343",[93,48.581]],["parent/343",[203,4.493]],["name/344",[101,55.957]],["parent/344",[203,4.493]],["name/345",[102,55.957]],["parent/345",[203,4.493]],["name/346",[106,60.477]],["parent/346",[203,4.493]],["name/347",[17,50.492]],["parent/347",[203,4.493]],["name/348",[116,63.842]],["parent/348",[203,4.493]],["name/349",[117,63.842]],["parent/349",[203,4.493]],["name/350",[204,68.95]],["parent/350",[1,3.195]],["name/351",[27,35.05]],["parent/351",[205,4.854]],["name/352",[84,48.581]],["parent/352",[205,4.854]],["name/353",[85,47.747]],["parent/353",[205,4.854]],["name/354",[87,52.856]],["parent/354",[205,4.854]],["name/355",[93,48.581]],["parent/355",[205,4.854]],["name/356",[94,57.964]],["parent/356",[205,4.854]],["name/357",[103,54.287]],["parent/357",[205,4.854]],["name/358",[104,54.287]],["parent/358",[205,4.854]],["name/359",[105,52.856]],["parent/359",[205,4.854]],["name/360",[17,50.492]],["parent/360",[205,4.854]],["name/361",[118,52.856]],["parent/361",[205,4.854]],["name/362",[206,68.95]],["parent/362",[1,3.195]],["name/363",[27,35.05]],["parent/363",[207,4.058]],["name/364",[84,48.581]],["parent/364",[207,4.058]],["name/365",[85,47.747]],["parent/365",[207,4.058]],["name/366",[87,52.856]],["parent/366",[207,4.058]],["name/367",[88,52.856]],["parent/367",[207,4.058]],["name/368",[89,54.287]],["parent/368",[207,4.058]],["name/369",[93,48.581]],["parent/369",[207,4.058]],["name/370",[98,63.842]],["parent/370",[207,4.058]],["name/371",[99,63.842]],["parent/371",[207,4.058]],["name/372",[208,68.95]],["parent/372",[207,4.058]],["name/373",[100,63.842]],["parent/373",[207,4.058]],["name/374",[103,54.287]],["parent/374",[207,4.058]],["name/375",[104,54.287]],["parent/375",[207,4.058]],["name/376",[105,52.856]],["parent/376",[207,4.058]],["name/377",[107,57.964]],["parent/377",[207,4.058]],["name/378",[108,60.477]],["parent/378",[207,4.058]],["name/379",[109,60.477]],["parent/379",[207,4.058]],["name/380",[110,57.964]],["parent/380",[207,4.058]],["name/381",[111,63.842]],["parent/381",[207,4.058]],["name/382",[112,57.964]],["parent/382",[207,4.058]],["name/383",[113,57.964]],["parent/383",[207,4.058]],["name/384",[114,57.964]],["parent/384",[207,4.058]],["name/385",[115,57.964]],["parent/385",[207,4.058]],["name/386",[17,50.492]],["parent/386",[207,4.058]],["name/387",[118,52.856]],["parent/387",[207,4.058]],["name/388",[209,68.95]],["parent/388",[1,3.195]],["name/389",[27,35.05]],["parent/389",[210,5.424]],["name/390",[84,48.581]],["parent/390",[210,5.424]],["name/391",[85,47.747]],["parent/391",[210,5.424]],["name/392",[88,52.856]],["parent/392",[210,5.424]],["name/393",[93,48.581]],["parent/393",[210,5.424]],["name/394",[105,52.856]],["parent/394",[210,5.424]],["name/395",[211,68.95]],["parent/395",[1,3.195]],["name/396",[27,35.05]],["parent/396",[212,6.379]],["name/397",[213,68.95]],["parent/397",[212,6.379]],["name/398",[31,31.494]],["parent/398",[214,6.889]],["name/399",[215,68.95]],["parent/399",[1,3.195]],["name/400",[27,35.05]],["parent/400",[216,5.156]],["name/401",[84,48.581]],["parent/401",[216,5.156]],["name/402",[85,47.747]],["parent/402",[216,5.156]],["name/403",[94,57.964]],["parent/403",[216,5.156]],["name/404",[87,52.856]],["parent/404",[216,5.156]],["name/405",[217,68.95]],["parent/405",[216,5.156]],["name/406",[218,68.95]],["parent/406",[216,5.156]],["name/407",[93,48.581]],["parent/407",[216,5.156]],["name/408",[219,68.95]],["parent/408",[1,3.195]],["name/409",[220,68.95]],["parent/409",[221,5.045]],["name/410",[31,31.494]],["parent/410",[222,6.889]],["name/411",[223,52.856]],["parent/411",[224,5.792]],["name/412",[134,52.856]],["parent/412",[224,5.792]],["name/413",[133,52.856]],["parent/413",[224,5.792]],["name/414",[136,60.477]],["parent/414",[224,5.792]],["name/415",[137,57.964]],["parent/415",[221,5.045]],["name/416",[52,39.863]],["parent/416",[221,5.045]],["name/417",[133,52.856]],["parent/417",[221,5.045]],["name/418",[134,52.856]],["parent/418",[221,5.045]],["name/419",[135,63.842]],["parent/419",[221,5.045]],["name/420",[82,48.581]],["parent/420",[221,5.045]],["name/421",[53,41.018]],["parent/421",[221,5.045]],["name/422",[136,60.477]],["parent/422",[221,5.045]],["name/423",[225,68.95]],["parent/423",[1,3.195]],["name/424",[6,41.87]],["parent/424",[226,4.229]],["name/425",[53,41.018]],["parent/425",[226,4.229]],["name/426",[81,46.263]],["parent/426",[226,4.229]],["name/427",[57,45.596]],["parent/427",[226,4.229]],["name/428",[58,45.596]],["parent/428",[226,4.229]],["name/429",[73,48.581]],["parent/429",[226,4.229]],["name/430",[67,47.747]],["parent/430",[226,4.229]],["name/431",[74,48.581]],["parent/431",[226,4.229]],["name/432",[151,63.842]],["parent/432",[226,4.229]],["name/433",[152,63.842]],["parent/433",[226,4.229]],["name/434",[71,47.747]],["parent/434",[226,4.229]],["name/435",[56,46.978]],["parent/435",[226,4.229]],["name/436",[60,46.978]],["parent/436",[226,4.229]],["name/437",[153,63.842]],["parent/437",[226,4.229]],["name/438",[154,63.842]],["parent/438",[226,4.229]],["name/439",[61,46.978]],["parent/439",[226,4.229]],["name/440",[137,57.964]],["parent/440",[226,4.229]],["name/441",[52,39.863]],["parent/441",[226,4.229]],["name/442",[25,36.498]],["parent/442",[226,4.229]],["name/443",[133,52.856]],["parent/443",[226,4.229]],["name/444",[134,52.856]],["parent/444",[226,4.229]],["name/445",[227,68.95]],["parent/445",[1,3.195]],["name/446",[228,68.95]],["parent/446",[229,5.045]],["name/447",[31,31.494]],["parent/447",[230,6.889]],["name/448",[177,63.842]],["parent/448",[231,6.043]],["name/449",[84,48.581]],["parent/449",[231,6.043]],["name/450",[85,47.747]],["parent/450",[231,6.043]],["name/451",[6,41.87]],["parent/451",[229,5.045]],["name/452",[232,68.95]],["parent/452",[229,5.045]],["name/453",[233,68.95]],["parent/453",[229,5.045]],["name/454",[234,68.95]],["parent/454",[229,5.045]],["name/455",[52,39.863]],["parent/455",[229,5.045]],["name/456",[25,36.498]],["parent/456",[229,5.045]],["name/457",[133,52.856]],["parent/457",[229,5.045]],["name/458",[134,52.856]],["parent/458",[229,5.045]],["name/459",[235,68.95]],["parent/459",[1,3.195]],["name/460",[236,68.95]],["parent/460",[237,5.792]],["name/461",[238,68.95]],["parent/461",[237,5.792]],["name/462",[239,68.95]],["parent/462",[237,5.792]],["name/463",[240,68.95]],["parent/463",[237,5.792]],["name/464",[241,68.95]],["parent/464",[1,3.195]],["name/465",[6,41.87]],["parent/465",[242,5.792]],["name/466",[243,68.95]],["parent/466",[242,5.792]],["name/467",[244,68.95]],["parent/467",[242,5.792]],["name/468",[245,68.95]],["parent/468",[242,5.792]],["name/469",[246,68.95]],["parent/469",[1,3.195]],["name/470",[223,52.856]],["parent/470",[247,5.424]],["name/471",[248,68.95]],["parent/471",[247,5.424]],["name/472",[141,54.287]],["parent/472",[247,5.424]],["name/473",[25,36.498]],["parent/473",[247,5.424]],["name/474",[52,39.863]],["parent/474",[247,5.424]],["name/475",[53,41.018]],["parent/475",[247,5.424]],["name/476",[249,68.95]],["parent/476",[1,3.195]],["name/477",[6,41.87]],["parent/477",[250,4.622]],["name/478",[56,46.978]],["parent/478",[250,4.622]],["name/479",[59,48.581]],["parent/479",[250,4.622]],["name/480",[146,51.604]],["parent/480",[250,4.622]],["name/481",[25,36.498]],["parent/481",[250,4.622]],["name/482",[52,39.863]],["parent/482",[250,4.622]],["name/483",[53,41.018]],["parent/483",[250,4.622]],["name/484",[57,45.596]],["parent/484",[250,4.622]],["name/485",[58,45.596]],["parent/485",[250,4.622]],["name/486",[60,46.978]],["parent/486",[250,4.622]],["name/487",[61,46.978]],["parent/487",[250,4.622]],["name/488",[62,48.581]],["parent/488",[250,4.622]],["name/489",[63,47.747]],["parent/489",[250,4.622]],["name/490",[64,48.581]],["parent/490",[250,4.622]],["name/491",[251,38.827]],["parent/491",[]],["name/492",[252,68.95]],["parent/492",[251,3.88]],["name/493",[253,68.95]],["parent/493",[254,5.424]],["name/494",[255,68.95]],["parent/494",[254,5.424]],["name/495",[256,68.95]],["parent/495",[254,5.424]],["name/496",[257,68.95]],["parent/496",[254,5.424]],["name/497",[258,68.95]],["parent/497",[254,5.424]],["name/498",[259,68.95]],["parent/498",[254,5.424]],["name/499",[260,68.95]],["parent/499",[251,3.88]],["name/500",[27,35.05]],["parent/500",[261,4.945]],["name/501",[262,68.95]],["parent/501",[261,4.945]],["name/502",[263,68.95]],["parent/502",[261,4.945]],["name/503",[264,68.95]],["parent/503",[261,4.945]],["name/504",[265,68.95]],["parent/504",[261,4.945]],["name/505",[266,68.95]],["parent/505",[261,4.945]],["name/506",[47,46.978]],["parent/506",[261,4.945]],["name/507",[201,50.492]],["parent/507",[261,4.945]],["name/508",[267,68.95]],["parent/508",[261,4.945]],["name/509",[268,68.95]],["parent/509",[261,4.945]],["name/510",[269,68.95]],["parent/510",[251,3.88]],["name/511",[270,63.842]],["parent/511",[271,4.854]],["name/512",[272,68.95]],["parent/512",[271,4.854]],["name/513",[31,31.494]],["parent/513",[273,6.889]],["name/514",[274,68.95]],["parent/514",[271,4.854]],["name/515",[275,63.842]],["parent/515",[271,4.854]],["name/516",[276,68.95]],["parent/516",[271,4.854]],["name/517",[277,68.95]],["parent/517",[271,4.854]],["name/518",[278,68.95]],["parent/518",[271,4.854]],["name/519",[279,68.95]],["parent/519",[271,4.854]],["name/520",[280,68.95]],["parent/520",[271,4.854]],["name/521",[281,68.95]],["parent/521",[271,4.854]],["name/522",[282,68.95]],["parent/522",[271,4.854]],["name/523",[31,31.494]],["parent/523",[283,6.889]],["name/524",[284,68.95]],["parent/524",[285,6.889]],["name/525",[31,31.494]],["parent/525",[286,6.889]],["name/526",[287,68.95]],["parent/526",[288,6.889]],["name/527",[289,68.95]],["parent/527",[251,3.88]],["name/528",[290,60.477]],["parent/528",[291,6.043]],["name/529",[292,60.477]],["parent/529",[291,6.043]],["name/530",[293,63.842]],["parent/530",[291,6.043]],["name/531",[294,68.95]],["parent/531",[251,3.88]],["name/532",[295,47.747]],["parent/532",[296,4.276]],["name/533",[297,57.964]],["parent/533",[296,4.276]],["name/534",[298,52.856]],["parent/534",[296,4.276]],["name/535",[299,63.842]],["parent/535",[296,4.276]],["name/536",[300,63.842]],["parent/536",[296,4.276]],["name/537",[29,46.978]],["parent/537",[296,4.276]],["name/538",[301,52.856]],["parent/538",[296,4.276]],["name/539",[82,48.581]],["parent/539",[296,4.276]],["name/540",[302,52.856]],["parent/540",[296,4.276]],["name/541",[303,46.978]],["parent/541",[296,4.276]],["name/542",[304,50.492]],["parent/542",[296,4.276]],["name/543",[305,50.492]],["parent/543",[296,4.276]],["name/544",[201,50.492]],["parent/544",[296,4.276]],["name/545",[47,46.978]],["parent/545",[296,4.276]],["name/546",[25,36.498]],["parent/546",[296,4.276]],["name/547",[27,35.05]],["parent/547",[296,4.276]],["name/548",[30,46.263]],["parent/548",[296,4.276]],["name/549",[31,31.494]],["parent/549",[306,6.889]],["name/550",[27,35.05]],["parent/550",[307,6.379]],["name/551",[34,46.263]],["parent/551",[307,6.379]],["name/552",[28,46.978]],["parent/552",[296,4.276]],["name/553",[80,47.747]],["parent/553",[296,4.276]],["name/554",[81,46.263]],["parent/554",[296,4.276]],["name/555",[308,68.95]],["parent/555",[251,3.88]],["name/556",[295,47.747]],["parent/556",[309,4.435]],["name/557",[29,46.978]],["parent/557",[309,4.435]],["name/558",[31,31.494]],["parent/558",[310,6.889]],["name/559",[311,68.95]],["parent/559",[312,5.281]],["name/560",[313,68.95]],["parent/560",[312,5.281]],["name/561",[183,60.477]],["parent/561",[312,5.281]],["name/562",[3,55.957]],["parent/562",[312,5.281]],["name/563",[5,55.957]],["parent/563",[312,5.281]],["name/564",[43,63.842]],["parent/564",[312,5.281]],["name/565",[314,60.477]],["parent/565",[312,5.281]],["name/566",[30,46.263]],["parent/566",[309,4.435]],["name/567",[31,31.494]],["parent/567",[315,6.889]],["name/568",[27,35.05]],["parent/568",[316,6.379]],["name/569",[34,46.263]],["parent/569",[316,6.379]],["name/570",[317,51.604]],["parent/570",[309,4.435]],["name/571",[318,68.95]],["parent/571",[309,4.435]],["name/572",[319,60.477]],["parent/572",[309,4.435]],["name/573",[320,57.964]],["parent/573",[309,4.435]],["name/574",[321,68.95]],["parent/574",[309,4.435]],["name/575",[47,46.978]],["parent/575",[309,4.435]],["name/576",[304,50.492]],["parent/576",[309,4.435]],["name/577",[305,50.492]],["parent/577",[309,4.435]],["name/578",[322,63.842]],["parent/578",[309,4.435]],["name/579",[25,36.498]],["parent/579",[309,4.435]],["name/580",[27,35.05]],["parent/580",[309,4.435]],["name/581",[28,46.978]],["parent/581",[309,4.435]],["name/582",[80,47.747]],["parent/582",[309,4.435]],["name/583",[81,46.263]],["parent/583",[309,4.435]],["name/584",[323,68.95]],["parent/584",[251,3.88]],["name/585",[295,47.747]],["parent/585",[324,4.229]],["name/586",[317,51.604]],["parent/586",[324,4.229]],["name/587",[325,57.964]],["parent/587",[324,4.229]],["name/588",[326,68.95]],["parent/588",[324,4.229]],["name/589",[327,68.95]],["parent/589",[324,4.229]],["name/590",[320,57.964]],["parent/590",[324,4.229]],["name/591",[328,63.842]],["parent/591",[324,4.229]],["name/592",[329,60.477]],["parent/592",[324,4.229]],["name/593",[47,46.978]],["parent/593",[324,4.229]],["name/594",[330,68.95]],["parent/594",[324,4.229]],["name/595",[304,50.492]],["parent/595",[324,4.229]],["name/596",[305,50.492]],["parent/596",[324,4.229]],["name/597",[331,68.95]],["parent/597",[324,4.229]],["name/598",[322,63.842]],["parent/598",[324,4.229]],["name/599",[25,36.498]],["parent/599",[324,4.229]],["name/600",[29,46.978]],["parent/600",[324,4.229]],["name/601",[27,35.05]],["parent/601",[324,4.229]],["name/602",[30,46.263]],["parent/602",[324,4.229]],["name/603",[31,31.494]],["parent/603",[332,6.889]],["name/604",[27,35.05]],["parent/604",[333,6.379]],["name/605",[34,46.263]],["parent/605",[333,6.379]],["name/606",[28,46.978]],["parent/606",[324,4.229]],["name/607",[80,47.747]],["parent/607",[324,4.229]],["name/608",[81,46.263]],["parent/608",[324,4.229]],["name/609",[334,68.95]],["parent/609",[251,3.88]],["name/610",[295,47.747]],["parent/610",[335,4.854]],["name/611",[3,55.957]],["parent/611",[335,4.854]],["name/612",[5,55.957]],["parent/612",[335,4.854]],["name/613",[336,68.95]],["parent/613",[335,4.854]],["name/614",[30,46.263]],["parent/614",[335,4.854]],["name/615",[31,31.494]],["parent/615",[337,6.889]],["name/616",[27,35.05]],["parent/616",[338,6.379]],["name/617",[34,46.263]],["parent/617",[338,6.379]],["name/618",[339,68.95]],["parent/618",[335,4.854]],["name/619",[340,68.95]],["parent/619",[335,4.854]],["name/620",[290,60.477]],["parent/620",[335,4.854]],["name/621",[292,60.477]],["parent/621",[335,4.854]],["name/622",[325,57.964]],["parent/622",[335,4.854]],["name/623",[329,60.477]],["parent/623",[335,4.854]],["name/624",[341,68.95]],["parent/624",[251,3.88]],["name/625",[295,47.747]],["parent/625",[342,3.947]],["name/626",[298,52.856]],["parent/626",[342,3.947]],["name/627",[343,68.95]],["parent/627",[342,3.947]],["name/628",[344,68.95]],["parent/628",[342,3.947]],["name/629",[345,68.95]],["parent/629",[342,3.947]],["name/630",[297,57.964]],["parent/630",[342,3.947]],["name/631",[317,51.604]],["parent/631",[342,3.947]],["name/632",[329,60.477]],["parent/632",[342,3.947]],["name/633",[346,68.95]],["parent/633",[342,3.947]],["name/634",[299,63.842]],["parent/634",[342,3.947]],["name/635",[300,63.842]],["parent/635",[342,3.947]],["name/636",[347,68.95]],["parent/636",[342,3.947]],["name/637",[328,63.842]],["parent/637",[342,3.947]],["name/638",[29,46.978]],["parent/638",[342,3.947]],["name/639",[301,52.856]],["parent/639",[342,3.947]],["name/640",[82,48.581]],["parent/640",[342,3.947]],["name/641",[302,52.856]],["parent/641",[342,3.947]],["name/642",[303,46.978]],["parent/642",[342,3.947]],["name/643",[304,50.492]],["parent/643",[342,3.947]],["name/644",[305,50.492]],["parent/644",[342,3.947]],["name/645",[201,50.492]],["parent/645",[342,3.947]],["name/646",[47,46.978]],["parent/646",[342,3.947]],["name/647",[25,36.498]],["parent/647",[342,3.947]],["name/648",[27,35.05]],["parent/648",[342,3.947]],["name/649",[30,46.263]],["parent/649",[342,3.947]],["name/650",[31,31.494]],["parent/650",[348,6.889]],["name/651",[27,35.05]],["parent/651",[349,6.379]],["name/652",[34,46.263]],["parent/652",[349,6.379]],["name/653",[28,46.978]],["parent/653",[342,3.947]],["name/654",[80,47.747]],["parent/654",[342,3.947]],["name/655",[81,46.263]],["parent/655",[342,3.947]],["name/656",[350,68.95]],["parent/656",[251,3.88]],["name/657",[295,47.747]],["parent/657",[351,4.326]],["name/658",[298,52.856]],["parent/658",[351,4.326]],["name/659",[325,57.964]],["parent/659",[351,4.326]],["name/660",[317,51.604]],["parent/660",[351,4.326]],["name/661",[29,46.978]],["parent/661",[351,4.326]],["name/662",[301,52.856]],["parent/662",[351,4.326]],["name/663",[82,48.581]],["parent/663",[351,4.326]],["name/664",[302,52.856]],["parent/664",[351,4.326]],["name/665",[303,46.978]],["parent/665",[351,4.326]],["name/666",[304,50.492]],["parent/666",[351,4.326]],["name/667",[305,50.492]],["parent/667",[351,4.326]],["name/668",[201,50.492]],["parent/668",[351,4.326]],["name/669",[47,46.978]],["parent/669",[351,4.326]],["name/670",[25,36.498]],["parent/670",[351,4.326]],["name/671",[27,35.05]],["parent/671",[351,4.326]],["name/672",[30,46.263]],["parent/672",[351,4.326]],["name/673",[31,31.494]],["parent/673",[352,6.889]],["name/674",[27,35.05]],["parent/674",[353,6.379]],["name/675",[34,46.263]],["parent/675",[353,6.379]],["name/676",[28,46.978]],["parent/676",[351,4.326]],["name/677",[80,47.747]],["parent/677",[351,4.326]],["name/678",[81,46.263]],["parent/678",[351,4.326]],["name/679",[354,68.95]],["parent/679",[251,3.88]],["name/680",[295,47.747]],["parent/680",[355,4.229]],["name/681",[356,68.95]],["parent/681",[355,4.229]],["name/682",[357,68.95]],["parent/682",[355,4.229]],["name/683",[298,52.856]],["parent/683",[355,4.229]],["name/684",[325,57.964]],["parent/684",[355,4.229]],["name/685",[317,51.604]],["parent/685",[355,4.229]],["name/686",[29,46.978]],["parent/686",[355,4.229]],["name/687",[301,52.856]],["parent/687",[355,4.229]],["name/688",[82,48.581]],["parent/688",[355,4.229]],["name/689",[302,52.856]],["parent/689",[355,4.229]],["name/690",[303,46.978]],["parent/690",[355,4.229]],["name/691",[304,50.492]],["parent/691",[355,4.229]],["name/692",[305,50.492]],["parent/692",[355,4.229]],["name/693",[201,50.492]],["parent/693",[355,4.229]],["name/694",[47,46.978]],["parent/694",[355,4.229]],["name/695",[25,36.498]],["parent/695",[355,4.229]],["name/696",[27,35.05]],["parent/696",[355,4.229]],["name/697",[30,46.263]],["parent/697",[355,4.229]],["name/698",[31,31.494]],["parent/698",[358,6.889]],["name/699",[27,35.05]],["parent/699",[359,6.379]],["name/700",[34,46.263]],["parent/700",[359,6.379]],["name/701",[28,46.978]],["parent/701",[355,4.229]],["name/702",[80,47.747]],["parent/702",[355,4.229]],["name/703",[81,46.263]],["parent/703",[355,4.229]],["name/704",[360,68.95]],["parent/704",[251,3.88]],["name/705",[295,47.747]],["parent/705",[361,4.276]],["name/706",[297,57.964]],["parent/706",[361,4.276]],["name/707",[362,68.95]],["parent/707",[361,4.276]],["name/708",[317,51.604]],["parent/708",[361,4.276]],["name/709",[298,52.856]],["parent/709",[361,4.276]],["name/710",[29,46.978]],["parent/710",[361,4.276]],["name/711",[301,52.856]],["parent/711",[361,4.276]],["name/712",[82,48.581]],["parent/712",[361,4.276]],["name/713",[302,52.856]],["parent/713",[361,4.276]],["name/714",[303,46.978]],["parent/714",[361,4.276]],["name/715",[304,50.492]],["parent/715",[361,4.276]],["name/716",[305,50.492]],["parent/716",[361,4.276]],["name/717",[201,50.492]],["parent/717",[361,4.276]],["name/718",[47,46.978]],["parent/718",[361,4.276]],["name/719",[25,36.498]],["parent/719",[361,4.276]],["name/720",[27,35.05]],["parent/720",[361,4.276]],["name/721",[30,46.263]],["parent/721",[361,4.276]],["name/722",[31,31.494]],["parent/722",[363,6.889]],["name/723",[27,35.05]],["parent/723",[364,6.379]],["name/724",[34,46.263]],["parent/724",[364,6.379]],["name/725",[28,46.978]],["parent/725",[361,4.276]],["name/726",[80,47.747]],["parent/726",[361,4.276]],["name/727",[81,46.263]],["parent/727",[361,4.276]],["name/728",[365,68.95]],["parent/728",[0,5.792]],["name/729",[366,63.842]],["parent/729",[367,5.156]],["name/730",[27,35.05]],["parent/730",[367,5.156]],["name/731",[368,63.842]],["parent/731",[367,5.156]],["name/732",[369,63.842]],["parent/732",[367,5.156]],["name/733",[314,60.477]],["parent/733",[367,5.156]],["name/734",[370,63.842]],["parent/734",[367,5.156]],["name/735",[371,63.842]],["parent/735",[367,5.156]],["name/736",[372,63.842]],["parent/736",[367,5.156]],["name/737",[373,68.95]],["parent/737",[0,5.792]],["name/738",[374,68.95]],["parent/738",[375,4.493]],["name/739",[31,31.494]],["parent/739",[376,6.889]],["name/740",[377,68.95]],["parent/740",[375,4.493]],["name/741",[378,68.95]],["parent/741",[375,4.493]],["name/742",[270,63.842]],["parent/742",[375,4.493]],["name/743",[379,68.95]],["parent/743",[375,4.493]],["name/744",[380,68.95]],["parent/744",[375,4.493]],["name/745",[120,63.842]],["parent/745",[375,4.493]],["name/746",[381,68.95]],["parent/746",[375,4.493]],["name/747",[382,68.95]],["parent/747",[375,4.493]],["name/748",[383,68.95]],["parent/748",[375,4.493]],["name/749",[384,68.95]],["parent/749",[375,4.493]],["name/750",[317,51.604]],["parent/750",[375,4.493]],["name/751",[31,31.494]],["parent/751",[385,6.889]],["name/752",[386,68.95]],["parent/752",[387,5.792]],["name/753",[388,68.95]],["parent/753",[387,5.792]],["name/754",[389,60.477]],["parent/754",[387,5.792]],["name/755",[200,57.964]],["parent/755",[387,5.792]],["name/756",[200,57.964]],["parent/756",[375,4.493]],["name/757",[389,60.477]],["parent/757",[375,4.493]],["name/758",[390,68.95]],["parent/758",[375,4.493]],["name/759",[391,68.95]],["parent/759",[375,4.493]],["name/760",[392,68.95]],["parent/760",[0,5.792]],["name/761",[6,41.87]],["parent/761",[393,3.756]],["name/762",[389,60.477]],["parent/762",[393,3.756]],["name/763",[200,57.964]],["parent/763",[393,3.756]],["name/764",[394,68.95]],["parent/764",[393,3.756]],["name/765",[57,45.596]],["parent/765",[393,3.756]],["name/766",[58,45.596]],["parent/766",[393,3.756]],["name/767",[395,68.95]],["parent/767",[393,3.756]],["name/768",[396,68.95]],["parent/768",[393,3.756]],["name/769",[397,68.95]],["parent/769",[393,3.756]],["name/770",[398,68.95]],["parent/770",[393,3.756]],["name/771",[399,68.95]],["parent/771",[393,3.756]],["name/772",[400,68.95]],["parent/772",[393,3.756]],["name/773",[401,68.95]],["parent/773",[393,3.756]],["name/774",[402,63.842]],["parent/774",[393,3.756]],["name/775",[403,63.842]],["parent/775",[393,3.756]],["name/776",[404,68.95]],["parent/776",[393,3.756]],["name/777",[405,68.95]],["parent/777",[393,3.756]],["name/778",[406,68.95]],["parent/778",[393,3.756]],["name/779",[407,68.95]],["parent/779",[393,3.756]],["name/780",[408,68.95]],["parent/780",[393,3.756]],["name/781",[409,63.842]],["parent/781",[393,3.756]],["name/782",[410,63.842]],["parent/782",[393,3.756]],["name/783",[411,63.842]],["parent/783",[393,3.756]],["name/784",[412,68.95]],["parent/784",[393,3.756]],["name/785",[413,60.477]],["parent/785",[393,3.756]],["name/786",[414,60.477]],["parent/786",[393,3.756]],["name/787",[415,68.95]],["parent/787",[393,3.756]],["name/788",[416,63.842]],["parent/788",[393,3.756]],["name/789",[417,68.95]],["parent/789",[393,3.756]],["name/790",[418,68.95]],["parent/790",[393,3.756]],["name/791",[419,68.95]],["parent/791",[393,3.756]],["name/792",[420,63.842]],["parent/792",[393,3.756]],["name/793",[421,63.842]],["parent/793",[393,3.756]],["name/794",[422,68.95]],["parent/794",[393,3.756]],["name/795",[423,63.842]],["parent/795",[251,3.88]],["name/796",[25,36.498]],["parent/796",[424,4.694]],["name/797",[425,68.95]],["parent/797",[424,4.694]],["name/798",[101,55.957]],["parent/798",[424,4.694]],["name/799",[102,55.957]],["parent/799",[424,4.694]],["name/800",[426,68.95]],["parent/800",[424,4.694]],["name/801",[82,48.581]],["parent/801",[424,4.694]],["name/802",[427,68.95]],["parent/802",[424,4.694]],["name/803",[31,31.494]],["parent/803",[428,6.889]],["name/804",[429,68.95]],["parent/804",[424,4.694]],["name/805",[31,31.494]],["parent/805",[430,6.889]],["name/806",[431,68.95]],["parent/806",[424,4.694]],["name/807",[31,31.494]],["parent/807",[432,6.889]],["name/808",[433,68.95]],["parent/808",[424,4.694]],["name/809",[434,68.95]],["parent/809",[424,4.694]],["name/810",[275,63.842]],["parent/810",[424,4.694]],["name/811",[435,68.95]],["parent/811",[424,4.694]],["name/812",[436,68.95]],["parent/812",[251,3.88]],["name/813",[46,63.842]],["parent/813",[437,5.792]],["name/814",[290,60.477]],["parent/814",[437,5.792]],["name/815",[292,60.477]],["parent/815",[437,5.792]],["name/816",[438,63.842]],["parent/816",[437,5.792]],["name/817",[439,68.95]],["parent/817",[251,3.88]],["name/818",[31,31.494]],["parent/818",[440,6.889]],["name/819",[76,60.477]],["parent/819",[441,5.792]],["name/820",[101,55.957]],["parent/820",[441,5.792]],["name/821",[102,55.957]],["parent/821",[441,5.792]],["name/822",[442,68.95]],["parent/822",[441,5.792]],["name/823",[443,68.95]],["parent/823",[251,3.88]],["name/824",[27,35.05]],["parent/824",[444,5.156]],["name/825",[368,63.842]],["parent/825",[444,5.156]],["name/826",[370,63.842]],["parent/826",[444,5.156]],["name/827",[371,63.842]],["parent/827",[444,5.156]],["name/828",[366,63.842]],["parent/828",[444,5.156]],["name/829",[314,60.477]],["parent/829",[444,5.156]],["name/830",[369,63.842]],["parent/830",[444,5.156]],["name/831",[372,63.842]],["parent/831",[444,5.156]],["name/832",[31,31.494]],["parent/832",[445,6.889]],["name/833",[147,60.477]],["parent/833",[446,6.043]],["name/834",[183,60.477]],["parent/834",[446,6.043]],["name/835",[423,63.842]],["parent/835",[446,6.043]],["name/836",[447,68.95]],["parent/836",[251,3.88]],["name/837",[448,68.95]],["parent/837",[251,3.88]],["name/838",[31,31.494]],["parent/838",[449,6.889]],["name/839",[450,68.95]],["parent/839",[251,3.88]],["name/840",[31,31.494]],["parent/840",[451,6.889]],["name/841",[452,68.95]],["parent/841",[251,3.88]],["name/842",[31,31.494]],["parent/842",[453,6.889]],["name/843",[454,68.95]],["parent/843",[251,3.88]],["name/844",[31,31.494]],["parent/844",[455,6.889]],["name/845",[456,68.95]],["parent/845",[251,3.88]],["name/846",[295,47.747]],["parent/846",[457,4.854]],["name/847",[47,46.978]],["parent/847",[457,4.854]],["name/848",[319,60.477]],["parent/848",[457,4.854]],["name/849",[320,57.964]],["parent/849",[457,4.854]],["name/850",[25,36.498]],["parent/850",[457,4.854]],["name/851",[29,46.978]],["parent/851",[457,4.854]],["name/852",[27,35.05]],["parent/852",[457,4.854]],["name/853",[30,46.263]],["parent/853",[457,4.854]],["name/854",[31,31.494]],["parent/854",[458,6.889]],["name/855",[27,35.05]],["parent/855",[459,6.379]],["name/856",[34,46.263]],["parent/856",[459,6.379]],["name/857",[28,46.978]],["parent/857",[457,4.854]],["name/858",[80,47.747]],["parent/858",[457,4.854]],["name/859",[81,46.263]],["parent/859",[457,4.854]],["name/860",[460,68.95]],["parent/860",[251,3.88]],["name/861",[297,57.964]],["parent/861",[461,4.854]],["name/862",[462,68.95]],["parent/862",[461,4.854]],["name/863",[319,60.477]],["parent/863",[461,4.854]],["name/864",[146,51.604]],["parent/864",[461,4.854]],["name/865",[463,68.95]],["parent/865",[461,4.854]],["name/866",[464,68.95]],["parent/866",[461,4.854]],["name/867",[465,68.95]],["parent/867",[461,4.854]],["name/868",[466,68.95]],["parent/868",[461,4.854]],["name/869",[293,63.842]],["parent/869",[461,4.854]],["name/870",[467,68.95]],["parent/870",[461,4.854]],["name/871",[468,68.95]],["parent/871",[461,4.854]],["name/872",[469,68.95]],["parent/872",[251,3.88]],["name/873",[295,47.747]],["parent/873",[470,4.854]],["name/874",[471,68.95]],["parent/874",[470,4.854]],["name/875",[47,46.978]],["parent/875",[470,4.854]],["name/876",[320,57.964]],["parent/876",[470,4.854]],["name/877",[25,36.498]],["parent/877",[470,4.854]],["name/878",[29,46.978]],["parent/878",[470,4.854]],["name/879",[27,35.05]],["parent/879",[470,4.854]],["name/880",[30,46.263]],["parent/880",[470,4.854]],["name/881",[31,31.494]],["parent/881",[472,6.889]],["name/882",[27,35.05]],["parent/882",[473,6.379]],["name/883",[34,46.263]],["parent/883",[473,6.379]],["name/884",[28,46.978]],["parent/884",[470,4.854]],["name/885",[80,47.747]],["parent/885",[470,4.854]],["name/886",[81,46.263]],["parent/886",[470,4.854]],["name/887",[474,68.95]],["parent/887",[251,3.88]],["name/888",[295,47.747]],["parent/888",[475,4.379]],["name/889",[317,51.604]],["parent/889",[475,4.379]],["name/890",[29,46.978]],["parent/890",[475,4.379]],["name/891",[301,52.856]],["parent/891",[475,4.379]],["name/892",[82,48.581]],["parent/892",[475,4.379]],["name/893",[302,52.856]],["parent/893",[475,4.379]],["name/894",[298,52.856]],["parent/894",[475,4.379]],["name/895",[303,46.978]],["parent/895",[475,4.379]],["name/896",[304,50.492]],["parent/896",[475,4.379]],["name/897",[305,50.492]],["parent/897",[475,4.379]],["name/898",[201,50.492]],["parent/898",[475,4.379]],["name/899",[47,46.978]],["parent/899",[475,4.379]],["name/900",[25,36.498]],["parent/900",[475,4.379]],["name/901",[27,35.05]],["parent/901",[475,4.379]],["name/902",[30,46.263]],["parent/902",[475,4.379]],["name/903",[31,31.494]],["parent/903",[476,6.889]],["name/904",[27,35.05]],["parent/904",[477,6.379]],["name/905",[34,46.263]],["parent/905",[477,6.379]],["name/906",[28,46.978]],["parent/906",[475,4.379]],["name/907",[80,47.747]],["parent/907",[475,4.379]],["name/908",[81,46.263]],["parent/908",[475,4.379]],["name/909",[478,68.95]],["parent/909",[251,3.88]],["name/910",[479,68.95]],["parent/910",[480,6.889]],["name/911",[76,60.477]],["parent/911",[251,3.88]],["name/912",[29,46.978]],["parent/912",[481,4.435]],["name/913",[295,47.747]],["parent/913",[481,4.435]],["name/914",[301,52.856]],["parent/914",[481,4.435]],["name/915",[82,48.581]],["parent/915",[481,4.435]],["name/916",[302,52.856]],["parent/916",[481,4.435]],["name/917",[298,52.856]],["parent/917",[481,4.435]],["name/918",[303,46.978]],["parent/918",[481,4.435]],["name/919",[304,50.492]],["parent/919",[481,4.435]],["name/920",[305,50.492]],["parent/920",[481,4.435]],["name/921",[201,50.492]],["parent/921",[481,4.435]],["name/922",[47,46.978]],["parent/922",[481,4.435]],["name/923",[25,36.498]],["parent/923",[481,4.435]],["name/924",[27,35.05]],["parent/924",[481,4.435]],["name/925",[30,46.263]],["parent/925",[481,4.435]],["name/926",[31,31.494]],["parent/926",[482,6.889]],["name/927",[27,35.05]],["parent/927",[483,6.379]],["name/928",[34,46.263]],["parent/928",[483,6.379]],["name/929",[28,46.978]],["parent/929",[481,4.435]],["name/930",[80,47.747]],["parent/930",[481,4.435]],["name/931",[81,46.263]],["parent/931",[481,4.435]],["name/932",[251,38.827]],["parent/932",[251,3.88]],["name/933",[484,68.95]],["parent/933",[485,3.7]],["name/934",[6,41.87]],["parent/934",[485,3.7]],["name/935",[486,68.95]],["parent/935",[485,3.7]],["name/936",[57,45.596]],["parent/936",[485,3.7]],["name/937",[58,45.596]],["parent/937",[485,3.7]],["name/938",[67,47.747]],["parent/938",[485,3.7]],["name/939",[487,68.95]],["parent/939",[485,3.7]],["name/940",[488,68.95]],["parent/940",[485,3.7]],["name/941",[489,68.95]],["parent/941",[485,3.7]],["name/942",[69,49.491]],["parent/942",[485,3.7]],["name/943",[63,47.747]],["parent/943",[485,3.7]],["name/944",[490,68.95]],["parent/944",[485,3.7]],["name/945",[491,68.95]],["parent/945",[485,3.7]],["name/946",[71,47.747]],["parent/946",[485,3.7]],["name/947",[410,63.842]],["parent/947",[485,3.7]],["name/948",[409,63.842]],["parent/948",[485,3.7]],["name/949",[411,63.842]],["parent/949",[485,3.7]],["name/950",[420,63.842]],["parent/950",[485,3.7]],["name/951",[492,68.95]],["parent/951",[485,3.7]],["name/952",[421,63.842]],["parent/952",[485,3.7]],["name/953",[416,63.842]],["parent/953",[485,3.7]],["name/954",[403,63.842]],["parent/954",[485,3.7]],["name/955",[402,63.842]],["parent/955",[485,3.7]],["name/956",[413,60.477]],["parent/956",[485,3.7]],["name/957",[414,60.477]],["parent/957",[485,3.7]],["name/958",[493,68.95]],["parent/958",[485,3.7]],["name/959",[494,68.95]],["parent/959",[485,3.7]],["name/960",[495,68.95]],["parent/960",[485,3.7]],["name/961",[496,68.95]],["parent/961",[485,3.7]],["name/962",[497,68.95]],["parent/962",[485,3.7]],["name/963",[498,68.95]],["parent/963",[485,3.7]],["name/964",[499,68.95]],["parent/964",[485,3.7]],["name/965",[438,63.842]],["parent/965",[485,3.7]],["name/966",[500,68.95]],["parent/966",[485,3.7]],["name/967",[501,68.95]],["parent/967",[485,3.7]],["name/968",[502,68.95]],["parent/968",[485,3.7]],["name/969",[503,68.95]],["parent/969",[1,3.195]],["name/970",[303,46.978]],["parent/970",[504,4.945]],["name/971",[505,54.287]],["parent/971",[504,4.945]],["name/972",[506,46.978]],["parent/972",[504,4.945]],["name/973",[31,31.494]],["parent/973",[507,6.889]],["name/974",[508,46.978]],["parent/974",[509,5.792]],["name/975",[510,46.978]],["parent/975",[509,5.792]],["name/976",[511,46.978]],["parent/976",[509,5.792]],["name/977",[512,46.978]],["parent/977",[509,5.792]],["name/978",[139,55.957]],["parent/978",[504,4.945]],["name/979",[141,54.287]],["parent/979",[504,4.945]],["name/980",[142,55.957]],["parent/980",[504,4.945]],["name/981",[143,55.957]],["parent/981",[504,4.945]],["name/982",[25,36.498]],["parent/982",[504,4.945]],["name/983",[52,39.863]],["parent/983",[504,4.945]],["name/984",[53,41.018]],["parent/984",[504,4.945]],["name/985",[513,68.95]],["parent/985",[1,3.195]],["name/986",[303,46.978]],["parent/986",[514,5.424]],["name/987",[505,54.287]],["parent/987",[514,5.424]],["name/988",[506,46.978]],["parent/988",[514,5.424]],["name/989",[31,31.494]],["parent/989",[515,6.889]],["name/990",[508,46.978]],["parent/990",[516,5.792]],["name/991",[510,46.978]],["parent/991",[516,5.792]],["name/992",[511,46.978]],["parent/992",[516,5.792]],["name/993",[512,46.978]],["parent/993",[516,5.792]],["name/994",[25,36.498]],["parent/994",[514,5.424]],["name/995",[52,39.863]],["parent/995",[514,5.424]],["name/996",[53,41.018]],["parent/996",[514,5.424]],["name/997",[517,68.95]],["parent/997",[1,3.195]],["name/998",[506,46.978]],["parent/998",[518,3.647]],["name/999",[31,31.494]],["parent/999",[519,6.889]],["name/1000",[508,46.978]],["parent/1000",[520,5.792]],["name/1001",[510,46.978]],["parent/1001",[520,5.792]],["name/1002",[511,46.978]],["parent/1002",[520,5.792]],["name/1003",[512,46.978]],["parent/1003",[520,5.792]],["name/1004",[521,52.856]],["parent/1004",[518,3.647]],["name/1005",[522,52.856]],["parent/1005",[518,3.647]],["name/1006",[523,52.856]],["parent/1006",[518,3.647]],["name/1007",[524,52.856]],["parent/1007",[518,3.647]],["name/1008",[525,52.856]],["parent/1008",[518,3.647]],["name/1009",[526,52.856]],["parent/1009",[518,3.647]],["name/1010",[527,52.856]],["parent/1010",[518,3.647]],["name/1011",[528,52.856]],["parent/1011",[518,3.647]],["name/1012",[529,52.856]],["parent/1012",[518,3.647]],["name/1013",[530,52.856]],["parent/1013",[518,3.647]],["name/1014",[531,52.856]],["parent/1014",[518,3.647]],["name/1015",[532,52.856]],["parent/1015",[518,3.647]],["name/1016",[533,52.856]],["parent/1016",[518,3.647]],["name/1017",[534,52.856]],["parent/1017",[518,3.647]],["name/1018",[535,52.856]],["parent/1018",[518,3.647]],["name/1019",[6,41.87]],["parent/1019",[518,3.647]],["name/1020",[67,47.747]],["parent/1020",[518,3.647]],["name/1021",[57,45.596]],["parent/1021",[518,3.647]],["name/1022",[58,45.596]],["parent/1022",[518,3.647]],["name/1023",[68,50.492]],["parent/1023",[518,3.647]],["name/1024",[69,49.491]],["parent/1024",[518,3.647]],["name/1025",[70,50.492]],["parent/1025",[518,3.647]],["name/1026",[56,46.978]],["parent/1026",[518,3.647]],["name/1027",[71,47.747]],["parent/1027",[518,3.647]],["name/1028",[72,50.492]],["parent/1028",[518,3.647]],["name/1029",[73,48.581]],["parent/1029",[518,3.647]],["name/1030",[74,48.581]],["parent/1030",[518,3.647]],["name/1031",[75,50.492]],["parent/1031",[518,3.647]],["name/1032",[59,48.581]],["parent/1032",[518,3.647]],["name/1033",[25,36.498]],["parent/1033",[518,3.647]],["name/1034",[52,39.863]],["parent/1034",[518,3.647]],["name/1035",[53,41.018]],["parent/1035",[518,3.647]],["name/1036",[60,46.978]],["parent/1036",[518,3.647]],["name/1037",[61,46.978]],["parent/1037",[518,3.647]],["name/1038",[62,48.581]],["parent/1038",[518,3.647]],["name/1039",[63,47.747]],["parent/1039",[518,3.647]],["name/1040",[64,48.581]],["parent/1040",[518,3.647]],["name/1041",[536,68.95]],["parent/1041",[1,3.195]],["name/1042",[6,41.87]],["parent/1042",[537,3.596]],["name/1043",[70,50.492]],["parent/1043",[537,3.596]],["name/1044",[146,51.604]],["parent/1044",[537,3.596]],["name/1045",[71,47.747]],["parent/1045",[537,3.596]],["name/1046",[56,46.978]],["parent/1046",[537,3.596]],["name/1047",[538,55.957]],["parent/1047",[537,3.596]],["name/1048",[533,52.856]],["parent/1048",[537,3.596]],["name/1049",[506,46.978]],["parent/1049",[537,3.596]],["name/1050",[31,31.494]],["parent/1050",[539,6.889]],["name/1051",[508,46.978]],["parent/1051",[540,5.792]],["name/1052",[510,46.978]],["parent/1052",[540,5.792]],["name/1053",[511,46.978]],["parent/1053",[540,5.792]],["name/1054",[512,46.978]],["parent/1054",[540,5.792]],["name/1055",[521,52.856]],["parent/1055",[537,3.596]],["name/1056",[522,52.856]],["parent/1056",[537,3.596]],["name/1057",[523,52.856]],["parent/1057",[537,3.596]],["name/1058",[524,52.856]],["parent/1058",[537,3.596]],["name/1059",[525,52.856]],["parent/1059",[537,3.596]],["name/1060",[526,52.856]],["parent/1060",[537,3.596]],["name/1061",[527,52.856]],["parent/1061",[537,3.596]],["name/1062",[528,52.856]],["parent/1062",[537,3.596]],["name/1063",[529,52.856]],["parent/1063",[537,3.596]],["name/1064",[530,52.856]],["parent/1064",[537,3.596]],["name/1065",[531,52.856]],["parent/1065",[537,3.596]],["name/1066",[532,52.856]],["parent/1066",[537,3.596]],["name/1067",[534,52.856]],["parent/1067",[537,3.596]],["name/1068",[535,52.856]],["parent/1068",[537,3.596]],["name/1069",[67,47.747]],["parent/1069",[537,3.596]],["name/1070",[57,45.596]],["parent/1070",[537,3.596]],["name/1071",[58,45.596]],["parent/1071",[537,3.596]],["name/1072",[68,50.492]],["parent/1072",[537,3.596]],["name/1073",[69,49.491]],["parent/1073",[537,3.596]],["name/1074",[72,50.492]],["parent/1074",[537,3.596]],["name/1075",[73,48.581]],["parent/1075",[537,3.596]],["name/1076",[74,48.581]],["parent/1076",[537,3.596]],["name/1077",[75,50.492]],["parent/1077",[537,3.596]],["name/1078",[59,48.581]],["parent/1078",[537,3.596]],["name/1079",[25,36.498]],["parent/1079",[537,3.596]],["name/1080",[52,39.863]],["parent/1080",[537,3.596]],["name/1081",[53,41.018]],["parent/1081",[537,3.596]],["name/1082",[60,46.978]],["parent/1082",[537,3.596]],["name/1083",[61,46.978]],["parent/1083",[537,3.596]],["name/1084",[62,48.581]],["parent/1084",[537,3.596]],["name/1085",[63,47.747]],["parent/1085",[537,3.596]],["name/1086",[64,48.581]],["parent/1086",[537,3.596]],["name/1087",[541,68.95]],["parent/1087",[1,3.195]],["name/1088",[223,52.856]],["parent/1088",[542,4.556]],["name/1089",[543,60.477]],["parent/1089",[542,4.556]],["name/1090",[544,60.477]],["parent/1090",[542,4.556]],["name/1091",[545,60.477]],["parent/1091",[542,4.556]],["name/1092",[31,31.494]],["parent/1092",[546,6.889]],["name/1093",[547,60.477]],["parent/1093",[542,4.556]],["name/1094",[31,31.494]],["parent/1094",[548,6.889]],["name/1095",[303,46.978]],["parent/1095",[542,4.556]],["name/1096",[505,54.287]],["parent/1096",[542,4.556]],["name/1097",[506,46.978]],["parent/1097",[542,4.556]],["name/1098",[31,31.494]],["parent/1098",[549,6.889]],["name/1099",[508,46.978]],["parent/1099",[550,5.792]],["name/1100",[510,46.978]],["parent/1100",[550,5.792]],["name/1101",[511,46.978]],["parent/1101",[550,5.792]],["name/1102",[512,46.978]],["parent/1102",[550,5.792]],["name/1103",[139,55.957]],["parent/1103",[542,4.556]],["name/1104",[141,54.287]],["parent/1104",[542,4.556]],["name/1105",[142,55.957]],["parent/1105",[542,4.556]],["name/1106",[143,55.957]],["parent/1106",[542,4.556]],["name/1107",[25,36.498]],["parent/1107",[542,4.556]],["name/1108",[52,39.863]],["parent/1108",[542,4.556]],["name/1109",[53,41.018]],["parent/1109",[542,4.556]],["name/1110",[551,68.95]],["parent/1110",[1,3.195]],["name/1111",[6,41.87]],["parent/1111",[552,3.356]],["name/1112",[553,57.964]],["parent/1112",[552,3.356]],["name/1113",[554,57.964]],["parent/1113",[552,3.356]],["name/1114",[555,57.964]],["parent/1114",[552,3.356]],["name/1115",[556,57.964]],["parent/1115",[552,3.356]],["name/1116",[557,57.964]],["parent/1116",[552,3.356]],["name/1117",[558,57.964]],["parent/1117",[552,3.356]],["name/1118",[559,57.964]],["parent/1118",[552,3.356]],["name/1119",[560,57.964]],["parent/1119",[552,3.356]],["name/1120",[63,47.747]],["parent/1120",[552,3.356]],["name/1121",[561,57.964]],["parent/1121",[552,3.356]],["name/1122",[562,57.964]],["parent/1122",[552,3.356]],["name/1123",[563,57.964]],["parent/1123",[552,3.356]],["name/1124",[70,50.492]],["parent/1124",[552,3.356]],["name/1125",[146,51.604]],["parent/1125",[552,3.356]],["name/1126",[71,47.747]],["parent/1126",[552,3.356]],["name/1127",[56,46.978]],["parent/1127",[552,3.356]],["name/1128",[538,55.957]],["parent/1128",[552,3.356]],["name/1129",[533,52.856]],["parent/1129",[552,3.356]],["name/1130",[506,46.978]],["parent/1130",[552,3.356]],["name/1131",[31,31.494]],["parent/1131",[564,6.889]],["name/1132",[508,46.978]],["parent/1132",[565,5.792]],["name/1133",[510,46.978]],["parent/1133",[565,5.792]],["name/1134",[511,46.978]],["parent/1134",[565,5.792]],["name/1135",[512,46.978]],["parent/1135",[565,5.792]],["name/1136",[521,52.856]],["parent/1136",[552,3.356]],["name/1137",[522,52.856]],["parent/1137",[552,3.356]],["name/1138",[523,52.856]],["parent/1138",[552,3.356]],["name/1139",[524,52.856]],["parent/1139",[552,3.356]],["name/1140",[525,52.856]],["parent/1140",[552,3.356]],["name/1141",[526,52.856]],["parent/1141",[552,3.356]],["name/1142",[527,52.856]],["parent/1142",[552,3.356]],["name/1143",[528,52.856]],["parent/1143",[552,3.356]],["name/1144",[529,52.856]],["parent/1144",[552,3.356]],["name/1145",[530,52.856]],["parent/1145",[552,3.356]],["name/1146",[531,52.856]],["parent/1146",[552,3.356]],["name/1147",[532,52.856]],["parent/1147",[552,3.356]],["name/1148",[534,52.856]],["parent/1148",[552,3.356]],["name/1149",[535,52.856]],["parent/1149",[552,3.356]],["name/1150",[67,47.747]],["parent/1150",[552,3.356]],["name/1151",[57,45.596]],["parent/1151",[552,3.356]],["name/1152",[58,45.596]],["parent/1152",[552,3.356]],["name/1153",[68,50.492]],["parent/1153",[552,3.356]],["name/1154",[69,49.491]],["parent/1154",[552,3.356]],["name/1155",[72,50.492]],["parent/1155",[552,3.356]],["name/1156",[73,48.581]],["parent/1156",[552,3.356]],["name/1157",[74,48.581]],["parent/1157",[552,3.356]],["name/1158",[75,50.492]],["parent/1158",[552,3.356]],["name/1159",[59,48.581]],["parent/1159",[552,3.356]],["name/1160",[25,36.498]],["parent/1160",[552,3.356]],["name/1161",[52,39.863]],["parent/1161",[552,3.356]],["name/1162",[53,41.018]],["parent/1162",[552,3.356]],["name/1163",[60,46.978]],["parent/1163",[552,3.356]],["name/1164",[61,46.978]],["parent/1164",[552,3.356]],["name/1165",[62,48.581]],["parent/1165",[552,3.356]],["name/1166",[64,48.581]],["parent/1166",[552,3.356]],["name/1167",[566,68.95]],["parent/1167",[1,3.195]],["name/1168",[6,41.87]],["parent/1168",[567,3.356]],["name/1169",[553,57.964]],["parent/1169",[567,3.356]],["name/1170",[554,57.964]],["parent/1170",[567,3.356]],["name/1171",[555,57.964]],["parent/1171",[567,3.356]],["name/1172",[556,57.964]],["parent/1172",[567,3.356]],["name/1173",[557,57.964]],["parent/1173",[567,3.356]],["name/1174",[558,57.964]],["parent/1174",[567,3.356]],["name/1175",[559,57.964]],["parent/1175",[567,3.356]],["name/1176",[560,57.964]],["parent/1176",[567,3.356]],["name/1177",[63,47.747]],["parent/1177",[567,3.356]],["name/1178",[561,57.964]],["parent/1178",[567,3.356]],["name/1179",[562,57.964]],["parent/1179",[567,3.356]],["name/1180",[563,57.964]],["parent/1180",[567,3.356]],["name/1181",[70,50.492]],["parent/1181",[567,3.356]],["name/1182",[146,51.604]],["parent/1182",[567,3.356]],["name/1183",[71,47.747]],["parent/1183",[567,3.356]],["name/1184",[56,46.978]],["parent/1184",[567,3.356]],["name/1185",[538,55.957]],["parent/1185",[567,3.356]],["name/1186",[533,52.856]],["parent/1186",[567,3.356]],["name/1187",[506,46.978]],["parent/1187",[567,3.356]],["name/1188",[31,31.494]],["parent/1188",[568,6.889]],["name/1189",[508,46.978]],["parent/1189",[569,5.792]],["name/1190",[510,46.978]],["parent/1190",[569,5.792]],["name/1191",[511,46.978]],["parent/1191",[569,5.792]],["name/1192",[512,46.978]],["parent/1192",[569,5.792]],["name/1193",[521,52.856]],["parent/1193",[567,3.356]],["name/1194",[522,52.856]],["parent/1194",[567,3.356]],["name/1195",[523,52.856]],["parent/1195",[567,3.356]],["name/1196",[524,52.856]],["parent/1196",[567,3.356]],["name/1197",[525,52.856]],["parent/1197",[567,3.356]],["name/1198",[526,52.856]],["parent/1198",[567,3.356]],["name/1199",[527,52.856]],["parent/1199",[567,3.356]],["name/1200",[528,52.856]],["parent/1200",[567,3.356]],["name/1201",[529,52.856]],["parent/1201",[567,3.356]],["name/1202",[530,52.856]],["parent/1202",[567,3.356]],["name/1203",[531,52.856]],["parent/1203",[567,3.356]],["name/1204",[532,52.856]],["parent/1204",[567,3.356]],["name/1205",[534,52.856]],["parent/1205",[567,3.356]],["name/1206",[535,52.856]],["parent/1206",[567,3.356]],["name/1207",[67,47.747]],["parent/1207",[567,3.356]],["name/1208",[57,45.596]],["parent/1208",[567,3.356]],["name/1209",[58,45.596]],["parent/1209",[567,3.356]],["name/1210",[68,50.492]],["parent/1210",[567,3.356]],["name/1211",[69,49.491]],["parent/1211",[567,3.356]],["name/1212",[72,50.492]],["parent/1212",[567,3.356]],["name/1213",[73,48.581]],["parent/1213",[567,3.356]],["name/1214",[74,48.581]],["parent/1214",[567,3.356]],["name/1215",[75,50.492]],["parent/1215",[567,3.356]],["name/1216",[59,48.581]],["parent/1216",[567,3.356]],["name/1217",[25,36.498]],["parent/1217",[567,3.356]],["name/1218",[52,39.863]],["parent/1218",[567,3.356]],["name/1219",[53,41.018]],["parent/1219",[567,3.356]],["name/1220",[60,46.978]],["parent/1220",[567,3.356]],["name/1221",[61,46.978]],["parent/1221",[567,3.356]],["name/1222",[62,48.581]],["parent/1222",[567,3.356]],["name/1223",[64,48.581]],["parent/1223",[567,3.356]],["name/1224",[570,68.95]],["parent/1224",[1,3.195]],["name/1225",[52,39.863]],["parent/1225",[571,5.424]],["name/1226",[53,41.018]],["parent/1226",[571,5.424]],["name/1227",[303,46.978]],["parent/1227",[571,5.424]],["name/1228",[505,54.287]],["parent/1228",[571,5.424]],["name/1229",[506,46.978]],["parent/1229",[571,5.424]],["name/1230",[31,31.494]],["parent/1230",[572,6.889]],["name/1231",[508,46.978]],["parent/1231",[573,5.792]],["name/1232",[510,46.978]],["parent/1232",[573,5.792]],["name/1233",[511,46.978]],["parent/1233",[573,5.792]],["name/1234",[512,46.978]],["parent/1234",[573,5.792]],["name/1235",[25,36.498]],["parent/1235",[571,5.424]],["name/1236",[574,68.95]],["parent/1236",[1,3.195]],["name/1237",[6,41.87]],["parent/1237",[575,3.647]],["name/1238",[506,46.978]],["parent/1238",[575,3.647]],["name/1239",[31,31.494]],["parent/1239",[576,6.889]],["name/1240",[508,46.978]],["parent/1240",[577,5.792]],["name/1241",[510,46.978]],["parent/1241",[577,5.792]],["name/1242",[511,46.978]],["parent/1242",[577,5.792]],["name/1243",[512,46.978]],["parent/1243",[577,5.792]],["name/1244",[521,52.856]],["parent/1244",[575,3.647]],["name/1245",[522,52.856]],["parent/1245",[575,3.647]],["name/1246",[523,52.856]],["parent/1246",[575,3.647]],["name/1247",[524,52.856]],["parent/1247",[575,3.647]],["name/1248",[525,52.856]],["parent/1248",[575,3.647]],["name/1249",[526,52.856]],["parent/1249",[575,3.647]],["name/1250",[527,52.856]],["parent/1250",[575,3.647]],["name/1251",[528,52.856]],["parent/1251",[575,3.647]],["name/1252",[529,52.856]],["parent/1252",[575,3.647]],["name/1253",[530,52.856]],["parent/1253",[575,3.647]],["name/1254",[531,52.856]],["parent/1254",[575,3.647]],["name/1255",[532,52.856]],["parent/1255",[575,3.647]],["name/1256",[533,52.856]],["parent/1256",[575,3.647]],["name/1257",[534,52.856]],["parent/1257",[575,3.647]],["name/1258",[535,52.856]],["parent/1258",[575,3.647]],["name/1259",[67,47.747]],["parent/1259",[575,3.647]],["name/1260",[57,45.596]],["parent/1260",[575,3.647]],["name/1261",[58,45.596]],["parent/1261",[575,3.647]],["name/1262",[68,50.492]],["parent/1262",[575,3.647]],["name/1263",[69,49.491]],["parent/1263",[575,3.647]],["name/1264",[70,50.492]],["parent/1264",[575,3.647]],["name/1265",[56,46.978]],["parent/1265",[575,3.647]],["name/1266",[71,47.747]],["parent/1266",[575,3.647]],["name/1267",[72,50.492]],["parent/1267",[575,3.647]],["name/1268",[73,48.581]],["parent/1268",[575,3.647]],["name/1269",[74,48.581]],["parent/1269",[575,3.647]],["name/1270",[75,50.492]],["parent/1270",[575,3.647]],["name/1271",[59,48.581]],["parent/1271",[575,3.647]],["name/1272",[25,36.498]],["parent/1272",[575,3.647]],["name/1273",[52,39.863]],["parent/1273",[575,3.647]],["name/1274",[53,41.018]],["parent/1274",[575,3.647]],["name/1275",[60,46.978]],["parent/1275",[575,3.647]],["name/1276",[61,46.978]],["parent/1276",[575,3.647]],["name/1277",[62,48.581]],["parent/1277",[575,3.647]],["name/1278",[63,47.747]],["parent/1278",[575,3.647]],["name/1279",[64,48.581]],["parent/1279",[575,3.647]],["name/1280",[578,68.95]],["parent/1280",[1,3.195]],["name/1281",[579,68.95]],["parent/1281",[580,4.276]],["name/1282",[581,63.842]],["parent/1282",[580,4.276]],["name/1283",[31,31.494]],["parent/1283",[582,6.889]],["name/1284",[583,68.95]],["parent/1284",[584,6.889]],["name/1285",[585,63.842]],["parent/1285",[580,4.276]],["name/1286",[586,63.842]],["parent/1286",[580,4.276]],["name/1287",[223,52.856]],["parent/1287",[580,4.276]],["name/1288",[587,63.842]],["parent/1288",[580,4.276]],["name/1289",[31,31.494]],["parent/1289",[588,6.889]],["name/1290",[543,60.477]],["parent/1290",[580,4.276]],["name/1291",[544,60.477]],["parent/1291",[580,4.276]],["name/1292",[545,60.477]],["parent/1292",[580,4.276]],["name/1293",[31,31.494]],["parent/1293",[589,6.889]],["name/1294",[547,60.477]],["parent/1294",[580,4.276]],["name/1295",[31,31.494]],["parent/1295",[590,6.889]],["name/1296",[303,46.978]],["parent/1296",[580,4.276]],["name/1297",[505,54.287]],["parent/1297",[580,4.276]],["name/1298",[506,46.978]],["parent/1298",[580,4.276]],["name/1299",[31,31.494]],["parent/1299",[591,6.889]],["name/1300",[508,46.978]],["parent/1300",[592,5.792]],["name/1301",[510,46.978]],["parent/1301",[592,5.792]],["name/1302",[511,46.978]],["parent/1302",[592,5.792]],["name/1303",[512,46.978]],["parent/1303",[592,5.792]],["name/1304",[139,55.957]],["parent/1304",[580,4.276]],["name/1305",[141,54.287]],["parent/1305",[580,4.276]],["name/1306",[142,55.957]],["parent/1306",[580,4.276]],["name/1307",[143,55.957]],["parent/1307",[580,4.276]],["name/1308",[25,36.498]],["parent/1308",[580,4.276]],["name/1309",[52,39.863]],["parent/1309",[580,4.276]],["name/1310",[53,41.018]],["parent/1310",[580,4.276]],["name/1311",[593,68.95]],["parent/1311",[1,3.195]],["name/1312",[223,52.856]],["parent/1312",[594,3.3]],["name/1313",[6,41.87]],["parent/1313",[594,3.3]],["name/1314",[63,47.747]],["parent/1314",[594,3.3]],["name/1315",[538,55.957]],["parent/1315",[594,3.3]],["name/1316",[562,57.964]],["parent/1316",[594,3.3]],["name/1317",[563,57.964]],["parent/1317",[594,3.3]],["name/1318",[561,57.964]],["parent/1318",[594,3.3]],["name/1319",[595,63.842]],["parent/1319",[594,3.3]],["name/1320",[596,63.842]],["parent/1320",[594,3.3]],["name/1321",[553,57.964]],["parent/1321",[594,3.3]],["name/1322",[554,57.964]],["parent/1322",[594,3.3]],["name/1323",[555,57.964]],["parent/1323",[594,3.3]],["name/1324",[556,57.964]],["parent/1324",[594,3.3]],["name/1325",[557,57.964]],["parent/1325",[594,3.3]],["name/1326",[558,57.964]],["parent/1326",[594,3.3]],["name/1327",[559,57.964]],["parent/1327",[594,3.3]],["name/1328",[560,57.964]],["parent/1328",[594,3.3]],["name/1329",[70,50.492]],["parent/1329",[594,3.3]],["name/1330",[146,51.604]],["parent/1330",[594,3.3]],["name/1331",[71,47.747]],["parent/1331",[594,3.3]],["name/1332",[56,46.978]],["parent/1332",[594,3.3]],["name/1333",[533,52.856]],["parent/1333",[594,3.3]],["name/1334",[506,46.978]],["parent/1334",[594,3.3]],["name/1335",[31,31.494]],["parent/1335",[597,6.889]],["name/1336",[508,46.978]],["parent/1336",[598,5.792]],["name/1337",[510,46.978]],["parent/1337",[598,5.792]],["name/1338",[511,46.978]],["parent/1338",[598,5.792]],["name/1339",[512,46.978]],["parent/1339",[598,5.792]],["name/1340",[521,52.856]],["parent/1340",[594,3.3]],["name/1341",[522,52.856]],["parent/1341",[594,3.3]],["name/1342",[523,52.856]],["parent/1342",[594,3.3]],["name/1343",[524,52.856]],["parent/1343",[594,3.3]],["name/1344",[525,52.856]],["parent/1344",[594,3.3]],["name/1345",[526,52.856]],["parent/1345",[594,3.3]],["name/1346",[527,52.856]],["parent/1346",[594,3.3]],["name/1347",[528,52.856]],["parent/1347",[594,3.3]],["name/1348",[529,52.856]],["parent/1348",[594,3.3]],["name/1349",[530,52.856]],["parent/1349",[594,3.3]],["name/1350",[531,52.856]],["parent/1350",[594,3.3]],["name/1351",[532,52.856]],["parent/1351",[594,3.3]],["name/1352",[534,52.856]],["parent/1352",[594,3.3]],["name/1353",[535,52.856]],["parent/1353",[594,3.3]],["name/1354",[67,47.747]],["parent/1354",[594,3.3]],["name/1355",[57,45.596]],["parent/1355",[594,3.3]],["name/1356",[58,45.596]],["parent/1356",[594,3.3]],["name/1357",[68,50.492]],["parent/1357",[594,3.3]],["name/1358",[69,49.491]],["parent/1358",[594,3.3]],["name/1359",[72,50.492]],["parent/1359",[594,3.3]],["name/1360",[73,48.581]],["parent/1360",[594,3.3]],["name/1361",[74,48.581]],["parent/1361",[594,3.3]],["name/1362",[75,50.492]],["parent/1362",[594,3.3]],["name/1363",[59,48.581]],["parent/1363",[594,3.3]],["name/1364",[25,36.498]],["parent/1364",[594,3.3]],["name/1365",[52,39.863]],["parent/1365",[594,3.3]],["name/1366",[53,41.018]],["parent/1366",[594,3.3]],["name/1367",[60,46.978]],["parent/1367",[594,3.3]],["name/1368",[61,46.978]],["parent/1368",[594,3.3]],["name/1369",[62,48.581]],["parent/1369",[594,3.3]],["name/1370",[64,48.581]],["parent/1370",[594,3.3]],["name/1371",[599,68.95]],["parent/1371",[1,3.195]],["name/1372",[147,60.477]],["parent/1372",[600,4.229]],["name/1373",[601,68.95]],["parent/1373",[600,4.229]],["name/1374",[581,63.842]],["parent/1374",[600,4.229]],["name/1375",[31,31.494]],["parent/1375",[602,6.889]],["name/1376",[603,68.95]],["parent/1376",[604,6.379]],["name/1377",[605,68.95]],["parent/1377",[604,6.379]],["name/1378",[585,63.842]],["parent/1378",[600,4.229]],["name/1379",[586,63.842]],["parent/1379",[600,4.229]],["name/1380",[223,52.856]],["parent/1380",[600,4.229]],["name/1381",[587,63.842]],["parent/1381",[600,4.229]],["name/1382",[31,31.494]],["parent/1382",[606,6.889]],["name/1383",[543,60.477]],["parent/1383",[600,4.229]],["name/1384",[544,60.477]],["parent/1384",[600,4.229]],["name/1385",[545,60.477]],["parent/1385",[600,4.229]],["name/1386",[31,31.494]],["parent/1386",[607,6.889]],["name/1387",[547,60.477]],["parent/1387",[600,4.229]],["name/1388",[31,31.494]],["parent/1388",[608,6.889]],["name/1389",[303,46.978]],["parent/1389",[600,4.229]],["name/1390",[505,54.287]],["parent/1390",[600,4.229]],["name/1391",[506,46.978]],["parent/1391",[600,4.229]],["name/1392",[31,31.494]],["parent/1392",[609,6.889]],["name/1393",[508,46.978]],["parent/1393",[610,5.792]],["name/1394",[510,46.978]],["parent/1394",[610,5.792]],["name/1395",[511,46.978]],["parent/1395",[610,5.792]],["name/1396",[512,46.978]],["parent/1396",[610,5.792]],["name/1397",[139,55.957]],["parent/1397",[600,4.229]],["name/1398",[141,54.287]],["parent/1398",[600,4.229]],["name/1399",[142,55.957]],["parent/1399",[600,4.229]],["name/1400",[143,55.957]],["parent/1400",[600,4.229]],["name/1401",[25,36.498]],["parent/1401",[600,4.229]],["name/1402",[52,39.863]],["parent/1402",[600,4.229]],["name/1403",[53,41.018]],["parent/1403",[600,4.229]],["name/1404",[611,68.95]],["parent/1404",[1,3.195]],["name/1405",[6,41.87]],["parent/1405",[612,3.3]],["name/1406",[63,47.747]],["parent/1406",[612,3.3]],["name/1407",[223,52.856]],["parent/1407",[612,3.3]],["name/1408",[538,55.957]],["parent/1408",[612,3.3]],["name/1409",[562,57.964]],["parent/1409",[612,3.3]],["name/1410",[563,57.964]],["parent/1410",[612,3.3]],["name/1411",[561,57.964]],["parent/1411",[612,3.3]],["name/1412",[595,63.842]],["parent/1412",[612,3.3]],["name/1413",[596,63.842]],["parent/1413",[612,3.3]],["name/1414",[553,57.964]],["parent/1414",[612,3.3]],["name/1415",[554,57.964]],["parent/1415",[612,3.3]],["name/1416",[555,57.964]],["parent/1416",[612,3.3]],["name/1417",[556,57.964]],["parent/1417",[612,3.3]],["name/1418",[557,57.964]],["parent/1418",[612,3.3]],["name/1419",[558,57.964]],["parent/1419",[612,3.3]],["name/1420",[559,57.964]],["parent/1420",[612,3.3]],["name/1421",[560,57.964]],["parent/1421",[612,3.3]],["name/1422",[70,50.492]],["parent/1422",[612,3.3]],["name/1423",[146,51.604]],["parent/1423",[612,3.3]],["name/1424",[71,47.747]],["parent/1424",[612,3.3]],["name/1425",[56,46.978]],["parent/1425",[612,3.3]],["name/1426",[533,52.856]],["parent/1426",[612,3.3]],["name/1427",[506,46.978]],["parent/1427",[612,3.3]],["name/1428",[31,31.494]],["parent/1428",[613,6.889]],["name/1429",[508,46.978]],["parent/1429",[614,5.792]],["name/1430",[510,46.978]],["parent/1430",[614,5.792]],["name/1431",[511,46.978]],["parent/1431",[614,5.792]],["name/1432",[512,46.978]],["parent/1432",[614,5.792]],["name/1433",[521,52.856]],["parent/1433",[612,3.3]],["name/1434",[522,52.856]],["parent/1434",[612,3.3]],["name/1435",[523,52.856]],["parent/1435",[612,3.3]],["name/1436",[524,52.856]],["parent/1436",[612,3.3]],["name/1437",[525,52.856]],["parent/1437",[612,3.3]],["name/1438",[526,52.856]],["parent/1438",[612,3.3]],["name/1439",[527,52.856]],["parent/1439",[612,3.3]],["name/1440",[528,52.856]],["parent/1440",[612,3.3]],["name/1441",[529,52.856]],["parent/1441",[612,3.3]],["name/1442",[530,52.856]],["parent/1442",[612,3.3]],["name/1443",[531,52.856]],["parent/1443",[612,3.3]],["name/1444",[532,52.856]],["parent/1444",[612,3.3]],["name/1445",[534,52.856]],["parent/1445",[612,3.3]],["name/1446",[535,52.856]],["parent/1446",[612,3.3]],["name/1447",[67,47.747]],["parent/1447",[612,3.3]],["name/1448",[57,45.596]],["parent/1448",[612,3.3]],["name/1449",[58,45.596]],["parent/1449",[612,3.3]],["name/1450",[68,50.492]],["parent/1450",[612,3.3]],["name/1451",[69,49.491]],["parent/1451",[612,3.3]],["name/1452",[72,50.492]],["parent/1452",[612,3.3]],["name/1453",[73,48.581]],["parent/1453",[612,3.3]],["name/1454",[74,48.581]],["parent/1454",[612,3.3]],["name/1455",[75,50.492]],["parent/1455",[612,3.3]],["name/1456",[59,48.581]],["parent/1456",[612,3.3]],["name/1457",[25,36.498]],["parent/1457",[612,3.3]],["name/1458",[52,39.863]],["parent/1458",[612,3.3]],["name/1459",[53,41.018]],["parent/1459",[612,3.3]],["name/1460",[60,46.978]],["parent/1460",[612,3.3]],["name/1461",[61,46.978]],["parent/1461",[612,3.3]],["name/1462",[62,48.581]],["parent/1462",[612,3.3]],["name/1463",[64,48.581]],["parent/1463",[612,3.3]],["name/1464",[615,68.95]],["parent/1464",[1,3.195]],["name/1465",[31,31.494]],["parent/1465",[616,6.889]],["name/1466",[617,68.95]],["parent/1466",[618,4.771]],["name/1467",[619,68.95]],["parent/1467",[618,4.771]],["name/1468",[620,68.95]],["parent/1468",[618,4.771]],["name/1469",[621,68.95]],["parent/1469",[618,4.771]],["name/1470",[622,68.95]],["parent/1470",[618,4.771]],["name/1471",[413,60.477]],["parent/1471",[618,4.771]],["name/1472",[414,60.477]],["parent/1472",[618,4.771]],["name/1473",[623,68.95]],["parent/1473",[618,4.771]],["name/1474",[624,68.95]],["parent/1474",[618,4.771]],["name/1475",[625,68.95]],["parent/1475",[618,4.771]],["name/1476",[626,68.95]],["parent/1476",[618,4.771]],["name/1477",[627,68.95]],["parent/1477",[618,4.771]],["name/1478",[628,68.95]],["parent/1478",[1,3.195]],["name/1479",[52,39.863]],["parent/1479",[629,6.889]]],"invertedIndex":[["__type",{"_index":31,"name":{"29":{},"95":{},"142":{},"144":{},"146":{},"148":{},"261":{},"319":{},"321":{},"398":{},"410":{},"447":{},"513":{},"523":{},"525":{},"549":{},"558":{},"567":{},"603":{},"615":{},"650":{},"673":{},"698":{},"722":{},"739":{},"751":{},"803":{},"805":{},"807":{},"818":{},"832":{},"838":{},"840":{},"842":{},"844":{},"854":{},"881":{},"903":{},"926":{},"973":{},"989":{},"999":{},"1050":{},"1092":{},"1094":{},"1098":{},"1131":{},"1188":{},"1230":{},"1239":{},"1283":{},"1289":{},"1293":{},"1295":{},"1299":{},"1335":{},"1375":{},"1382":{},"1386":{},"1388":{},"1392":{},"1428":{},"1465":{}},"parent":{}}],["access_token",{"_index":583,"name":{"1284":{}},"parent":{}}],["active",{"_index":486,"name":{"935":{}},"parent":{}}],["add",{"_index":46,"name":{"45":{},"813":{}},"parent":{}}],["addeventlistener",{"_index":57,"name":{"59":{},"70":{},"172":{},"201":{},"427":{},"484":{},"765":{},"936":{},"1021":{},"1070":{},"1151":{},"1208":{},"1260":{},"1355":{},"1448":{}},"parent":{}}],["addfeature",{"_index":67,"name":{"69":{},"171":{},"204":{},"430":{},"938":{},"1020":{},"1069":{},"1150":{},"1207":{},"1259":{},"1354":{},"1447":{}},"parent":{}}],["addhole",{"_index":362,"name":{"707":{}},"parent":{}}],["addhook",{"_index":487,"name":{"939":{}},"parent":{}}],["addlayer",{"_index":410,"name":{"782":{},"947":{}},"parent":{}}],["addobserver",{"_index":420,"name":{"792":{},"950":{}},"parent":{}}],["address",{"_index":350,"name":{"656":{}},"parent":{}}],["addshape",{"_index":297,"name":{"533":{},"630":{},"706":{},"861":{}},"parent":{}}],["alignment",{"_index":107,"name":{"126":{},"247":{},"272":{},"377":{}},"parent":{}}],["all",{"_index":68,"name":{"72":{},"174":{},"1023":{},"1072":{},"1153":{},"1210":{},"1262":{},"1357":{},"1450":{}},"parent":{}}],["allowoverlap",{"_index":435,"name":{"811":{}},"parent":{}}],["alt2z",{"_index":626,"name":{"1476":{}},"parent":{}}],["altitude",{"_index":17,"name":{"15":{},"137":{},"233":{},"253":{},"280":{},"295":{},"347":{},"360":{},"386":{}},"parent":{}}],["ambient",{"_index":168,"name":{"298":{}},"parent":{}}],["anchor",{"_index":112,"name":{"131":{},"248":{},"276":{},"382":{}},"parent":{}}],["apikey",{"_index":603,"name":{"1376":{}},"parent":{}}],["app_code",{"_index":238,"name":{"461":{}},"parent":{}}],["app_id",{"_index":236,"name":{"460":{}},"parent":{}}],["area",{"_index":360,"name":{"704":{}},"parent":{}}],["areashape",{"_index":469,"name":{"872":{}},"parent":{}}],["assign",{"_index":124,"name":{"143":{}},"parent":{}}],["atlas",{"_index":161,"name":{"260":{}},"parent":{}}],["backgroundcolor",{"_index":120,"name":{"140":{},"745":{}},"parent":{}}],["bbox",{"_index":28,"name":{"26":{},"98":{},"552":{},"581":{},"606":{},"653":{},"676":{},"701":{},"725":{},"857":{},"884":{},"906":{},"929":{}},"parent":{}}],["behavior",{"_index":317,"name":{"570":{},"586":{},"631":{},"660":{},"685":{},"708":{},"750":{},"889":{}},"parent":{}}],["bounds",{"_index":44,"name":{"43":{}},"parent":{}}],["boxstyle",{"_index":155,"name":{"219":{}},"parent":{}}],["build",{"_index":628,"name":{"1478":{}},"parent":{}}],["button",{"_index":314,"name":{"565":{},"733":{},"829":{}},"parent":{}}],["cancel",{"_index":146,"name":{"169":{},"480":{},"864":{},"1044":{},"1125":{},"1182":{},"1330":{},"1423":{}},"parent":{}}],["catalog",{"_index":601,"name":{"1373":{}},"parent":{}}],["center",{"_index":378,"name":{"741":{}},"parent":{}}],["checkcrossings",{"_index":343,"name":{"627":{}},"parent":{}}],["checklinespace",{"_index":113,"name":{"132":{},"249":{},"277":{},"383":{}},"parent":{}}],["circlestyle",{"_index":157,"name":{"235":{}},"parent":{}}],["class",{"_index":295,"name":{"532":{},"556":{},"585":{},"610":{},"625":{},"657":{},"680":{},"705":{},"846":{},"873":{},"888":{},"913":{}},"parent":{}}],["clear",{"_index":59,"name":{"61":{},"81":{},"182":{},"479":{},"1032":{},"1078":{},"1159":{},"1216":{},"1271":{},"1363":{},"1456":{}},"parent":{}}],["clearfeatureselection",{"_index":491,"name":{"945":{}},"parent":{}}],["clip",{"_index":586,"name":{"1286":{},"1379":{}},"parent":{}}],["collide",{"_index":114,"name":{"133":{},"250":{},"278":{},"384":{}},"parent":{}}],["collisiongroup",{"_index":115,"name":{"134":{},"251":{},"279":{},"385":{}},"parent":{}}],["color",{"_index":130,"name":{"149":{},"315":{}},"parent":{}}],["commit",{"_index":538,"name":{"1047":{},"1128":{},"1185":{},"1315":{},"1408":{}},"parent":{}}],["config",{"_index":63,"name":{"65":{},"88":{},"189":{},"489":{},"943":{},"1039":{},"1085":{},"1120":{},"1177":{},"1278":{},"1314":{},"1406":{}},"parent":{}}],["connect",{"_index":340,"name":{"619":{}},"parent":{}}],["constructor",{"_index":6,"name":{"5":{},"11":{},"16":{},"22":{},"58":{},"68":{},"168":{},"196":{},"199":{},"424":{},"451":{},"465":{},"477":{},"761":{},"934":{},"1019":{},"1042":{},"1111":{},"1168":{},"1237":{},"1313":{},"1405":{}},"parent":{}}],["container",{"_index":484,"name":{"933":{}},"parent":{}}],["coord",{"_index":298,"name":{"534":{},"626":{},"658":{},"683":{},"709":{},"894":{},"917":{}},"parent":{}}],["coordinates",{"_index":34,"name":{"31":{},"97":{},"551":{},"569":{},"605":{},"617":{},"652":{},"675":{},"700":{},"724":{},"856":{},"883":{},"905":{},"928":{}},"parent":{}}],["coordinates.update",{"_index":512,"name":{"977":{},"993":{},"1003":{},"1054":{},"1102":{},"1135":{},"1192":{},"1234":{},"1243":{},"1303":{},"1339":{},"1396":{},"1432":{}},"parent":{}}],["coordinatesupdatehook",{"_index":454,"name":{"843":{}},"parent":{}}],["core",{"_index":1,"name":{"1":{}},"parent":{"2":{},"6":{},"12":{},"17":{},"23":{},"32":{},"35":{},"36":{},"37":{},"49":{},"53":{},"67":{},"90":{},"101":{},"139":{},"145":{},"147":{},"149":{},"150":{},"159":{},"167":{},"191":{},"197":{},"219":{},"235":{},"255":{},"282":{},"297":{},"310":{},"316":{},"323":{},"333":{},"350":{},"362":{},"388":{},"395":{},"399":{},"408":{},"423":{},"445":{},"459":{},"464":{},"469":{},"476":{},"969":{},"985":{},"997":{},"1041":{},"1087":{},"1110":{},"1167":{},"1224":{},"1236":{},"1280":{},"1311":{},"1371":{},"1404":{},"1464":{},"1478":{}}}],["core.boxstyle",{"_index":156,"name":{},"parent":{"220":{},"221":{},"222":{},"223":{},"224":{},"225":{},"226":{},"227":{},"228":{},"229":{},"230":{},"231":{},"232":{},"233":{},"234":{}}}],["core.build",{"_index":629,"name":{},"parent":{"1479":{}}}],["core.circlestyle",{"_index":158,"name":{},"parent":{"236":{},"237":{},"238":{},"239":{},"240":{},"241":{},"242":{},"243":{},"244":{},"245":{},"246":{},"247":{},"248":{},"249":{},"250":{},"251":{},"252":{},"253":{},"254":{}}}],["core.customlayer",{"_index":229,"name":{},"parent":{"446":{},"451":{},"452":{},"453":{},"454":{},"455":{},"456":{},"457":{},"458":{}}}],["core.customlayer.renderoptions",{"_index":230,"name":{},"parent":{"447":{}}}],["core.customlayer.renderoptions.__type",{"_index":231,"name":{},"parent":{"448":{},"449":{},"450":{}}}],["core.editablefeatureprovider",{"_index":518,"name":{},"parent":{"998":{},"1004":{},"1005":{},"1006":{},"1007":{},"1008":{},"1009":{},"1010":{},"1011":{},"1012":{},"1013":{},"1014":{},"1015":{},"1016":{},"1017":{},"1018":{},"1019":{},"1020":{},"1021":{},"1022":{},"1023":{},"1024":{},"1025":{},"1026":{},"1027":{},"1028":{},"1029":{},"1030":{},"1031":{},"1032":{},"1033":{},"1034":{},"1035":{},"1036":{},"1037":{},"1038":{},"1039":{},"1040":{}}}],["core.editablefeatureprovider.hooks",{"_index":519,"name":{},"parent":{"999":{}}}],["core.editablefeatureprovider.hooks.__type",{"_index":520,"name":{},"parent":{"1000":{},"1001":{},"1002":{},"1003":{}}}],["core.editablefeatureprovideroptions",{"_index":514,"name":{},"parent":{"986":{},"987":{},"988":{},"994":{},"995":{},"996":{}}}],["core.editablefeatureprovideroptions.hooks",{"_index":515,"name":{},"parent":{"989":{}}}],["core.editablefeatureprovideroptions.hooks.__type",{"_index":516,"name":{},"parent":{"990":{},"991":{},"992":{},"993":{}}}],["core.editableremotetileprovider",{"_index":537,"name":{},"parent":{"1042":{},"1043":{},"1044":{},"1045":{},"1046":{},"1047":{},"1048":{},"1049":{},"1055":{},"1056":{},"1057":{},"1058":{},"1059":{},"1060":{},"1061":{},"1062":{},"1063":{},"1064":{},"1065":{},"1066":{},"1067":{},"1068":{},"1069":{},"1070":{},"1071":{},"1072":{},"1073":{},"1074":{},"1075":{},"1076":{},"1077":{},"1078":{},"1079":{},"1080":{},"1081":{},"1082":{},"1083":{},"1084":{},"1085":{},"1086":{}}}],["core.editableremotetileprovider.hooks",{"_index":539,"name":{},"parent":{"1050":{}}}],["core.editableremotetileprovider.hooks.__type",{"_index":540,"name":{},"parent":{"1051":{},"1052":{},"1053":{},"1054":{}}}],["core.editableremotetileprovideroptions",{"_index":504,"name":{},"parent":{"970":{},"971":{},"972":{},"978":{},"979":{},"980":{},"981":{},"982":{},"983":{},"984":{}}}],["core.editableremotetileprovideroptions.hooks",{"_index":507,"name":{},"parent":{"973":{}}}],["core.editableremotetileprovideroptions.hooks.__type",{"_index":509,"name":{},"parent":{"974":{},"975":{},"976":{},"977":{}}}],["core.feature",{"_index":77,"name":{},"parent":{"91":{},"92":{},"93":{},"94":{},"98":{},"99":{},"100":{}}}],["core.feature.geometry",{"_index":78,"name":{},"parent":{"95":{}}}],["core.feature.geometry.__type",{"_index":79,"name":{},"parent":{"96":{},"97":{}}}],["core.featureprovider",{"_index":66,"name":{},"parent":{"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{}}}],["core.geocoder",{"_index":242,"name":{},"parent":{"465":{},"466":{},"467":{},"468":{}}}],["core.geocoderoptions",{"_index":237,"name":{},"parent":{"460":{},"461":{},"462":{},"463":{}}}],["core.geojsonfeature",{"_index":26,"name":{},"parent":{"24":{},"25":{},"26":{},"27":{},"28":{}}}],["core.geojsonfeature.geometry",{"_index":32,"name":{},"parent":{"29":{}}}],["core.geojsonfeature.geometry.__type",{"_index":33,"name":{},"parent":{"30":{},"31":{}}}],["core.geojsonfeaturecollection",{"_index":36,"name":{},"parent":{"33":{},"34":{}}}],["core.geojsonprovider",{"_index":567,"name":{},"parent":{"1168":{},"1169":{},"1170":{},"1171":{},"1172":{},"1173":{},"1174":{},"1175":{},"1176":{},"1177":{},"1178":{},"1179":{},"1180":{},"1181":{},"1182":{},"1183":{},"1184":{},"1185":{},"1186":{},"1187":{},"1193":{},"1194":{},"1195":{},"1196":{},"1197":{},"1198":{},"1199":{},"1200":{},"1201":{},"1202":{},"1203":{},"1204":{},"1205":{},"1206":{},"1207":{},"1208":{},"1209":{},"1210":{},"1211":{},"1212":{},"1213":{},"1214":{},"1215":{},"1216":{},"1217":{},"1218":{},"1219":{},"1220":{},"1221":{},"1222":{},"1223":{}}}],["core.geojsonprovider.hooks",{"_index":568,"name":{},"parent":{"1188":{}}}],["core.geojsonprovider.hooks.__type",{"_index":569,"name":{},"parent":{"1189":{},"1190":{},"1191":{},"1192":{}}}],["core.geopoint",{"_index":15,"name":{},"parent":{"13":{},"14":{},"15":{},"16":{}}}],["core.georect",{"_index":20,"name":{},"parent":{"18":{},"19":{},"20":{},"21":{},"22":{}}}],["core.heatmapstyle",{"_index":216,"name":{},"parent":{"400":{},"401":{},"402":{},"403":{},"404":{},"405":{},"406":{},"407":{}}}],["core.httpprovider",{"_index":552,"name":{},"parent":{"1111":{},"1112":{},"1113":{},"1114":{},"1115":{},"1116":{},"1117":{},"1118":{},"1119":{},"1120":{},"1121":{},"1122":{},"1123":{},"1124":{},"1125":{},"1126":{},"1127":{},"1128":{},"1129":{},"1130":{},"1136":{},"1137":{},"1138":{},"1139":{},"1140":{},"1141":{},"1142":{},"1143":{},"1144":{},"1145":{},"1146":{},"1147":{},"1148":{},"1149":{},"1150":{},"1151":{},"1152":{},"1153":{},"1154":{},"1155":{},"1156":{},"1157":{},"1158":{},"1159":{},"1160":{},"1161":{},"1162":{},"1163":{},"1164":{},"1165":{},"1166":{}}}],["core.httpprovider.hooks",{"_index":564,"name":{},"parent":{"1131":{}}}],["core.httpprovider.hooks.__type",{"_index":565,"name":{},"parent":{"1132":{},"1133":{},"1134":{},"1135":{}}}],["core.httpprovideroptions",{"_index":542,"name":{},"parent":{"1088":{},"1089":{},"1090":{},"1091":{},"1093":{},"1095":{},"1096":{},"1097":{},"1103":{},"1104":{},"1105":{},"1106":{},"1107":{},"1108":{},"1109":{}}}],["core.httpprovideroptions.headers",{"_index":546,"name":{},"parent":{"1092":{}}}],["core.httpprovideroptions.hooks",{"_index":549,"name":{},"parent":{"1098":{}}}],["core.httpprovideroptions.hooks.__type",{"_index":550,"name":{},"parent":{"1099":{},"1100":{},"1101":{},"1102":{}}}],["core.httpprovideroptions.params",{"_index":548,"name":{},"parent":{"1094":{}}}],["core.imageprovider",{"_index":250,"name":{},"parent":{"477":{},"478":{},"479":{},"480":{},"481":{},"482":{},"483":{},"484":{},"485":{},"486":{},"487":{},"488":{},"489":{},"490":{}}}],["core.imageprovideroptions",{"_index":247,"name":{},"parent":{"470":{},"471":{},"472":{},"473":{},"474":{},"475":{}}}],["core.imagestyle",{"_index":160,"name":{},"parent":{"256":{},"257":{},"258":{},"259":{},"260":{},"266":{},"267":{},"268":{},"269":{},"270":{},"271":{},"272":{},"273":{},"274":{},"275":{},"276":{},"277":{},"278":{},"279":{},"280":{},"281":{}}}],["core.imagestyle.atlas",{"_index":162,"name":{},"parent":{"261":{}}}],["core.imagestyle.atlas.__type",{"_index":163,"name":{},"parent":{"262":{},"263":{},"264":{},"265":{}}}],["core.imlprovider",{"_index":612,"name":{},"parent":{"1405":{},"1406":{},"1407":{},"1408":{},"1409":{},"1410":{},"1411":{},"1412":{},"1413":{},"1414":{},"1415":{},"1416":{},"1417":{},"1418":{},"1419":{},"1420":{},"1421":{},"1422":{},"1423":{},"1424":{},"1425":{},"1426":{},"1427":{},"1433":{},"1434":{},"1435":{},"1436":{},"1437":{},"1438":{},"1439":{},"1440":{},"1441":{},"1442":{},"1443":{},"1444":{},"1445":{},"1446":{},"1447":{},"1448":{},"1449":{},"1450":{},"1451":{},"1452":{},"1453":{},"1454":{},"1455":{},"1456":{},"1457":{},"1458":{},"1459":{},"1460":{},"1461":{},"1462":{},"1463":{}}}],["core.imlprovider.hooks",{"_index":613,"name":{},"parent":{"1428":{}}}],["core.imlprovider.hooks.__type",{"_index":614,"name":{},"parent":{"1429":{},"1430":{},"1431":{},"1432":{}}}],["core.imlprovideroptions",{"_index":600,"name":{},"parent":{"1372":{},"1373":{},"1374":{},"1378":{},"1379":{},"1380":{},"1381":{},"1383":{},"1384":{},"1385":{},"1387":{},"1389":{},"1390":{},"1391":{},"1397":{},"1398":{},"1399":{},"1400":{},"1401":{},"1402":{},"1403":{}}}],["core.imlprovideroptions.credentials",{"_index":602,"name":{},"parent":{"1375":{}}}],["core.imlprovideroptions.credentials.__type",{"_index":604,"name":{},"parent":{"1376":{},"1377":{}}}],["core.imlprovideroptions.headers",{"_index":607,"name":{},"parent":{"1386":{}}}],["core.imlprovideroptions.hooks",{"_index":609,"name":{},"parent":{"1392":{}}}],["core.imlprovideroptions.hooks.__type",{"_index":610,"name":{},"parent":{"1393":{},"1394":{},"1395":{},"1396":{}}}],["core.imlprovideroptions.params",{"_index":608,"name":{},"parent":{"1388":{}}}],["core.imlprovideroptions.propertysearch",{"_index":606,"name":{},"parent":{"1382":{}}}],["core.layer",{"_index":148,"name":{},"parent":{"192":{},"193":{},"194":{},"195":{},"196":{}}}],["core.layerstyle",{"_index":121,"name":{},"parent":{"140":{},"141":{},"143":{}}}],["core.layerstyle.assign",{"_index":125,"name":{},"parent":{"144":{}}}],["core.layerstyle.stylegroups",{"_index":123,"name":{},"parent":{"142":{}}}],["core.lineargradient",{"_index":212,"name":{},"parent":{"396":{},"397":{}}}],["core.lineargradient.stops",{"_index":214,"name":{},"parent":{"398":{}}}],["core.linestyle",{"_index":165,"name":{},"parent":{"283":{},"284":{},"285":{},"286":{},"287":{},"288":{},"289":{},"290":{},"291":{},"292":{},"293":{},"294":{},"295":{},"296":{}}}],["core.localprovider",{"_index":575,"name":{},"parent":{"1237":{},"1238":{},"1244":{},"1245":{},"1246":{},"1247":{},"1248":{},"1249":{},"1250":{},"1251":{},"1252":{},"1253":{},"1254":{},"1255":{},"1256":{},"1257":{},"1258":{},"1259":{},"1260":{},"1261":{},"1262":{},"1263":{},"1264":{},"1265":{},"1266":{},"1267":{},"1268":{},"1269":{},"1270":{},"1271":{},"1272":{},"1273":{},"1274":{},"1275":{},"1276":{},"1277":{},"1278":{},"1279":{}}}],["core.localprovider.hooks",{"_index":576,"name":{},"parent":{"1239":{}}}],["core.localprovider.hooks.__type",{"_index":577,"name":{},"parent":{"1240":{},"1241":{},"1242":{},"1243":{}}}],["core.localprovideroptions",{"_index":571,"name":{},"parent":{"1225":{},"1226":{},"1227":{},"1228":{},"1229":{},"1235":{}}}],["core.localprovideroptions.hooks",{"_index":572,"name":{},"parent":{"1230":{}}}],["core.localprovideroptions.hooks.__type",{"_index":573,"name":{},"parent":{"1231":{},"1232":{},"1233":{},"1234":{}}}],["core.material",{"_index":169,"name":{},"parent":{"298":{},"299":{},"300":{},"301":{},"302":{},"303":{},"304":{},"305":{},"306":{},"307":{},"308":{},"309":{}}}],["core.modeldata",{"_index":188,"name":{},"parent":{"317":{},"318":{},"320":{},"322":{}}}],["core.modeldata.materials",{"_index":192,"name":{},"parent":{"321":{}}}],["core.modeldata.textures",{"_index":190,"name":{},"parent":{"319":{}}}],["core.modelgeometry",{"_index":182,"name":{},"parent":{"311":{},"312":{},"313":{},"314":{},"315":{}}}],["core.modelstyle",{"_index":195,"name":{},"parent":{"324":{},"325":{},"326":{},"327":{},"328":{},"329":{},"330":{},"331":{},"332":{}}}],["core.mvtlayer",{"_index":226,"name":{},"parent":{"424":{},"425":{},"426":{},"427":{},"428":{},"429":{},"430":{},"431":{},"432":{},"433":{},"434":{},"435":{},"436":{},"437":{},"438":{},"439":{},"440":{},"441":{},"442":{},"443":{},"444":{}}}],["core.mvtlayeroptions",{"_index":221,"name":{},"parent":{"409":{},"415":{},"416":{},"417":{},"418":{},"419":{},"420":{},"421":{},"422":{}}}],["core.mvtlayeroptions.remote",{"_index":222,"name":{},"parent":{"410":{}}}],["core.mvtlayeroptions.remote.__type",{"_index":224,"name":{},"parent":{"411":{},"412":{},"413":{},"414":{}}}],["core.pixelpoint",{"_index":4,"name":{},"parent":{"3":{},"4":{},"5":{}}}],["core.pixelrect",{"_index":9,"name":{},"parent":{"7":{},"8":{},"9":{},"10":{},"11":{}}}],["core.polygonstyle",{"_index":203,"name":{},"parent":{"334":{},"335":{},"336":{},"337":{},"338":{},"339":{},"340":{},"341":{},"342":{},"343":{},"344":{},"345":{},"346":{},"347":{},"348":{},"349":{}}}],["core.remotetileprovider",{"_index":145,"name":{},"parent":{"168":{},"169":{},"170":{},"171":{},"172":{},"173":{},"174":{},"175":{},"176":{},"177":{},"178":{},"179":{},"180":{},"181":{},"182":{},"183":{},"184":{},"185":{},"186":{},"187":{},"188":{},"189":{},"190":{}}}],["core.remotetileprovideroptions",{"_index":140,"name":{},"parent":{"160":{},"161":{},"162":{},"163":{},"164":{},"165":{},"166":{}}}],["core.spaceprovider",{"_index":594,"name":{},"parent":{"1312":{},"1313":{},"1314":{},"1315":{},"1316":{},"1317":{},"1318":{},"1319":{},"1320":{},"1321":{},"1322":{},"1323":{},"1324":{},"1325":{},"1326":{},"1327":{},"1328":{},"1329":{},"1330":{},"1331":{},"1332":{},"1333":{},"1334":{},"1340":{},"1341":{},"1342":{},"1343":{},"1344":{},"1345":{},"1346":{},"1347":{},"1348":{},"1349":{},"1350":{},"1351":{},"1352":{},"1353":{},"1354":{},"1355":{},"1356":{},"1357":{},"1358":{},"1359":{},"1360":{},"1361":{},"1362":{},"1363":{},"1364":{},"1365":{},"1366":{},"1367":{},"1368":{},"1369":{},"1370":{}}}],["core.spaceprovider.hooks",{"_index":597,"name":{},"parent":{"1335":{}}}],["core.spaceprovider.hooks.__type",{"_index":598,"name":{},"parent":{"1336":{},"1337":{},"1338":{},"1339":{}}}],["core.spaceprovideroptions",{"_index":580,"name":{},"parent":{"1281":{},"1282":{},"1285":{},"1286":{},"1287":{},"1288":{},"1290":{},"1291":{},"1292":{},"1294":{},"1296":{},"1297":{},"1298":{},"1304":{},"1305":{},"1306":{},"1307":{},"1308":{},"1309":{},"1310":{}}}],["core.spaceprovideroptions.credentials",{"_index":582,"name":{},"parent":{"1283":{}}}],["core.spaceprovideroptions.credentials.__type",{"_index":584,"name":{},"parent":{"1284":{}}}],["core.spaceprovideroptions.headers",{"_index":589,"name":{},"parent":{"1293":{}}}],["core.spaceprovideroptions.hooks",{"_index":591,"name":{},"parent":{"1299":{}}}],["core.spaceprovideroptions.hooks.__type",{"_index":592,"name":{},"parent":{"1300":{},"1301":{},"1302":{},"1303":{}}}],["core.spaceprovideroptions.params",{"_index":590,"name":{},"parent":{"1295":{}}}],["core.spaceprovideroptions.propertysearch",{"_index":588,"name":{},"parent":{"1289":{}}}],["core.spherestyle",{"_index":205,"name":{},"parent":{"351":{},"352":{},"353":{},"354":{},"355":{},"356":{},"357":{},"358":{},"359":{},"360":{},"361":{}}}],["core.style",{"_index":83,"name":{},"parent":{"102":{},"103":{},"104":{},"105":{},"106":{},"107":{},"108":{},"109":{},"110":{},"111":{},"112":{},"113":{},"114":{},"115":{},"116":{},"117":{},"118":{},"119":{},"120":{},"121":{},"122":{},"123":{},"124":{},"125":{},"126":{},"127":{},"128":{},"129":{},"130":{},"131":{},"132":{},"133":{},"134":{},"135":{},"136":{},"137":{},"138":{}}}],["core.stylevaluefunction",{"_index":127,"name":{},"parent":{"146":{}}}],["core.stylezoomrange",{"_index":129,"name":{},"parent":{"148":{}}}],["core.textstyle",{"_index":207,"name":{},"parent":{"363":{},"364":{},"365":{},"366":{},"367":{},"368":{},"369":{},"370":{},"371":{},"372":{},"373":{},"374":{},"375":{},"376":{},"377":{},"378":{},"379":{},"380":{},"381":{},"382":{},"383":{},"384":{},"385":{},"386":{},"387":{}}}],["core.tile",{"_index":42,"name":{},"parent":{"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{}}}],["core.tilelayer",{"_index":150,"name":{},"parent":{"198":{},"199":{},"200":{},"201":{},"202":{},"203":{},"204":{},"205":{},"206":{},"207":{},"208":{},"209":{},"210":{},"211":{},"212":{},"213":{},"214":{},"215":{},"216":{},"217":{},"218":{}}}],["core.tilelayeroptions",{"_index":132,"name":{},"parent":{"151":{},"152":{},"153":{},"154":{},"155":{},"156":{},"157":{},"158":{}}}],["core.tileprovider",{"_index":55,"name":{},"parent":{"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{}}}],["core.tileprovideroptions",{"_index":51,"name":{},"parent":{"50":{},"51":{},"52":{}}}],["core.verticallinestyle",{"_index":210,"name":{},"parent":{"389":{},"390":{},"391":{},"392":{},"393":{},"394":{}}}],["core.webmercator",{"_index":616,"name":{},"parent":{"1465":{}}}],["core.webmercator.__type",{"_index":618,"name":{},"parent":{"1466":{},"1467":{},"1468":{},"1469":{},"1470":{},"1471":{},"1472":{},"1473":{},"1474":{},"1475":{},"1476":{},"1477":{}}}],["create",{"_index":465,"name":{"867":{}},"parent":{}}],["created",{"_index":253,"name":{"493":{}},"parent":{}}],["createfeaturecontainer",{"_index":490,"name":{"944":{}},"parent":{}}],["createroutingpoint",{"_index":356,"name":{"681":{}},"parent":{}}],["createtile",{"_index":64,"name":{"66":{},"89":{},"190":{},"490":{},"1040":{},"1086":{},"1166":{},"1223":{},"1279":{},"1370":{},"1463":{}},"parent":{}}],["credentials",{"_index":581,"name":{"1282":{},"1374":{}},"parent":{}}],["crossing",{"_index":334,"name":{"609":{}},"parent":{}}],["cullface",{"_index":197,"name":{"328":{}},"parent":{}}],["customlayer",{"_index":227,"name":{"445":{}},"parent":{}}],["debug",{"_index":381,"name":{"746":{}},"parent":{}}],["depth",{"_index":97,"name":{"116":{},"229":{}},"parent":{}}],["destroy",{"_index":416,"name":{"788":{},"953":{}},"parent":{}}],["detail",{"_index":372,"name":{"736":{},"831":{}},"parent":{}}],["detectfeatureclass",{"_index":521,"name":{"1004":{},"1055":{},"1136":{},"1193":{},"1244":{},"1340":{},"1433":{}},"parent":{}}],["diffuse",{"_index":171,"name":{"300":{}},"parent":{}}],["diffusemap",{"_index":172,"name":{"301":{}},"parent":{}}],["disconnect",{"_index":330,"name":{"594":{}},"parent":{}}],["disconnectshapedistance",{"_index":278,"name":{"518":{}},"parent":{}}],["display",{"_index":0,"name":{"0":{}},"parent":{"728":{},"737":{},"760":{}}}],["display.map",{"_index":393,"name":{},"parent":{"761":{},"762":{},"763":{},"764":{},"765":{},"766":{},"767":{},"768":{},"769":{},"770":{},"771":{},"772":{},"773":{},"774":{},"775":{},"776":{},"777":{},"778":{},"779":{},"780":{},"781":{},"782":{},"783":{},"784":{},"785":{},"786":{},"787":{},"788":{},"789":{},"790":{},"791":{},"792":{},"793":{},"794":{}}}],["display.mapevent",{"_index":367,"name":{},"parent":{"729":{},"730":{},"731":{},"732":{},"733":{},"734":{},"735":{},"736":{}}}],["display.mapoptions",{"_index":375,"name":{},"parent":{"738":{},"740":{},"741":{},"742":{},"743":{},"744":{},"745":{},"746":{},"747":{},"748":{},"749":{},"750":{},"756":{},"757":{},"758":{},"759":{}}}],["display.mapoptions.behavior",{"_index":385,"name":{},"parent":{"751":{}}}],["display.mapoptions.behavior.__type",{"_index":387,"name":{},"parent":{"752":{},"753":{},"754":{},"755":{}}}],["display.mapoptions.ui",{"_index":376,"name":{},"parent":{"739":{}}}],["distance",{"_index":336,"name":{"613":{}},"parent":{}}],["drag",{"_index":388,"name":{"753":{}},"parent":{}}],["dragmove",{"_index":429,"name":{"804":{}},"parent":{}}],["dragstart",{"_index":427,"name":{"802":{}},"parent":{}}],["dragstop",{"_index":431,"name":{"806":{}},"parent":{}}],["drawingboard",{"_index":460,"name":{"860":{}},"parent":{}}],["drawingshape",{"_index":456,"name":{"845":{}},"parent":{}}],["earthcircumference",{"_index":627,"name":{"1477":{}},"parent":{}}],["editable",{"_index":303,"name":{"541":{},"642":{},"665":{},"690":{},"714":{},"895":{},"918":{},"970":{},"986":{},"1095":{},"1227":{},"1296":{},"1389":{}},"parent":{}}],["editablefeatureprovider",{"_index":517,"name":{"997":{}},"parent":{}}],["editablefeatureprovideroptions",{"_index":513,"name":{"985":{}},"parent":{}}],["editableremotetileprovider",{"_index":536,"name":{"1041":{}},"parent":{}}],["editableremotetileprovideroptions",{"_index":503,"name":{"969":{}},"parent":{}}],["editor",{"_index":251,"name":{"491":{},"932":{}},"parent":{"492":{},"499":{},"510":{},"527":{},"531":{},"555":{},"584":{},"609":{},"624":{},"656":{},"679":{},"704":{},"795":{},"812":{},"817":{},"823":{},"836":{},"837":{},"839":{},"841":{},"843":{},"845":{},"860":{},"872":{},"887":{},"909":{},"911":{},"932":{}}}],["editor.address",{"_index":351,"name":{},"parent":{"657":{},"658":{},"659":{},"660":{},"661":{},"662":{},"663":{},"664":{},"665":{},"666":{},"667":{},"668":{},"669":{},"670":{},"671":{},"672":{},"676":{},"677":{},"678":{}}}],["editor.address.geometry",{"_index":352,"name":{},"parent":{"673":{}}}],["editor.address.geometry.__type",{"_index":353,"name":{},"parent":{"674":{},"675":{}}}],["editor.area",{"_index":361,"name":{},"parent":{"705":{},"706":{},"707":{},"708":{},"709":{},"710":{},"711":{},"712":{},"713":{},"714":{},"715":{},"716":{},"717":{},"718":{},"719":{},"720":{},"721":{},"725":{},"726":{},"727":{}}}],["editor.area.geometry",{"_index":363,"name":{},"parent":{"722":{}}}],["editor.area.geometry.__type",{"_index":364,"name":{},"parent":{"723":{},"724":{}}}],["editor.areashape",{"_index":470,"name":{},"parent":{"873":{},"874":{},"875":{},"876":{},"877":{},"878":{},"879":{},"880":{},"884":{},"885":{},"886":{}}}],["editor.areashape.geometry",{"_index":472,"name":{},"parent":{"881":{}}}],["editor.areashape.geometry.__type",{"_index":473,"name":{},"parent":{"882":{},"883":{}}}],["editor.coordinatesupdatehook",{"_index":455,"name":{},"parent":{"844":{}}}],["editor.crossing",{"_index":335,"name":{},"parent":{"610":{},"611":{},"612":{},"613":{},"614":{},"618":{},"619":{},"620":{},"621":{},"622":{},"623":{}}}],["editor.crossing.geometry",{"_index":337,"name":{},"parent":{"615":{}}}],["editor.crossing.geometry.__type",{"_index":338,"name":{},"parent":{"616":{},"617":{}}}],["editor.drawingboard",{"_index":461,"name":{},"parent":{"861":{},"862":{},"863":{},"864":{},"865":{},"866":{},"867":{},"868":{},"869":{},"870":{},"871":{}}}],["editor.drawingshape",{"_index":457,"name":{},"parent":{"846":{},"847":{},"848":{},"849":{},"850":{},"851":{},"852":{},"853":{},"857":{},"858":{},"859":{}}}],["editor.drawingshape.geometry",{"_index":458,"name":{},"parent":{"854":{}}}],["editor.drawingshape.geometry.__type",{"_index":459,"name":{},"parent":{"855":{},"856":{}}}],["editor.editor",{"_index":485,"name":{},"parent":{"933":{},"934":{},"935":{},"936":{},"937":{},"938":{},"939":{},"940":{},"941":{},"942":{},"943":{},"944":{},"945":{},"946":{},"947":{},"948":{},"949":{},"950":{},"951":{},"952":{},"953":{},"954":{},"955":{},"956":{},"957":{},"958":{},"959":{},"960":{},"961":{},"962":{},"963":{},"964":{},"965":{},"966":{},"967":{},"968":{}}}],["editor.editorevent",{"_index":444,"name":{},"parent":{"824":{},"825":{},"826":{},"827":{},"828":{},"829":{},"830":{},"831":{}}}],["editor.editorevent.detail",{"_index":445,"name":{},"parent":{"832":{}}}],["editor.editorevent.detail.__type",{"_index":446,"name":{},"parent":{"833":{},"834":{},"835":{}}}],["editor.editorfeatureproperties",{"_index":254,"name":{},"parent":{"493":{},"494":{},"495":{},"496":{},"497":{},"498":{}}}],["editor.editoroptions",{"_index":271,"name":{},"parent":{"511":{},"512":{},"514":{},"515":{},"516":{},"517":{},"518":{},"519":{},"520":{},"521":{},"522":{}}}],["editor.editoroptions.editrestrictions",{"_index":273,"name":{},"parent":{"513":{}}}],["editor.editoroptions.services",{"_index":283,"name":{},"parent":{"523":{}}}],["editor.editoroptions.services.__type",{"_index":285,"name":{},"parent":{"524":{}}}],["editor.editoroptions.services.__type.reversegeocoder",{"_index":286,"name":{},"parent":{"525":{}}}],["editor.editoroptions.services.__type.reversegeocoder.__type",{"_index":288,"name":{},"parent":{"526":{}}}],["editor.feature",{"_index":481,"name":{},"parent":{"912":{},"913":{},"914":{},"915":{},"916":{},"917":{},"918":{},"919":{},"920":{},"921":{},"922":{},"923":{},"924":{},"925":{},"929":{},"930":{},"931":{}}}],["editor.feature.geometry",{"_index":482,"name":{},"parent":{"926":{}}}],["editor.feature.geometry.__type",{"_index":483,"name":{},"parent":{"927":{},"928":{}}}],["editor.featurecontainer",{"_index":261,"name":{},"parent":{"500":{},"501":{},"502":{},"503":{},"504":{},"505":{},"506":{},"507":{},"508":{},"509":{}}}],["editor.featureproperties",{"_index":480,"name":{},"parent":{"910":{}}}],["editor.featureremovehook",{"_index":453,"name":{},"parent":{"842":{}}}],["editor.line",{"_index":296,"name":{},"parent":{"532":{},"533":{},"534":{},"535":{},"536":{},"537":{},"538":{},"539":{},"540":{},"541":{},"542":{},"543":{},"544":{},"545":{},"546":{},"547":{},"548":{},"552":{},"553":{},"554":{}}}],["editor.line.geometry",{"_index":306,"name":{},"parent":{"549":{}}}],["editor.line.geometry.__type",{"_index":307,"name":{},"parent":{"550":{},"551":{}}}],["editor.lineshape",{"_index":309,"name":{},"parent":{"556":{},"557":{},"566":{},"570":{},"571":{},"572":{},"573":{},"574":{},"575":{},"576":{},"577":{},"578":{},"579":{},"580":{},"581":{},"582":{},"583":{}}}],["editor.lineshape.geometry",{"_index":315,"name":{},"parent":{"567":{}}}],["editor.lineshape.geometry.__type",{"_index":316,"name":{},"parent":{"568":{},"569":{}}}],["editor.lineshape.properties",{"_index":310,"name":{},"parent":{"558":{}}}],["editor.lineshape.properties.__type",{"_index":312,"name":{},"parent":{"559":{},"560":{},"561":{},"562":{},"563":{},"564":{},"565":{}}}],["editor.marker",{"_index":475,"name":{},"parent":{"888":{},"889":{},"890":{},"891":{},"892":{},"893":{},"894":{},"895":{},"896":{},"897":{},"898":{},"899":{},"900":{},"901":{},"902":{},"906":{},"907":{},"908":{}}}],["editor.marker.geometry",{"_index":476,"name":{},"parent":{"903":{}}}],["editor.marker.geometry.__type",{"_index":477,"name":{},"parent":{"904":{},"905":{}}}],["editor.navlink",{"_index":342,"name":{},"parent":{"625":{},"626":{},"627":{},"628":{},"629":{},"630":{},"631":{},"632":{},"633":{},"634":{},"635":{},"636":{},"637":{},"638":{},"639":{},"640":{},"641":{},"642":{},"643":{},"644":{},"645":{},"646":{},"647":{},"648":{},"649":{},"653":{},"654":{},"655":{}}}],["editor.navlink.geometry",{"_index":348,"name":{},"parent":{"650":{}}}],["editor.navlink.geometry.__type",{"_index":349,"name":{},"parent":{"651":{},"652":{}}}],["editor.navlinkdisconnecthook",{"_index":451,"name":{},"parent":{"840":{}}}],["editor.navlinkshape",{"_index":324,"name":{},"parent":{"585":{},"586":{},"587":{},"588":{},"589":{},"590":{},"591":{},"592":{},"593":{},"594":{},"595":{},"596":{},"597":{},"598":{},"599":{},"600":{},"601":{},"602":{},"606":{},"607":{},"608":{}}}],["editor.navlinkshape.geometry",{"_index":332,"name":{},"parent":{"603":{}}}],["editor.navlinkshape.geometry.__type",{"_index":333,"name":{},"parent":{"604":{},"605":{}}}],["editor.navlinksplithook",{"_index":449,"name":{},"parent":{"838":{}}}],["editor.place",{"_index":355,"name":{},"parent":{"680":{},"681":{},"682":{},"683":{},"684":{},"685":{},"686":{},"687":{},"688":{},"689":{},"690":{},"691":{},"692":{},"693":{},"694":{},"695":{},"696":{},"697":{},"701":{},"702":{},"703":{}}}],["editor.place.geometry",{"_index":358,"name":{},"parent":{"698":{}}}],["editor.place.geometry.__type",{"_index":359,"name":{},"parent":{"699":{},"700":{}}}],["editor.range",{"_index":424,"name":{},"parent":{"796":{},"797":{},"798":{},"799":{},"800":{},"801":{},"802":{},"804":{},"806":{},"808":{},"809":{},"810":{},"811":{}}}],["editor.range.dragmove",{"_index":430,"name":{},"parent":{"805":{}}}],["editor.range.dragstart",{"_index":428,"name":{},"parent":{"803":{}}}],["editor.range.dragstop",{"_index":432,"name":{},"parent":{"807":{}}}],["editor.rangesegment",{"_index":440,"name":{},"parent":{"818":{}}}],["editor.rangesegment.__type",{"_index":441,"name":{},"parent":{"819":{},"820":{},"821":{},"822":{}}}],["editor.rangeselector",{"_index":437,"name":{},"parent":{"813":{},"814":{},"815":{},"816":{}}}],["editor.turnrestrictioneditor",{"_index":291,"name":{},"parent":{"528":{},"529":{},"530":{}}}],["editorevent",{"_index":443,"name":{"823":{}},"parent":{}}],["editoreventtypes",{"_index":447,"name":{"836":{}},"parent":{}}],["editorfeatureproperties",{"_index":252,"name":{"492":{}},"parent":{}}],["editoroptions",{"_index":269,"name":{"510":{}},"parent":{}}],["editrestrictions",{"_index":272,"name":{"512":{}},"parent":{}}],["editstate",{"_index":301,"name":{"538":{},"639":{},"662":{},"687":{},"711":{},"891":{},"914":{}},"parent":{}}],["editturnrestrictions",{"_index":328,"name":{"591":{},"637":{}},"parent":{}}],["emissive",{"_index":170,"name":{"299":{}},"parent":{}}],["enforcerandomfeatureid",{"_index":505,"name":{"971":{},"987":{},"1096":{},"1228":{},"1297":{},"1390":{}},"parent":{}}],["errorimage",{"_index":248,"name":{"471":{}},"parent":{}}],["exists",{"_index":72,"name":{"77":{},"178":{},"1028":{},"1074":{},"1155":{},"1212":{},"1267":{},"1359":{},"1452":{}},"parent":{}}],["expired",{"_index":45,"name":{"44":{}},"parent":{}}],["export",{"_index":500,"name":{"966":{}},"parent":{}}],["extrude",{"_index":116,"name":{"135":{},"348":{}},"parent":{}}],["extrudebase",{"_index":117,"name":{"136":{},"349":{}},"parent":{}}],["faces",{"_index":193,"name":{"322":{}},"parent":{}}],["feature",{"_index":76,"name":{"90":{},"819":{},"911":{}},"parent":{}}],["feature.remove",{"_index":511,"name":{"976":{},"992":{},"1002":{},"1053":{},"1101":{},"1134":{},"1191":{},"1233":{},"1242":{},"1302":{},"1338":{},"1395":{},"1431":{}},"parent":{}}],["featurecontainer",{"_index":260,"name":{"499":{}},"parent":{}}],["featureproperties",{"_index":478,"name":{"909":{}},"parent":{}}],["featureprovider",{"_index":65,"name":{"67":{}},"parent":{}}],["featureremovehook",{"_index":452,"name":{"841":{}},"parent":{}}],["features",{"_index":37,"name":{"34":{}},"parent":{}}],["featureselectionbydefault",{"_index":280,"name":{"520":{}},"parent":{}}],["fill",{"_index":87,"name":{"106":{},"223":{},"239":{},"337":{},"354":{},"366":{},"404":{}},"parent":{}}],["findpath",{"_index":75,"name":{"80":{},"181":{},"1031":{},"1077":{},"1158":{},"1215":{},"1270":{},"1362":{},"1455":{}},"parent":{}}],["flyto",{"_index":406,"name":{"778":{}},"parent":{}}],["font",{"_index":98,"name":{"117":{},"370":{}},"parent":{}}],["foreach",{"_index":264,"name":{"503":{}},"parent":{}}],["from",{"_index":101,"name":{"120":{},"292":{},"344":{},"798":{},"820":{}},"parent":{}}],["geocode",{"_index":243,"name":{"466":{}},"parent":{}}],["geocoder",{"_index":241,"name":{"464":{}},"parent":{}}],["geocoderoptions",{"_index":235,"name":{"459":{}},"parent":{}}],["geofence",{"_index":274,"name":{"514":{}},"parent":{}}],["geojsonbbox",{"_index":38,"name":{"35":{}},"parent":{}}],["geojsoncoordinate",{"_index":39,"name":{"36":{}},"parent":{}}],["geojsonfeature",{"_index":24,"name":{"23":{}},"parent":{}}],["geojsonfeaturecollection",{"_index":35,"name":{"32":{}},"parent":{}}],["geojsonprovider",{"_index":566,"name":{"1167":{}},"parent":{}}],["geometries",{"_index":187,"name":{"317":{}},"parent":{}}],["geometry",{"_index":30,"name":{"28":{},"94":{},"548":{},"566":{},"602":{},"614":{},"649":{},"672":{},"697":{},"721":{},"853":{},"880":{},"902":{},"925":{}},"parent":{}}],["geopoint",{"_index":13,"name":{"12":{}},"parent":{}}],["georect",{"_index":18,"name":{"17":{}},"parent":{}}],["geotopixel",{"_index":414,"name":{"786":{},"957":{},"1472":{}},"parent":{}}],["get",{"_index":492,"name":{"951":{}},"parent":{}}],["getarea",{"_index":471,"name":{"874":{}},"parent":{}}],["getbehavior",{"_index":400,"name":{"772":{}},"parent":{}}],["getcachedtile",{"_index":60,"name":{"62":{},"85":{},"186":{},"210":{},"436":{},"486":{},"1036":{},"1082":{},"1163":{},"1220":{},"1275":{},"1367":{},"1460":{}},"parent":{}}],["getcachedtilesofbbox",{"_index":62,"name":{"64":{},"87":{},"188":{},"488":{},"1038":{},"1084":{},"1165":{},"1222":{},"1277":{},"1369":{},"1462":{}},"parent":{}}],["getcamera",{"_index":415,"name":{"787":{}},"parent":{}}],["getcenter",{"_index":405,"name":{"777":{}},"parent":{}}],["getconnectedlinks",{"_index":329,"name":{"592":{},"623":{},"632":{}},"parent":{}}],["getcontainer",{"_index":422,"name":{"794":{}},"parent":{}}],["getcontentbounds",{"_index":49,"name":{"48":{}},"parent":{}}],["getdrawingboard",{"_index":494,"name":{"959":{}},"parent":{}}],["getfeature",{"_index":69,"name":{"73":{},"175":{},"942":{},"1024":{},"1073":{},"1154":{},"1211":{},"1263":{},"1358":{},"1451":{}},"parent":{}}],["getfeatureat",{"_index":397,"name":{"769":{}},"parent":{}}],["getfeatures",{"_index":70,"name":{"74":{},"176":{},"1025":{},"1043":{},"1124":{},"1181":{},"1264":{},"1329":{},"1422":{}},"parent":{}}],["getfeaturesat",{"_index":398,"name":{"770":{}},"parent":{}}],["getfeatureurl",{"_index":561,"name":{"1121":{},"1178":{},"1318":{},"1411":{}},"parent":{}}],["getgeometry",{"_index":467,"name":{"870":{}},"parent":{}}],["getgroundresolution",{"_index":625,"name":{"1475":{}},"parent":{}}],["getheader",{"_index":553,"name":{"1112":{},"1169":{},"1321":{},"1414":{}},"parent":{}}],["getheaders",{"_index":554,"name":{"1113":{},"1170":{},"1322":{},"1415":{}},"parent":{}}],["getheight",{"_index":419,"name":{"791":{}},"parent":{}}],["gethooks",{"_index":489,"name":{"941":{}},"parent":{}}],["getindex",{"_index":320,"name":{"573":{},"590":{},"849":{},"876":{}},"parent":{}}],["getisocc",{"_index":287,"name":{"526":{}},"parent":{}}],["getisocountrycode",{"_index":245,"name":{"468":{}},"parent":{}}],["getlayers",{"_index":409,"name":{"781":{},"948":{}},"parent":{}}],["getlayerurl",{"_index":562,"name":{"1122":{},"1179":{},"1316":{},"1409":{}},"parent":{}}],["getlength",{"_index":319,"name":{"572":{},"848":{},"863":{}},"parent":{}}],["getline",{"_index":318,"name":{"571":{}},"parent":{}}],["getlinestringindex",{"_index":321,"name":{"574":{}},"parent":{}}],["getlink",{"_index":325,"name":{"587":{},"622":{},"659":{},"684":{}},"parent":{}}],["getoverlay",{"_index":496,"name":{"961":{}},"parent":{}}],["getparam",{"_index":558,"name":{"1117":{},"1174":{},"1326":{},"1419":{}},"parent":{}}],["getparams",{"_index":557,"name":{"1116":{},"1173":{},"1325":{},"1418":{}},"parent":{}}],["getprovider",{"_index":81,"name":{"100":{},"200":{},"426":{},"554":{},"583":{},"608":{},"655":{},"678":{},"703":{},"727":{},"859":{},"886":{},"908":{},"931":{}},"parent":{}}],["getrangeselector",{"_index":495,"name":{"960":{}},"parent":{}}],["getrelatedlink",{"_index":339,"name":{"618":{}},"parent":{}}],["getselectedshapes",{"_index":299,"name":{"535":{},"634":{}},"parent":{}}],["getstyle",{"_index":154,"name":{"212":{},"438":{}},"parent":{}}],["getstylegroup",{"_index":152,"name":{"207":{},"433":{}},"parent":{}}],["gettile",{"_index":56,"name":{"57":{},"75":{},"170":{},"209":{},"435":{},"478":{},"1026":{},"1046":{},"1127":{},"1184":{},"1265":{},"1332":{},"1425":{}},"parent":{}}],["gettileurl",{"_index":563,"name":{"1123":{},"1180":{},"1317":{},"1410":{}},"parent":{}}],["getviewbounds",{"_index":395,"name":{"767":{}},"parent":{}}],["getwidth",{"_index":418,"name":{"790":{}},"parent":{}}],["getzlevels",{"_index":346,"name":{"633":{}},"parent":{}}],["getzoomlevel",{"_index":402,"name":{"774":{},"955":{}},"parent":{}}],["headers",{"_index":545,"name":{"1091":{},"1292":{},"1385":{}},"parent":{}}],["heatmapstyle",{"_index":215,"name":{"399":{}},"parent":{}}],["height",{"_index":96,"name":{"115":{},"228":{},"265":{},"268":{}},"parent":{}}],["hide",{"_index":292,"name":{"529":{},"621":{},"815":{}},"parent":{}}],["highlight",{"_index":266,"name":{"505":{}},"parent":{}}],["hooks",{"_index":506,"name":{"972":{},"988":{},"998":{},"1049":{},"1097":{},"1130":{},"1187":{},"1229":{},"1238":{},"1298":{},"1334":{},"1391":{},"1427":{}},"parent":{}}],["host",{"_index":239,"name":{"462":{}},"parent":{}}],["hovered",{"_index":259,"name":{"498":{}},"parent":{}}],["httpprovider",{"_index":551,"name":{"1110":{}},"parent":{}}],["httpprovideroptions",{"_index":541,"name":{"1087":{}},"parent":{}}],["https",{"_index":544,"name":{"1090":{},"1291":{},"1384":{}},"parent":{}}],["id",{"_index":25,"name":{"24":{},"50":{},"54":{},"82":{},"91":{},"164":{},"183":{},"193":{},"216":{},"442":{},"456":{},"473":{},"481":{},"546":{},"579":{},"599":{},"647":{},"670":{},"695":{},"719":{},"796":{},"850":{},"877":{},"900":{},"923":{},"982":{},"994":{},"1033":{},"1079":{},"1107":{},"1160":{},"1217":{},"1235":{},"1272":{},"1308":{},"1364":{},"1401":{},"1457":{}},"parent":{}}],["ignoretilequerylimit",{"_index":143,"name":{"163":{},"981":{},"1106":{},"1307":{},"1400":{}},"parent":{}}],["illumination",{"_index":179,"name":{"308":{}},"parent":{}}],["imageprovider",{"_index":249,"name":{"476":{}},"parent":{}}],["imageprovideroptions",{"_index":246,"name":{"469":{}},"parent":{}}],["imagestyle",{"_index":159,"name":{"255":{}},"parent":{}}],["imlprovider",{"_index":611,"name":{"1404":{}},"parent":{}}],["imlprovideroptions",{"_index":599,"name":{"1371":{}},"parent":{}}],["import",{"_index":501,"name":{"967":{}},"parent":{}}],["index",{"_index":183,"name":{"312":{},"561":{},"834":{}},"parent":{}}],["info",{"_index":438,"name":{"816":{},"965":{}},"parent":{}}],["intensity",{"_index":218,"name":{"406":{}},"parent":{}}],["intersectionscale",{"_index":277,"name":{"517":{}},"parent":{}}],["isactive",{"_index":293,"name":{"530":{},"869":{}},"parent":{}}],["isloaded",{"_index":48,"name":{"47":{}},"parent":{}}],["isnode",{"_index":326,"name":{"588":{}},"parent":{}}],["isoverlapping",{"_index":327,"name":{"589":{}},"parent":{}}],["isselected",{"_index":322,"name":{"578":{},"598":{}},"parent":{}}],["keepfeatureselection",{"_index":279,"name":{"519":{}},"parent":{}}],["lat2y",{"_index":620,"name":{"1468":{}},"parent":{}}],["latitude",{"_index":16,"name":{"14":{}},"parent":{}}],["layer",{"_index":147,"name":{"191":{},"833":{},"1372":{}},"parent":{}}],["layers",{"_index":270,"name":{"511":{},"742":{}},"parent":{}}],["layerstyle",{"_index":119,"name":{"139":{}},"parent":{}}],["length",{"_index":262,"name":{"501":{}},"parent":{}}],["level",{"_index":139,"name":{"160":{},"978":{},"1103":{},"1304":{},"1397":{}},"parent":{}}],["line",{"_index":294,"name":{"531":{}},"parent":{}}],["lineargradient",{"_index":211,"name":{"395":{}},"parent":{}}],["lineshape",{"_index":308,"name":{"555":{}},"parent":{}}],["linestringindex",{"_index":311,"name":{"559":{}},"parent":{}}],["linestyle",{"_index":164,"name":{"282":{}},"parent":{}}],["linewrap",{"_index":111,"name":{"130":{},"381":{}},"parent":{}}],["localprovider",{"_index":574,"name":{"1236":{}},"parent":{}}],["localprovideroptions",{"_index":570,"name":{"1224":{}},"parent":{}}],["locked",{"_index":426,"name":{"800":{}},"parent":{}}],["lockviewport",{"_index":407,"name":{"779":{}},"parent":{}}],["lon2x",{"_index":619,"name":{"1467":{}},"parent":{}}],["longitude",{"_index":14,"name":{"13":{}},"parent":{}}],["map",{"_index":392,"name":{"760":{}},"parent":{}}],["mapevent",{"_index":365,"name":{"728":{}},"parent":{}}],["mapoptions",{"_index":373,"name":{"737":{}},"parent":{}}],["mapsizepixel",{"_index":617,"name":{"1466":{}},"parent":{}}],["mapx",{"_index":370,"name":{"734":{},"826":{}},"parent":{}}],["mapy",{"_index":371,"name":{"735":{},"827":{}},"parent":{}}],["margin",{"_index":53,"name":{"52":{},"56":{},"84":{},"156":{},"166":{},"185":{},"198":{},"421":{},"425":{},"475":{},"483":{},"984":{},"996":{},"1035":{},"1081":{},"1109":{},"1162":{},"1219":{},"1226":{},"1274":{},"1310":{},"1366":{},"1403":{},"1459":{}},"parent":{}}],["marker",{"_index":474,"name":{"887":{}},"parent":{}}],["material",{"_index":167,"name":{"297":{}},"parent":{}}],["materials",{"_index":191,"name":{"320":{}},"parent":{}}],["max",{"_index":134,"name":{"153":{},"195":{},"218":{},"412":{},"418":{},"444":{},"458":{}},"parent":{}}],["maxlat",{"_index":23,"name":{"21":{}},"parent":{}}],["maxlevel",{"_index":379,"name":{"743":{}},"parent":{}}],["maxlon",{"_index":22,"name":{"20":{}},"parent":{}}],["maxpitch",{"_index":391,"name":{"759":{}},"parent":{}}],["maxroutingpointdistance",{"_index":281,"name":{"521":{}},"parent":{}}],["maxx",{"_index":11,"name":{"9":{}},"parent":{}}],["maxy",{"_index":12,"name":{"10":{}},"parent":{}}],["metertopixel",{"_index":623,"name":{"1473":{}},"parent":{}}],["min",{"_index":133,"name":{"152":{},"194":{},"217":{},"413":{},"417":{},"443":{},"457":{}},"parent":{}}],["minlat",{"_index":21,"name":{"19":{}},"parent":{}}],["minlevel",{"_index":380,"name":{"744":{}},"parent":{}}],["minlon",{"_index":19,"name":{"18":{}},"parent":{}}],["minpanmapthreshold",{"_index":382,"name":{"747":{}},"parent":{}}],["minpitchmapthreshold",{"_index":384,"name":{"749":{}},"parent":{}}],["minrotatemapthreshold",{"_index":383,"name":{"748":{}},"parent":{}}],["minx",{"_index":8,"name":{"7":{}},"parent":{}}],["miny",{"_index":10,"name":{"8":{}},"parent":{}}],["mode",{"_index":177,"name":{"306":{},"448":{}},"parent":{}}],["model",{"_index":196,"name":{"327":{}},"parent":{}}],["modeldata",{"_index":186,"name":{"316":{}},"parent":{}}],["modelgeometry",{"_index":180,"name":{"310":{}},"parent":{}}],["modelstyle",{"_index":194,"name":{"323":{}},"parent":{}}],["modified",{"_index":255,"name":{"494":{}},"parent":{}}],["moved",{"_index":313,"name":{"560":{}},"parent":{}}],["mvtlayer",{"_index":225,"name":{"423":{}},"parent":{}}],["mvtlayeroptions",{"_index":219,"name":{"408":{}},"parent":{}}],["name",{"_index":52,"name":{"51":{},"55":{},"83":{},"151":{},"165":{},"184":{},"192":{},"215":{},"416":{},"441":{},"455":{},"474":{},"482":{},"983":{},"995":{},"1034":{},"1080":{},"1108":{},"1161":{},"1218":{},"1225":{},"1273":{},"1309":{},"1365":{},"1402":{},"1458":{},"1479":{}},"parent":{}}],["nativeevent",{"_index":366,"name":{"729":{},"828":{}},"parent":{}}],["navlink",{"_index":341,"name":{"624":{}},"parent":{}}],["navlink.disconnect",{"_index":510,"name":{"975":{},"991":{},"1001":{},"1052":{},"1100":{},"1133":{},"1190":{},"1232":{},"1241":{},"1301":{},"1337":{},"1394":{},"1430":{}},"parent":{}}],["navlink.split",{"_index":508,"name":{"974":{},"990":{},"1000":{},"1051":{},"1099":{},"1132":{},"1189":{},"1231":{},"1240":{},"1300":{},"1336":{},"1393":{},"1429":{}},"parent":{}}],["navlinkdisconnecthook",{"_index":450,"name":{"839":{}},"parent":{}}],["navlinkshape",{"_index":323,"name":{"584":{}},"parent":{}}],["navlinksplithook",{"_index":448,"name":{"837":{}},"parent":{}}],["normal",{"_index":184,"name":{"313":{}},"parent":{}}],["normalmap",{"_index":176,"name":{"305":{}},"parent":{}}],["ns:com:here:editor",{"_index":479,"name":{"910":{}},"parent":{}}],["offset",{"_index":106,"name":{"125":{},"294":{},"346":{}},"parent":{}}],["offsetx",{"_index":103,"name":{"122":{},"230":{},"244":{},"269":{},"357":{},"374":{}},"parent":{}}],["offsety",{"_index":104,"name":{"123":{},"231":{},"245":{},"270":{},"358":{},"375":{}},"parent":{}}],["offsetz",{"_index":105,"name":{"124":{},"232":{},"246":{},"271":{},"359":{},"376":{},"394":{}},"parent":{}}],["onlayeradd",{"_index":232,"name":{"452":{}},"parent":{}}],["onlayerremove",{"_index":233,"name":{"453":{}},"parent":{}}],["opacity",{"_index":93,"name":{"112":{},"226":{},"242":{},"266":{},"285":{},"309":{},"343":{},"355":{},"369":{},"393":{},"407":{}},"parent":{}}],["pan",{"_index":408,"name":{"780":{}},"parent":{}}],["params",{"_index":547,"name":{"1093":{},"1294":{},"1387":{}},"parent":{}}],["pitch",{"_index":389,"name":{"754":{},"757":{},"762":{}},"parent":{}}],["pixelpoint",{"_index":2,"name":{"2":{}},"parent":{}}],["pixelrect",{"_index":7,"name":{"6":{}},"parent":{}}],["pixeltogeo",{"_index":413,"name":{"785":{},"956":{},"1471":{}},"parent":{}}],["pixeltometer",{"_index":624,"name":{"1474":{}},"parent":{}}],["place",{"_index":354,"name":{"679":{}},"parent":{}}],["pointerevents",{"_index":137,"name":{"158":{},"214":{},"415":{},"440":{}},"parent":{}}],["pointsize",{"_index":178,"name":{"307":{}},"parent":{}}],["polygonstyle",{"_index":202,"name":{"333":{}},"parent":{}}],["pop",{"_index":268,"name":{"509":{}},"parent":{}}],["position",{"_index":181,"name":{"311":{}},"parent":{}}],["postprocessor",{"_index":142,"name":{"162":{},"980":{},"1105":{},"1306":{},"1399":{}},"parent":{}}],["preprocessor",{"_index":141,"name":{"161":{},"472":{},"979":{},"1104":{},"1305":{},"1398":{}},"parent":{}}],["priority",{"_index":109,"name":{"128":{},"274":{},"379":{}},"parent":{}}],["prop",{"_index":302,"name":{"540":{},"641":{},"664":{},"689":{},"713":{},"893":{},"916":{}},"parent":{}}],["properties",{"_index":29,"name":{"27":{},"92":{},"537":{},"557":{},"600":{},"638":{},"661":{},"686":{},"710":{},"851":{},"878":{},"890":{},"912":{}},"parent":{}}],["propertysearch",{"_index":587,"name":{"1288":{},"1381":{}},"parent":{}}],["provider",{"_index":135,"name":{"154":{},"419":{}},"parent":{}}],["push",{"_index":263,"name":{"502":{}},"parent":{}}],["quadkey",{"_index":41,"name":{"38":{}},"parent":{}}],["radius",{"_index":94,"name":{"113":{},"243":{},"356":{},"403":{}},"parent":{}}],["range",{"_index":423,"name":{"795":{},"835":{}},"parent":{}}],["rangesegment",{"_index":439,"name":{"817":{}},"parent":{}}],["rangeselector",{"_index":436,"name":{"812":{}},"parent":{}}],["readdirection",{"_index":524,"name":{"1007":{},"1058":{},"1139":{},"1196":{},"1247":{},"1343":{},"1436":{}},"parent":{}}],["readfeatureheight",{"_index":534,"name":{"1017":{},"1067":{},"1148":{},"1205":{},"1257":{},"1352":{},"1445":{}},"parent":{}}],["readpedestrianonly",{"_index":525,"name":{"1008":{},"1059":{},"1140":{},"1197":{},"1248":{},"1344":{},"1437":{}},"parent":{}}],["readroutinglink",{"_index":530,"name":{"1013":{},"1064":{},"1145":{},"1202":{},"1253":{},"1349":{},"1442":{}},"parent":{}}],["readroutingposition",{"_index":529,"name":{"1012":{},"1063":{},"1144":{},"1201":{},"1252":{},"1348":{},"1441":{}},"parent":{}}],["readroutingprovider",{"_index":528,"name":{"1011":{},"1062":{},"1143":{},"1200":{},"1251":{},"1347":{},"1440":{}},"parent":{}}],["readturnrestriction",{"_index":526,"name":{"1009":{},"1060":{},"1141":{},"1198":{},"1249":{},"1345":{},"1438":{}},"parent":{}}],["readzlevels",{"_index":522,"name":{"1005":{},"1056":{},"1137":{},"1194":{},"1245":{},"1341":{},"1434":{}},"parent":{}}],["redo",{"_index":498,"name":{"963":{}},"parent":{}}],["refresh",{"_index":412,"name":{"784":{}},"parent":{}}],["remote",{"_index":220,"name":{"409":{}},"parent":{}}],["remotetileprovider",{"_index":144,"name":{"167":{}},"parent":{}}],["remotetileprovideroptions",{"_index":138,"name":{"159":{}},"parent":{}}],["remove",{"_index":47,"name":{"46":{},"506":{},"545":{},"575":{},"593":{},"646":{},"669":{},"694":{},"718":{},"847":{},"875":{},"899":{},"922":{}},"parent":{}}],["removed",{"_index":256,"name":{"495":{}},"parent":{}}],["removeeventlistener",{"_index":58,"name":{"60":{},"71":{},"173":{},"202":{},"428":{},"485":{},"766":{},"937":{},"1022":{},"1071":{},"1152":{},"1209":{},"1261":{},"1356":{},"1449":{}},"parent":{}}],["removefeature",{"_index":74,"name":{"79":{},"180":{},"205":{},"431":{},"1030":{},"1076":{},"1157":{},"1214":{},"1269":{},"1361":{},"1454":{}},"parent":{}}],["removehook",{"_index":488,"name":{"940":{}},"parent":{}}],["removelayer",{"_index":411,"name":{"783":{},"949":{}},"parent":{}}],["removeobserver",{"_index":421,"name":{"793":{},"952":{}},"parent":{}}],["removeroutingpoint",{"_index":357,"name":{"682":{}},"parent":{}}],["removeshape",{"_index":462,"name":{"862":{}},"parent":{}}],["render",{"_index":234,"name":{"454":{}},"parent":{}}],["renderoptions",{"_index":228,"name":{"446":{}},"parent":{}}],["repeat",{"_index":110,"name":{"129":{},"252":{},"275":{},"380":{}},"parent":{}}],["resize",{"_index":417,"name":{"789":{}},"parent":{}}],["reversed",{"_index":442,"name":{"822":{}},"parent":{}}],["reversegeocode",{"_index":244,"name":{"467":{}},"parent":{}}],["reversegeocoder",{"_index":284,"name":{"524":{}},"parent":{}}],["revert",{"_index":493,"name":{"958":{}},"parent":{}}],["rotate",{"_index":200,"name":{"331":{},"755":{},"756":{},"763":{}},"parent":{}}],["rotation",{"_index":108,"name":{"127":{},"273":{},"378":{}},"parent":{}}],["routingpointprecision",{"_index":276,"name":{"516":{}},"parent":{}}],["scale",{"_index":198,"name":{"329":{}},"parent":{}}],["scalebyaltitude",{"_index":118,"name":{"138":{},"234":{},"254":{},"281":{},"296":{},"361":{},"387":{}},"parent":{}}],["search",{"_index":71,"name":{"76":{},"177":{},"208":{},"434":{},"946":{},"1027":{},"1045":{},"1126":{},"1183":{},"1266":{},"1331":{},"1424":{}},"parent":{}}],["segments",{"_index":433,"name":{"808":{}},"parent":{}}],["select",{"_index":304,"name":{"542":{},"576":{},"595":{},"643":{},"666":{},"691":{},"715":{},"896":{},"919":{}},"parent":{}}],["selected",{"_index":258,"name":{"497":{}},"parent":{}}],["services",{"_index":282,"name":{"522":{}},"parent":{}}],["setattributes",{"_index":464,"name":{"866":{}},"parent":{}}],["setbackgroundcolor",{"_index":394,"name":{"764":{}},"parent":{}}],["setbehavior",{"_index":401,"name":{"773":{}},"parent":{}}],["setcenter",{"_index":404,"name":{"776":{}},"parent":{}}],["setfeaturecoordinates",{"_index":73,"name":{"78":{},"179":{},"203":{},"429":{},"1029":{},"1075":{},"1156":{},"1213":{},"1268":{},"1360":{},"1453":{}},"parent":{}}],["setgeofence",{"_index":345,"name":{"629":{}},"parent":{}}],["setgeometry",{"_index":468,"name":{"871":{}},"parent":{}}],["setheader",{"_index":555,"name":{"1114":{},"1171":{},"1323":{},"1416":{}},"parent":{}}],["setheaders",{"_index":556,"name":{"1115":{},"1172":{},"1324":{},"1417":{}},"parent":{}}],["setmargin",{"_index":61,"name":{"63":{},"86":{},"187":{},"213":{},"439":{},"487":{},"1037":{},"1083":{},"1164":{},"1221":{},"1276":{},"1368":{},"1461":{}},"parent":{}}],["setparam",{"_index":560,"name":{"1119":{},"1176":{},"1328":{},"1421":{}},"parent":{}}],["setparams",{"_index":559,"name":{"1118":{},"1175":{},"1327":{},"1420":{}},"parent":{}}],["setproperties",{"_index":463,"name":{"865":{}},"parent":{}}],["setpropertysearch",{"_index":596,"name":{"1320":{},"1413":{}},"parent":{}}],["setselectedshapes",{"_index":300,"name":{"536":{},"635":{}},"parent":{}}],["setstyle",{"_index":153,"name":{"211":{},"437":{}},"parent":{}}],["setstylegroup",{"_index":151,"name":{"206":{},"432":{}},"parent":{}}],["settags",{"_index":595,"name":{"1319":{},"1412":{}},"parent":{}}],["setviewbounds",{"_index":396,"name":{"768":{}},"parent":{}}],["setzlevels",{"_index":347,"name":{"636":{}},"parent":{}}],["setzoomlevel",{"_index":403,"name":{"775":{},"954":{}},"parent":{}}],["shininess",{"_index":173,"name":{"302":{}},"parent":{}}],["show",{"_index":290,"name":{"528":{},"620":{},"814":{}},"parent":{}}],["showdirectionhint",{"_index":344,"name":{"628":{}},"parent":{}}],["side",{"_index":425,"name":{"797":{}},"parent":{}}],["snap",{"_index":434,"name":{"809":{}},"parent":{}}],["snapshot",{"_index":399,"name":{"771":{}},"parent":{}}],["snaptolerance",{"_index":275,"name":{"515":{},"810":{}},"parent":{}}],["space",{"_index":579,"name":{"1281":{}},"parent":{}}],["spaceprovider",{"_index":593,"name":{"1311":{}},"parent":{}}],["spaceprovideroptions",{"_index":578,"name":{"1280":{}},"parent":{}}],["specular",{"_index":174,"name":{"303":{}},"parent":{}}],["specularmap",{"_index":175,"name":{"304":{}},"parent":{}}],["spherestyle",{"_index":204,"name":{"350":{}},"parent":{}}],["split",{"_index":257,"name":{"496":{}},"parent":{}}],["splitlink",{"_index":331,"name":{"597":{}},"parent":{}}],["src",{"_index":86,"name":{"105":{},"259":{}},"parent":{}}],["start",{"_index":466,"name":{"868":{}},"parent":{}}],["stops",{"_index":213,"name":{"397":{}},"parent":{}}],["stroke",{"_index":88,"name":{"107":{},"224":{},"240":{},"286":{},"338":{},"367":{},"392":{}},"parent":{}}],["strokedasharray",{"_index":92,"name":{"111":{},"290":{},"342":{}},"parent":{}}],["strokedashimage",{"_index":166,"name":{"291":{}},"parent":{}}],["strokelinecap",{"_index":90,"name":{"109":{},"288":{},"340":{}},"parent":{}}],["strokelinejoin",{"_index":91,"name":{"110":{},"289":{},"341":{}},"parent":{}}],["strokewidth",{"_index":89,"name":{"108":{},"225":{},"241":{},"287":{},"339":{},"368":{}},"parent":{}}],["style",{"_index":82,"name":{"101":{},"155":{},"420":{},"539":{},"640":{},"663":{},"688":{},"712":{},"801":{},"892":{},"915":{}},"parent":{}}],["stylegroups",{"_index":122,"name":{"141":{}},"parent":{}}],["stylevaluefunction",{"_index":126,"name":{"145":{}},"parent":{}}],["stylezoomrange",{"_index":128,"name":{"147":{}},"parent":{}}],["submit",{"_index":499,"name":{"964":{}},"parent":{}}],["tags",{"_index":585,"name":{"1285":{},"1378":{}},"parent":{}}],["target",{"_index":369,"name":{"732":{},"830":{}},"parent":{}}],["text",{"_index":99,"name":{"118":{},"371":{}},"parent":{}}],["textanchor",{"_index":208,"name":{"372":{}},"parent":{}}],["textref",{"_index":100,"name":{"119":{},"373":{}},"parent":{}}],["textstyle",{"_index":206,"name":{"362":{}},"parent":{}}],["textures",{"_index":189,"name":{"318":{}},"parent":{}}],["tile",{"_index":40,"name":{"37":{}},"parent":{}}],["tilelayer",{"_index":149,"name":{"197":{}},"parent":{}}],["tilelayeroptions",{"_index":131,"name":{"150":{}},"parent":{}}],["tileprovider",{"_index":54,"name":{"53":{}},"parent":{}}],["tileprovideroptions",{"_index":50,"name":{"49":{}},"parent":{}}],["tilesize",{"_index":136,"name":{"157":{},"414":{},"422":{}},"parent":{}}],["timestamp",{"_index":368,"name":{"731":{},"825":{}},"parent":{}}],["to",{"_index":102,"name":{"121":{},"293":{},"345":{},"799":{},"821":{}},"parent":{}}],["toarray",{"_index":265,"name":{"504":{}},"parent":{}}],["togeojsoncoordinates",{"_index":502,"name":{"968":{}},"parent":{}}],["tojson",{"_index":80,"name":{"99":{},"553":{},"582":{},"607":{},"654":{},"677":{},"702":{},"726":{},"858":{},"885":{},"907":{},"930":{}},"parent":{}}],["token",{"_index":605,"name":{"1377":{}},"parent":{}}],["transform",{"_index":201,"name":{"332":{},"507":{},"544":{},"645":{},"668":{},"693":{},"717":{},"898":{},"921":{}},"parent":{}}],["translate",{"_index":199,"name":{"330":{}},"parent":{}}],["turnrestrictioneditor",{"_index":289,"name":{"527":{}},"parent":{}}],["type",{"_index":27,"name":{"25":{},"30":{},"33":{},"42":{},"93":{},"96":{},"102":{},"220":{},"236":{},"256":{},"283":{},"324":{},"334":{},"351":{},"363":{},"389":{},"396":{},"400":{},"500":{},"547":{},"550":{},"568":{},"580":{},"601":{},"604":{},"616":{},"648":{},"651":{},"671":{},"674":{},"696":{},"699":{},"720":{},"723":{},"730":{},"824":{},"852":{},"855":{},"879":{},"882":{},"901":{},"904":{},"924":{},"927":{}},"parent":{}}],["ui",{"_index":374,"name":{"738":{}},"parent":{}}],["undo",{"_index":497,"name":{"962":{}},"parent":{}}],["unhighlight",{"_index":267,"name":{"508":{}},"parent":{}}],["unselect",{"_index":305,"name":{"543":{},"577":{},"596":{},"644":{},"667":{},"692":{},"716":{},"897":{},"920":{}},"parent":{}}],["url",{"_index":223,"name":{"411":{},"470":{},"1088":{},"1287":{},"1312":{},"1380":{},"1407":{}},"parent":{}}],["uv",{"_index":185,"name":{"314":{}},"parent":{}}],["version",{"_index":240,"name":{"463":{}},"parent":{}}],["verticallinestyle",{"_index":209,"name":{"388":{}},"parent":{}}],["webmercator",{"_index":615,"name":{"1464":{}},"parent":{}}],["weight",{"_index":217,"name":{"405":{}},"parent":{}}],["width",{"_index":95,"name":{"114":{},"227":{},"264":{},"267":{}},"parent":{}}],["withcredentials",{"_index":543,"name":{"1089":{},"1290":{},"1383":{}},"parent":{}}],["writeeditstate",{"_index":533,"name":{"1016":{},"1048":{},"1129":{},"1186":{},"1256":{},"1333":{},"1426":{}},"parent":{}}],["writefeatureheight",{"_index":535,"name":{"1018":{},"1068":{},"1149":{},"1206":{},"1258":{},"1353":{},"1446":{}},"parent":{}}],["writeroutinglink",{"_index":532,"name":{"1015":{},"1066":{},"1147":{},"1204":{},"1255":{},"1351":{},"1444":{}},"parent":{}}],["writeroutingposition",{"_index":531,"name":{"1014":{},"1065":{},"1146":{},"1203":{},"1254":{},"1350":{},"1443":{}},"parent":{}}],["writeturnrestriction",{"_index":527,"name":{"1010":{},"1061":{},"1142":{},"1199":{},"1250":{},"1346":{},"1439":{}},"parent":{}}],["writezlevels",{"_index":523,"name":{"1006":{},"1057":{},"1138":{},"1195":{},"1246":{},"1342":{},"1435":{}},"parent":{}}],["x",{"_index":3,"name":{"3":{},"41":{},"262":{},"562":{},"611":{}},"parent":{}}],["x2lon",{"_index":621,"name":{"1469":{}},"parent":{}}],["y",{"_index":5,"name":{"4":{},"40":{},"263":{},"563":{},"612":{}},"parent":{}}],["y2lat",{"_index":622,"name":{"1470":{}},"parent":{}}],["z",{"_index":43,"name":{"39":{},"564":{}},"parent":{}}],["zindex",{"_index":84,"name":{"103":{},"221":{},"237":{},"257":{},"325":{},"335":{},"352":{},"364":{},"390":{},"401":{},"449":{}},"parent":{}}],["zlayer",{"_index":85,"name":{"104":{},"222":{},"238":{},"258":{},"284":{},"326":{},"336":{},"353":{},"365":{},"391":{},"402":{},"450":{}},"parent":{}}],["zoom",{"_index":386,"name":{"752":{}},"parent":{}}],["zoomanimationms",{"_index":390,"name":{"758":{}},"parent":{}}],["zoomlevel",{"_index":377,"name":{"740":{}},"parent":{}}]],"pipeline":[]}} \ No newline at end of file diff --git a/docs/classes/core.customlayer.html b/docs/classes/core.customlayer.html new file mode 100644 index 000000000..226931611 --- /dev/null +++ b/docs/classes/core.customlayer.html @@ -0,0 +1,464 @@ + + + + + + CustomLayer | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class CustomLayer

+
+
+
+
+
+
+
+
+
+

The CustomLayer can be used to integrate custom renderers to the map display.

+
+
+
+
+

Hierarchy

+
    +
  • + Layer +
      +
    • + CustomLayer +
    • +
    +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new CustomLayer(options?: CustomLayerOptions): CustomLayer
  • +
+
    +
  • + +
    +
    +

    Parameters

    +
      +
    • +
      Optional options: CustomLayerOptions
      +
      +
      +

      options to configure the CustomLayer

      +
      +
      +
    • +
    +

    Returns CustomLayer

    +
  • +
+
+
+
+

Properties

+
+ +

Readonly id

+
id: string
+ +
+
+

The identifier of the Layer.

+
+
+
+
+ +

max

+
max: number
+ +
+
+

maximum zoom level at which data from the Layer will be displayed.

+
+
+
+
+ +

min

+
min: number
+ +
+
+

minimum zoom level at which data from the Layer is displayed.

+
+
+
+
+ +

name

+
name: string = ""
+ +
+
+

The name of the Layer

+
+
+
+
+ +

renderOptions

+
renderOptions: { mode?: "2d" | "3d" | string; zIndex?: number; zLayer?: number }
+ +
+
+

Options to configure the renderer.

+
+
+
+

Type declaration

+
    +
  • +
    Optional mode?: "2d" | "3d" | string
    +
    +
    +

    The used rendering mode. + Use '2d' for traditional flat map layers that are located on the ground-plane, otherwise '3d'.

    +
    +
    +
    defaultvalue:
    +

    '2d'

    +
    +
    +
    +
  • +
  • +
    Optional zIndex?: number
    +
    +
    +

    Indicates the drawing order within the layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

    +
    +
    +
  • +
  • +
    Optional zLayer?: number
    +
    +
    +

    Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

    +
    +
    +
    example
    +

    {...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

    +
    +
    +
    +
  • +
+
+
+
+
+

Methods

+
+ +

onLayerAdd

+
    +
  • onLayerAdd(ev: CustomEvent): void
  • +
+
    +
  • + +
    +
    +

    Event Listener that will be called when the layer is added to the display.

    +
    +
    +

    Parameters

    +
      +
    • +
      ev: CustomEvent
      +
      +

      Event of type "layerAdd"

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

onLayerRemove

+
    +
  • onLayerRemove(ev: CustomEvent): void
  • +
+
    +
  • + +
    +
    +

    Event Listener that will be called when the layer is removed from the display.

    +
    +
    +

    Parameters

    +
      +
    • +
      ev: CustomEvent
      +
      +

      Event of type "layerRemove"

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

render

+
    +
  • render(context: WebGLRenderingContext | CanvasRenderingContext2D, matrix: Float64Array): void
  • +
+
    +
  • + +
    +
    +

    The render function will be called each frame. + It enables seamless drawing into the rendering context of the map. + The context states are correctly set already to allow "simple" drawing at the respective zIndex/zLayer. + The camera matrix projects from the world coordinate system (WebMercator projected, topLeft [0,0] -> bottomRight [1,1]) to the clipspace.

    +
    +
    +

    Parameters

    +
      +
    • +
      context: WebGLRenderingContext | CanvasRenderingContext2D
      +
      +

      the rendering context of the map.

      +
      +
    • +
    • +
      matrix: Float64Array
      +
      +

      the camera matrix of the map.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.editablefeatureprovider.html b/docs/classes/core.editablefeatureprovider.html new file mode 100644 index 000000000..9d11a1a4f --- /dev/null +++ b/docs/classes/core.editablefeatureprovider.html @@ -0,0 +1,2061 @@ + + + + + + EditableFeatureProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class EditableFeatureProvider

+
+
+
+
+
+
+
+
+
+

EditableFeatureProvider is an abstract FeatureTileProvider that can be edited using the Editor module.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" property is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

config

+ + +
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

detectFeatureClass

+
    +
  • detectFeatureClass(feature: Feature): "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null
  • +
+
    +
  • + +
    +
    +

    This method is used to determine the FeatureClass required to edit the feature. + The FeatureClass defines how a certain feature behaves when its getting edited.

    +
    +

    By default, the Editor handles all features of geometry type 'LineString' as Line, 'Point' as Marker and '(Multi)Polygon' as Area.

    +

    If you want to edit features with FeatureClass 'NAVLINK', 'PLACE' or 'ADDRESS' this method must be overridden to enable editing of Navlinks, Places or Addresses.

    +
    +

    Parameters

    + +

    Returns "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null

    +

    the FeatureClass of the feature, or null if the feature should not be editable.

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: string[] | number[]): Feature[] | Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: string[] | number[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    +

    Returns Feature[] | Feature | undefined

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, callback?: (tile: Tile) => void): Tile | undefined
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      Optional callback: (tile: Tile) => void
      +
      +

      the callback function

      +
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns Tile | undefined

    +

    the Tile

    +
  • +
+
+
+ +

Abstract readDirection

+
    +
  • readDirection(navlink: Navlink): "BOTH" | "START_TO_END" | "END_TO_START"
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the direction of travel of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose direction is requested

      +
      +
    • +
    +

    Returns "BOTH" | "START_TO_END" | "END_TO_START"

    +
  • +
+
+
+ +

Abstract readFeatureHeight

+
    +
  • readFeatureHeight(feature: Feature): number | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height is requested.

      +
      +
    • +
    +

    Returns number | null

    +

    The height in meters of the Building/Area or null if the Area is considered flat.

    +
  • +
+
+
+ +

Abstract readPedestrianOnly

+
    +
  • readPedestrianOnly(navlink: Navlink): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining if a Navlink feature can be accessed by pedestrians only.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink

      +
      +
    • +
    +

    Returns boolean

    +

    true, if the Navlink can be accessed by pedestrians only, otherwise false.

    +
  • +
+
+
+ +

Abstract readRoutingLink

+
    +
  • readRoutingLink(feature: Feature): NavlinkId | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the Navlink Feature on which the RoutingPoint of an Address or Place feature is located. + For Addresses an Id must be returned. If null is returned for a Place, the Place is treated as "floating" without a RoutingPoint.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink of the RoutingPoint is requested.

      +
      +
    • +
    +

    Returns NavlinkId | null

    +

    the Id of the Navlink on which the RoutingPoint is located.

    +
  • +
+
+
+ +

Abstract readRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute reader for obtaining the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns GeoJSONCoordinate | null

    +

    GeoJSON Coordinate representing the geographical position of the RoutingPoint or null if a Place does not have a RoutingPoint.

    +
  • +
+
+
+ +

Abstract readRoutingProvider

+
    +
  • readRoutingProvider(feature: Feature): string | undefined
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the TileProvider containing the corresponding Navlink, of an Address or Place feature, on which the RoutingPoint is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns string | undefined

    +

    the Id of the TileProvider in which the object is stored. If undefined is returned, the RoutingPoint's Navlink is assumed to be in the same TileProvider as the Address/Place.

    +
  • +
+
+
+ +

Abstract readTurnRestriction

+
    +
  • readTurnRestriction(turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    true if turn is allowed, otherwise false.

    +
  • +
+
+
+ +

Abstract readZLevels

+
    +
  • readZLevels(navlink: Navlink): number[]
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels are requested

      +
      +
    • +
    +

    Returns number[]

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+ +
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +layer.search({id: 1058507462})
    +// or:
    +layer.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +layer.search({
    + point: { longitude: 72.84205, latitude: 18.97172 },
    + radius: 100
    +})
    +
    +// searching by Rect:
    +layer.search({
    + rect:  { minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876 }
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Array of feature ids to search.

        +
        +
        +
      • +
      • +
        Optional point?: GeoPoint
        +
        +
        +

        Geographical center point of the point to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the point in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature | Feature[]

    +

    array of features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { radius: number }
      +
      +

      configure the search

      +
      +
        +
      • +
        radius: number
        +
        +
        +

        The radius of the circular area in meters to search in.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +layer.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    layer.search(1058507462)
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract writeEditState

+
    +
  • writeEditState(feature: Feature, editState: "created" | "modified" | "removed" | "split"): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the EditStates of a Feature. + The EditStates provide information about whether a feature has been created, modified, removed or split.

    +
    +

    By default EditStates aren't tracked/stored.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Feature whose EditState should be written.

      +
      +
    • +
    • +
      editState: "created" | "modified" | "removed" | "split"
      +
      +

      the EditState to store

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeFeatureHeight

+
    +
  • writeFeatureHeight(feature: Feature, height: number | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height should be updated/written.

      +
      +
    • +
    • +
      height: number | null
      +
      +

      The height specified in meters

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingLink

+
    +
  • writeRoutingLink(feature: Feature, position: any, navlink: Navlink | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Navlink reference on which the RoutingPoint of an Address or Place feature is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink reference of the RoutingPoint to store.

      +
      +
    • +
    • +
      position: any
      +
    • +
    • +
      navlink: Navlink | null
      +
      +

      The navlink whose reference is to be written, or null in case of a Place becomes "floating" and has no RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute writer to store the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingPoint position to write.

      +
      +
    • +
    • +
      position: GeoJSONCoordinate | null
      +
      +

      the geographical position of the RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeTurnRestriction

+
    +
  • writeTurnRestriction(restricted: boolean, turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer to store turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      restricted: boolean
      +
      +

      Indicates if the turn is allowed (true) or forbidden (false)

      +
      +
    • +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeZLevels

+
    +
  • writeZLevels(navlink: Navlink, zLevels: number[]): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for writing the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels should be set

      +
      +
    • +
    • +
      zLevels: number[]
      +
      +

      An array containing the zLevel for each coordinate of the Navlink

      +
      +
    • +
    +

    Returns any

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Inherited constructor
  • +
  • Inherited property
  • +
  • Inherited method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.editableremotetileprovider.html b/docs/classes/core.editableremotetileprovider.html new file mode 100644 index 000000000..ff7903789 --- /dev/null +++ b/docs/classes/core.editableremotetileprovider.html @@ -0,0 +1,2879 @@ + + + + + + EditableRemoteTileProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class EditableRemoteTileProvider

+
+
+
+
+
+
+
+
+
+

EditableRemoteTileProvider is a remote tile provider that can be edited using the Editor module.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

Protected constructor

+ + +
+
+
+

Properties

+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" property is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

cancel

+
    +
  • cancel(quadkey: string): void
  • +
  • cancel(tile: Tile): void
  • +
+
    +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      tile: Tile
      +
      +

      the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract commit

+ +
    +
  • + +
    +
    +

    Commit modified/removed features to the remote backend.

    +
    +
    +

    Parameters

    +
      +
    • +
      data: { put?: GeoJSONFeature[]; remove?: GeoJSONFeature[] }
      +
      +

      the data that should be commit to the remote.

      +
      +
        +
      • +
        Optional put?: GeoJSONFeature[]
        +
        +
        +

        features that should be created or updated

        +
        +
        +
      • +
      • +
        Optional remove?: GeoJSONFeature[]
        +
        +
        +

        features that should be removed

        +
        +
        +
      • +
      +
    • +
    • +
      Optional onSuccess: any
      +
      +

      callback function that will be called when data has been commit successfully

      +
      +
    • +
    • +
      Optional onError: any
      +
      +

      callback function that will be called when an error occurs

      +
      +
    • +
    • +
      Optional transactionId: string
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

config

+ + +
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

detectFeatureClass

+
    +
  • detectFeatureClass(feature: Feature): "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null
  • +
+
    +
  • + +
    +
    +

    This method is used to determine the FeatureClass required to edit the feature. + The FeatureClass defines how a certain feature behaves when its getting edited.

    +
    +

    By default, the Editor handles all features of geometry type 'LineString' as Line, 'Point' as Marker and '(Multi)Polygon' as Area.

    +

    If you want to edit features with FeatureClass 'NAVLINK', 'PLACE' or 'ADDRESS' this method must be overridden to enable editing of Navlinks, Places or Addresses.

    +
    +

    Parameters

    + +

    Returns "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null

    +

    the FeatureClass of the feature, or null if the feature should not be editable.

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: number[] | string[], options?: { onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
  • getFeatures(options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: number[] | string[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    • +
      Optional options: { onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        array of Features containing the search result.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search for a single feature by id

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        array of ids to search for multiple features

        +
        +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search

        +
        +
        +
        param
        +

        Result array of features

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, cb: (tile: Tile) => void): any
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically. + Data will be fetched from remote data-sources and attached to tile automatically

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      cb: (tile: Tile) => void
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +

    the Tile

    +
  • +
+
+
+ +

Abstract readDirection

+
    +
  • readDirection(navlink: Navlink): "BOTH" | "START_TO_END" | "END_TO_START"
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the direction of travel of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose direction is requested

      +
      +
    • +
    +

    Returns "BOTH" | "START_TO_END" | "END_TO_START"

    +
  • +
+
+
+ +

Abstract readFeatureHeight

+
    +
  • readFeatureHeight(feature: Feature): number | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height is requested.

      +
      +
    • +
    +

    Returns number | null

    +

    The height in meters of the Building/Area or null if the Area is considered flat.

    +
  • +
+
+
+ +

Abstract readPedestrianOnly

+
    +
  • readPedestrianOnly(navlink: Navlink): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining if a Navlink feature can be accessed by pedestrians only.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink

      +
      +
    • +
    +

    Returns boolean

    +

    true, if the Navlink can be accessed by pedestrians only, otherwise false.

    +
  • +
+
+
+ +

Abstract readRoutingLink

+
    +
  • readRoutingLink(feature: Feature): NavlinkId | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the Navlink Feature on which the RoutingPoint of an Address or Place feature is located. + For Addresses an Id must be returned. If null is returned for a Place, the Place is treated as "floating" without a RoutingPoint.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink of the RoutingPoint is requested.

      +
      +
    • +
    +

    Returns NavlinkId | null

    +

    the Id of the Navlink on which the RoutingPoint is located.

    +
  • +
+
+
+ +

Abstract readRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute reader for obtaining the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns GeoJSONCoordinate | null

    +

    GeoJSON Coordinate representing the geographical position of the RoutingPoint or null if a Place does not have a RoutingPoint.

    +
  • +
+
+
+ +

Abstract readRoutingProvider

+
    +
  • readRoutingProvider(feature: Feature): string | undefined
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the TileProvider containing the corresponding Navlink, of an Address or Place feature, on which the RoutingPoint is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns string | undefined

    +

    the Id of the TileProvider in which the object is stored. If undefined is returned, the RoutingPoint's Navlink is assumed to be in the same TileProvider as the Address/Place.

    +
  • +
+
+
+ +

Abstract readTurnRestriction

+
    +
  • readTurnRestriction(turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    true if turn is allowed, otherwise false.

    +
  • +
+
+
+ +

Abstract readZLevels

+
    +
  • readZLevels(navlink: Navlink): number[]
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels are requested

      +
      +
    • +
    +

    Returns number[]

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+
    +
  • search(options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }): Feature[]
  • +
  • search(options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }): Feature
  • +
  • search(point: GeoPoint | GeoJSONCoordinate, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }): Feature[]
  • +
  • search(rect: GeoRect | GeoJSONBBox, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }): Feature[]
  • +
  • search(id: string | number, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }): Feature
  • +
+
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by ids:
    +provider.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +provider.search({
    +point: {longitude: 72.84205, latitude: 18.97172},
    +radius: 100
    +})
    +
    +// searching by Rect:
    +provider.search({
    + rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}
    +})
    +
    +// remote search:
    +provider.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876},
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Search features by Ids.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional point?: GeoPoint | GeoJSONCoordinate
        +
        +
        +

        Geographical center point of the circle to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the circle in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +provider.search({id: 1058507462})
    +
    +// remote search:
    +provider.search({
    +    id: 1058507462,
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        id: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint | GeoJSONCoordinate
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        radius: number
        +
        +
        +

        the radius of the circular area in meters to search in

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +provider.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +// remote search:
    +provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}, {
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    provider.search(1058507462)
    +
    +// remote search:
    +provider.search(1058507462,{
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

writeEditState

+
    +
  • writeEditState(feature: any, editState: "created" | "modified" | "removed" | "split"): void
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the EditStates of a Feature. + The EditStates provide information about whether a feature has been created, modified, removed or split.

    +
    +

    By default EditStates aren't tracked/stored.

    +
    +

    Parameters

    +
      +
    • +
      feature: any
      +
      +

      The Feature whose EditState should be written.

      +
      +
    • +
    • +
      editState: "created" | "modified" | "removed" | "split"
      +
      +

      the EditState to store

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract writeFeatureHeight

+
    +
  • writeFeatureHeight(feature: Feature, height: number | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height should be updated/written.

      +
      +
    • +
    • +
      height: number | null
      +
      +

      The height specified in meters

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingLink

+
    +
  • writeRoutingLink(feature: Feature, position: any, navlink: Navlink | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Navlink reference on which the RoutingPoint of an Address or Place feature is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink reference of the RoutingPoint to store.

      +
      +
    • +
    • +
      position: any
      +
    • +
    • +
      navlink: Navlink | null
      +
      +

      The navlink whose reference is to be written, or null in case of a Place becomes "floating" and has no RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute writer to store the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingPoint position to write.

      +
      +
    • +
    • +
      position: GeoJSONCoordinate | null
      +
      +

      the geographical position of the RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeTurnRestriction

+
    +
  • writeTurnRestriction(restricted: boolean, turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer to store turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      restricted: boolean
      +
      +

      Indicates if the turn is allowed (true) or forbidden (false)

      +
      +
    • +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeZLevels

+
    +
  • writeZLevels(navlink: Navlink, zLevels: number[]): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for writing the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels should be set

      +
      +
    • +
    • +
      zLevels: number[]
      +
      +

      An array containing the zLevel for each coordinate of the Navlink

      +
      +
    • +
    +

    Returns any

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.feature.html b/docs/classes/core.feature.html new file mode 100644 index 000000000..f176357c6 --- /dev/null +++ b/docs/classes/core.feature.html @@ -0,0 +1,385 @@ + + + + + + Feature | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Feature<GeometryType>

+
+
+
+
+
+
+
+
+
+

represents a Feature in GeoJSON Feature format.

+
+
+
+
+

Type parameters

+
    +
  • +

    GeometryType = string

    +
  • +
+
+
+

Hierarchy

+ +
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

geometry

+
geometry: { coordinates: GeometryType extends "Point" ? GeoJSONCoordinate : GeometryType extends "MultiPoint" ? GeoJSONCoordinate[] : GeometryType extends "LineString" ? GeoJSONCoordinate[] : GeometryType extends "MultiLineString" ? GeoJSONCoordinate[][] : GeometryType extends "Polygon" ? GeoJSONCoordinate[][] : GeometryType extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | GeometryType | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: GeometryType extends "Point" ? GeoJSONCoordinate : GeometryType extends "MultiPoint" ? GeoJSONCoordinate[] : GeometryType extends "LineString" ? GeoJSONCoordinate[] : GeometryType extends "MultiLineString" ? GeoJSONCoordinate[][] : GeometryType extends "Polygon" ? GeoJSONCoordinate[][] : GeometryType extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | GeometryType | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: {} | null
+ +
+
+

The properties associated with the feature.

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

getProvider

+ +
    +
  • + +
    +
    +

    Get The FeatureProvider where the Feature is stored in.

    +
    +
    +

    Returns FeatureProvider

    +
  • +
+
+
+ +

toJSON

+ +
    +
  • + +
    +
    +

    Get the Feature as a JSON Object.

    +
    +
    +

    Returns GeoJSONFeature

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.featureprovider.html b/docs/classes/core.featureprovider.html new file mode 100644 index 000000000..744168c5a --- /dev/null +++ b/docs/classes/core.featureprovider.html @@ -0,0 +1,1407 @@ + + + + + + FeatureProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class FeatureProvider

+
+
+
+
+
+
+
+
+
+

Feature provider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

config

+ + +
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: string[] | number[]): Feature[] | Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: string[] | number[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    +

    Returns Feature[] | Feature | undefined

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, callback?: (tile: Tile) => void): Tile | undefined
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      Optional callback: (tile: Tile) => void
      +
      +

      the callback function

      +
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns Tile | undefined

    +

    the Tile

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+ +
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +layer.search({id: 1058507462})
    +// or:
    +layer.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +layer.search({
    + point: { longitude: 72.84205, latitude: 18.97172 },
    + radius: 100
    +})
    +
    +// searching by Rect:
    +layer.search({
    + rect:  { minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876 }
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Array of feature ids to search.

        +
        +
        +
      • +
      • +
        Optional point?: GeoPoint
        +
        +
        +

        Geographical center point of the point to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the point in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature | Feature[]

    +

    array of features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { radius: number }
      +
      +

      configure the search

      +
      +
        +
      • +
        radius: number
        +
        +
        +

        The radius of the circular area in meters to search in.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +layer.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    layer.search(1058507462)
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ +
    +
  • + +
    +
    +

    Modify coordinates of a feature in the provider.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.geocoder.html b/docs/classes/core.geocoder.html new file mode 100644 index 000000000..e1c1f2a98 --- /dev/null +++ b/docs/classes/core.geocoder.html @@ -0,0 +1,477 @@ + + + + + + GeoCoder | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class GeoCoder

+
+
+
+
+
+
+
+
+
+

Provides basic geocode and reverse geocode functionality that allows you to:

+
    +
  • Obtain geocoordinates for addresses
  • +
  • Obtain addresses or administrative areas for locations
  • +
  • Obtain geocoordinates for known landmarks
  • +
+
+

Uses the HERE Geocoder API.

+
+
see
+

https://developer.here.com/documentation/geocoder/dev_guide/topics/what-is.html

+
+
+
+
+
+

Hierarchy

+
    +
  • + GeoCoder +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +
    +
    +

    Parameters

    +
      +
    • +
      options: GeoCoderOptions
      +
      +
      +

      Options to configure the GeoCoder.

      +
      +
      +
    • +
    +

    Returns GeoCoder

    +
  • +
+
+
+
+

Methods

+
+ +

geocode

+
    +
  • geocode(params: {}, onSuccess: (data: any) => void, onError?: (error: any) => void): void
  • +
+
    +
  • + + +

    Parameters

    +
      +
    • +
      params: {}
      +
      +

      additional parameters for geocode request

      +
      +
        +
      • +
        [name: string]: string | string[] | number | number[]
        +
      • +
      +
    • +
    • +
      onSuccess: (data: any) => void
      +
      +

      success callback

      +
      +
        +
      • +
          +
        • (data: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            data: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional onError: (error: any) => void
      +
      +

      error callback

      +
      +
        +
      • +
          +
        • (error: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            error: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

getIsoCountryCode

+
    +
  • getIsoCountryCode(position: number[] | GeoPoint, onSuccess: (isocc: string, data: any) => void, onError: (error: any) => void): void
  • +
+
    +
  • + +
    +
    +

    HTTPRequest reverse geocode request to receive ISO country code for a geographical position.

    +
    +
    +

    Parameters

    +
      +
    • +
      position: number[] | GeoPoint
      +
      +

      it is either an array [longitude, latitude] or an object literal {longitude: number, latitude: number}

      +
      +
    • +
    • +
      onSuccess: (isocc: string, data: any) => void
      +
      +

      success callback which contains the iso country code.

      +
      +
        +
      • +
          +
        • (isocc: string, data: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            isocc: string
            +
          • +
          • +
            data: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      onError: (error: any) => void
      +
      +

      error callback

      +
      +
        +
      • +
          +
        • (error: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            error: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

reverseGeocode

+
    +
  • reverseGeocode(params: {}, onSuccess: (data: any) => void, onError: (error: any) => void): void
  • +
+
    +
  • + + +

    Parameters

    +
      +
    • +
      params: {}
      +
      +

      additional parameters for reverse geocode request

      +
      +
        +
      • +
        [name: string]: string | string[] | number | number[]
        +
      • +
      +
    • +
    • +
      onSuccess: (data: any) => void
      +
      +

      success callback

      +
      +
        +
      • +
          +
        • (data: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            data: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      onError: (error: any) => void
      +
      +

      error callback

      +
      +
        +
      • +
          +
        • (error: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            error: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.geojsonprovider.html b/docs/classes/core.geojsonprovider.html new file mode 100644 index 000000000..86686b505 --- /dev/null +++ b/docs/classes/core.geojsonprovider.html @@ -0,0 +1,3277 @@ + + + + + + GeoJSONProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class GeoJSONProvider

+
+
+
+
+
+
+
+
+
+

GeoJSONProvider is a remote HTTPProvider designed to work with GeoJSON data.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" property is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

cancel

+
    +
  • cancel(quadkey: string): void
  • +
  • cancel(tile: Tile): void
  • +
+
    +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      tile: Tile
      +
      +

      the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract commit

+ +
    +
  • + +
    +
    +

    Commit modified/removed features to the remote backend.

    +
    +
    +

    Parameters

    +
      +
    • +
      data: { put?: GeoJSONFeature[]; remove?: GeoJSONFeature[] }
      +
      +

      the data that should be commit to the remote.

      +
      +
        +
      • +
        Optional put?: GeoJSONFeature[]
        +
        +
        +

        features that should be created or updated

        +
        +
        +
      • +
      • +
        Optional remove?: GeoJSONFeature[]
        +
        +
        +

        features that should be removed

        +
        +
        +
      • +
      +
    • +
    • +
      Optional onSuccess: any
      +
      +

      callback function that will be called when data has been commit successfully

      +
      +
    • +
    • +
      Optional onError: any
      +
      +

      callback function that will be called when an error occurs

      +
      +
    • +
    • +
      Optional transactionId: string
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

config

+ + +
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

detectFeatureClass

+
    +
  • detectFeatureClass(feature: Feature): "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null
  • +
+
    +
  • + +
    +
    +

    This method is used to determine the FeatureClass required to edit the feature. + The FeatureClass defines how a certain feature behaves when its getting edited.

    +
    +

    By default, the Editor handles all features of geometry type 'LineString' as Line, 'Point' as Marker and '(Multi)Polygon' as Area.

    +

    If you want to edit features with FeatureClass 'NAVLINK', 'PLACE' or 'ADDRESS' this method must be overridden to enable editing of Navlinks, Places or Addresses.

    +
    +

    Parameters

    + +

    Returns "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null

    +

    the FeatureClass of the feature, or null if the feature should not be editable.

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

Abstract getFeatureUrl

+
    +
  • getFeatureUrl(layer: string, featureId: string | number): string
  • +
+
    +
  • + +
    +
    +

    Get URL feature specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      layer: string
      +
      +

      the id of the layer

      +
      +
    • +
    • +
      featureId: string | number
      +
      +

      id of the feature the provider want's to request

      +
      +
    • +
    +

    Returns string

    +

    url string to receive the feature resource of the remote http backend

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: number[] | string[], options?: { onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
  • getFeatures(options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: number[] | string[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    • +
      Optional options: { onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        array of Features containing the search result.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search for a single feature by id

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        array of ids to search for multiple features

        +
        +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search

        +
        +
        +
        param
        +

        Result array of features

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getHeader

+
    +
  • getHeader(name: string): string | null
  • +
+
    +
  • + +
    +
    +

    Get a specific request-header being added to all requests handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of header to retrieve

      +
      +
    • +
    +

    Returns string | null

    +

    value of the request header or null if the header does not exist

    +
  • +
+
+
+ +

getHeaders

+
    +
  • getHeaders(): {}
  • +
+
    +
  • + +
    +
    +

    Get the request-headers being added to all requests handled by the provider.

    +
    +
    +

    Returns {}

    +

    Map of key value pairs. the key represents the header name

    +
      +
    • +
      [name: string]: string
      +
    • +
    +
  • +
+
+
+ +

Abstract getLayerUrl

+
    +
  • getLayerUrl(layer: string): string
  • +
+
    +
  • + +
    +
    +

    Get URL for layer specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      layer: string
      +
      +

      the id of the layer

      +
      +
    • +
    +

    Returns string

    +

    url string to receive a layer resource of the remote http backend

    +
  • +
+
+
+ +

getParam

+
    +
  • getParam(name: string): string | null
  • +
+
    +
  • + +
    +
    +

    Get a specific request-parameter that's being added by the provider to all requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of parameter to retrieve

      +
      +
    • +
    +

    Returns string | null

    +

    value of the request parameter or null if the parameter does not exist

    +
  • +
+
+
+ +

getParams

+
    +
  • getParams(): {}
  • +
+
    +
  • + +
    +
    +

    Get the request-parameters that are being added by the provider to all requests.

    +
    +
    +

    Returns {}

    +

    Map of key value pairs. the key represents the parameter name.

    +
      +
    • +
      [name: string]: string
      +
    • +
    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, cb: (tile: Tile) => void): any
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically. + Data will be fetched from remote data-sources and attached to tile automatically

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      cb: (tile: Tile) => void
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +

    the Tile

    +
  • +
+
+
+ +

Abstract getTileUrl

+
    +
  • getTileUrl(layer: string): string
  • +
+
    +
  • + +
    +
    +

    Get URL for tile specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      layer: string
      +
      +

      the id of the layer

      +
      +
    • +
    +

    Returns string

    +

    url string to receive a tile resource of the remote http backend

    +
  • +
+
+
+ +

Abstract readDirection

+
    +
  • readDirection(navlink: Navlink): "BOTH" | "START_TO_END" | "END_TO_START"
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the direction of travel of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose direction is requested

      +
      +
    • +
    +

    Returns "BOTH" | "START_TO_END" | "END_TO_START"

    +
  • +
+
+
+ +

Abstract readFeatureHeight

+
    +
  • readFeatureHeight(feature: Feature): number | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height is requested.

      +
      +
    • +
    +

    Returns number | null

    +

    The height in meters of the Building/Area or null if the Area is considered flat.

    +
  • +
+
+
+ +

Abstract readPedestrianOnly

+
    +
  • readPedestrianOnly(navlink: Navlink): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining if a Navlink feature can be accessed by pedestrians only.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink

      +
      +
    • +
    +

    Returns boolean

    +

    true, if the Navlink can be accessed by pedestrians only, otherwise false.

    +
  • +
+
+
+ +

Abstract readRoutingLink

+
    +
  • readRoutingLink(feature: Feature): NavlinkId | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the Navlink Feature on which the RoutingPoint of an Address or Place feature is located. + For Addresses an Id must be returned. If null is returned for a Place, the Place is treated as "floating" without a RoutingPoint.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink of the RoutingPoint is requested.

      +
      +
    • +
    +

    Returns NavlinkId | null

    +

    the Id of the Navlink on which the RoutingPoint is located.

    +
  • +
+
+
+ +

Abstract readRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute reader for obtaining the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns GeoJSONCoordinate | null

    +

    GeoJSON Coordinate representing the geographical position of the RoutingPoint or null if a Place does not have a RoutingPoint.

    +
  • +
+
+
+ +

Abstract readRoutingProvider

+
    +
  • readRoutingProvider(feature: Feature): string | undefined
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the TileProvider containing the corresponding Navlink, of an Address or Place feature, on which the RoutingPoint is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns string | undefined

    +

    the Id of the TileProvider in which the object is stored. If undefined is returned, the RoutingPoint's Navlink is assumed to be in the same TileProvider as the Address/Place.

    +
  • +
+
+
+ +

Abstract readTurnRestriction

+
    +
  • readTurnRestriction(turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    true if turn is allowed, otherwise false.

    +
  • +
+
+
+ +

Abstract readZLevels

+
    +
  • readZLevels(navlink: Navlink): number[]
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels are requested

      +
      +
    • +
    +

    Returns number[]

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+
    +
  • search(options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }): Feature[]
  • +
  • search(options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }): Feature
  • +
  • search(point: GeoPoint | GeoJSONCoordinate, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }): Feature[]
  • +
  • search(rect: GeoRect | GeoJSONBBox, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }): Feature[]
  • +
  • search(id: string | number, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }): Feature
  • +
+
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by ids:
    +provider.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +provider.search({
    +point: {longitude: 72.84205, latitude: 18.97172},
    +radius: 100
    +})
    +
    +// searching by Rect:
    +provider.search({
    + rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}
    +})
    +
    +// remote search:
    +provider.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876},
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Search features by Ids.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional point?: GeoPoint | GeoJSONCoordinate
        +
        +
        +

        Geographical center point of the circle to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the circle in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +provider.search({id: 1058507462})
    +
    +// remote search:
    +provider.search({
    +    id: 1058507462,
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        id: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint | GeoJSONCoordinate
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        radius: number
        +
        +
        +

        the radius of the circular area in meters to search in

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +provider.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +// remote search:
    +provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}, {
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    provider.search(1058507462)
    +
    +// remote search:
    +provider.search(1058507462,{
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setHeader

+
    +
  • setHeader(name: string, value: string): void
  • +
+
    +
  • + +
    +
    +

    Set request-header that should be added to all request handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of the header whose value is to be set.

      +
      +
    • +
    • +
      value: string
      +
      +

      The value to set as the body of the header.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setHeaders

+
    +
  • setHeaders(headers: {}): void
  • +
+
    +
  • + +
    +
    +

    Set request-headers that should be added to all request handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      headers: {}
      +
        +
      • +
        [name: string]: string
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setParam

+
    +
  • setParam(name: string, value: string | string[] | undefined): void
  • +
+
    +
  • + +
    +
    +

    Set a specific request-parameter that should be added to all request handled by provider. + If undefined is set the parameter get's cleared/removed.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of the parameter whose value is to be set.

      +
      +
    • +
    • +
      value: string | string[] | undefined
      +
      +

      The value(s) of the parameter.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setParams

+
    +
  • setParams(parameters: {}): void
  • +
+
    +
  • + +
    +
    +

    Set request-parameters that should be added to all request handled by provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: {}
      +
        +
      • +
        [name: string]: string | string[] | undefined
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

writeEditState

+
    +
  • writeEditState(feature: any, editState: "created" | "modified" | "removed" | "split"): void
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the EditStates of a Feature. + The EditStates provide information about whether a feature has been created, modified, removed or split.

    +
    +

    By default EditStates aren't tracked/stored.

    +
    +

    Parameters

    +
      +
    • +
      feature: any
      +
      +

      The Feature whose EditState should be written.

      +
      +
    • +
    • +
      editState: "created" | "modified" | "removed" | "split"
      +
      +

      the EditState to store

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract writeFeatureHeight

+
    +
  • writeFeatureHeight(feature: Feature, height: number | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height should be updated/written.

      +
      +
    • +
    • +
      height: number | null
      +
      +

      The height specified in meters

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingLink

+
    +
  • writeRoutingLink(feature: Feature, position: any, navlink: Navlink | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Navlink reference on which the RoutingPoint of an Address or Place feature is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink reference of the RoutingPoint to store.

      +
      +
    • +
    • +
      position: any
      +
    • +
    • +
      navlink: Navlink | null
      +
      +

      The navlink whose reference is to be written, or null in case of a Place becomes "floating" and has no RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute writer to store the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingPoint position to write.

      +
      +
    • +
    • +
      position: GeoJSONCoordinate | null
      +
      +

      the geographical position of the RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeTurnRestriction

+
    +
  • writeTurnRestriction(restricted: boolean, turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer to store turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      restricted: boolean
      +
      +

      Indicates if the turn is allowed (true) or forbidden (false)

      +
      +
    • +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeZLevels

+
    +
  • writeZLevels(navlink: Navlink, zLevels: number[]): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for writing the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels should be set

      +
      +
    • +
    • +
      zLevels: number[]
      +
      +

      An array containing the zLevel for each coordinate of the Navlink

      +
      +
    • +
    +

    Returns any

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.geopoint.html b/docs/classes/core.geopoint.html new file mode 100644 index 000000000..b9c2fc7ff --- /dev/null +++ b/docs/classes/core.geopoint.html @@ -0,0 +1,275 @@ + + + + + + GeoPoint | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class GeoPoint

+
+
+
+
+
+
+
+
+
+

A GeoPoint represents a geographical point.

+
+
+
+
+

Hierarchy

+
    +
  • + GeoPoint +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new GeoPoint(longitude: number, latitude: number, altitude?: number): GeoPoint
  • +
+
    +
  • + +
    +
    +

    Parameters

    +
      +
    • +
      longitude: number
      +
      +
      +

      the longitude in degrees

      +
      +
      +
    • +
    • +
      latitude: number
      +
      +
      +

      the latitude in degrees

      +
      +
      +
    • +
    • +
      Optional altitude: number
      +
      +
      +

      the altitude in degrees

      +
      +
      +
    • +
    +

    Returns GeoPoint

    +
  • +
+
+
+
+

Properties

+
+ +

Optional altitude

+
altitude: number
+ +
+
+

the altitude in meters

+
+
+
+
+ +

latitude

+
latitude: number
+ +
+
+

the latitude in degrees

+
+
+
+
+ +

longitude

+
longitude: number
+ +
+
+

the longitude in degrees

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.georect.html b/docs/classes/core.georect.html new file mode 100644 index 000000000..79a0f010a --- /dev/null +++ b/docs/classes/core.georect.html @@ -0,0 +1,300 @@ + + + + + + GeoRect | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class GeoRect

+
+
+
+
+
+
+
+
+
+

A GeoRect represents a rectangular geographical area. + The area is defined by two longitudes (west, east) and two latitudes (north, south).

+
+
+
+
+

Hierarchy

+
    +
  • + GeoRect +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new GeoRect(minLon: number, minLat: number, maxLon: number, maxLat: number): GeoRect
  • +
+
    +
  • + +
    +
    +

    Parameters

    +
      +
    • +
      minLon: number
      +
      +
      +

      minimum longitude (west)

      +
      +
      +
    • +
    • +
      minLat: number
      +
      +
      +

      minimum latitude (south)

      +
      +
      +
    • +
    • +
      maxLon: number
      +
      +
      +

      maximum longitude (east)

      +
      +
      +
    • +
    • +
      maxLat: number
      +
      +
      +

      maximum latitude (north)

      +
      +
      +
    • +
    +

    Returns GeoRect

    +
  • +
+
+
+
+

Properties

+
+ +

maxLat

+
maxLat: number
+ +
+
+

maximum latitude, the north-most latitude in degrees of the rectangular area

+
+
+
+
+ +

maxLon

+
maxLon: number
+ +
+
+

maximum longitude, the east-most longitude in degrees of the rectangular area

+
+
+
+
+ +

minLat

+
minLat: number
+ +
+
+

minimum latitude, the south-most latitude in degrees of the rectangular area

+
+
+
+
+ +

minLon

+
minLon: number
+ +
+
+

minimum longitude, the west-most longitude in degrees of the rectangular area

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.httpprovider.html b/docs/classes/core.httpprovider.html new file mode 100644 index 000000000..dfc6d095c --- /dev/null +++ b/docs/classes/core.httpprovider.html @@ -0,0 +1,3266 @@ + + + + + + HTTPProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class HTTPProvider

+
+
+
+
+
+
+
+
+
+

The HTTPProvider fetches data from remote HTTP data-sources.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" property is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

cancel

+
    +
  • cancel(quadkey: string): void
  • +
  • cancel(tile: Tile): void
  • +
+
    +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      tile: Tile
      +
      +

      the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract commit

+ +
    +
  • + +
    +
    +

    Commit modified/removed features to the remote backend.

    +
    +
    +

    Parameters

    +
      +
    • +
      data: { put?: GeoJSONFeature[]; remove?: GeoJSONFeature[] }
      +
      +

      the data that should be commit to the remote.

      +
      +
        +
      • +
        Optional put?: GeoJSONFeature[]
        +
        +
        +

        features that should be created or updated

        +
        +
        +
      • +
      • +
        Optional remove?: GeoJSONFeature[]
        +
        +
        +

        features that should be removed

        +
        +
        +
      • +
      +
    • +
    • +
      Optional onSuccess: any
      +
      +

      callback function that will be called when data has been commit successfully

      +
      +
    • +
    • +
      Optional onError: any
      +
      +

      callback function that will be called when an error occurs

      +
      +
    • +
    • +
      Optional transactionId: string
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

config

+ +
    +
  • + +
    +
    +

    update config options of the provider.

    +
    +
    +

    Parameters

    + +

    Returns this

    +
  • +
+
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

detectFeatureClass

+
    +
  • detectFeatureClass(feature: Feature): "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null
  • +
+
    +
  • + +
    +
    +

    This method is used to determine the FeatureClass required to edit the feature. + The FeatureClass defines how a certain feature behaves when its getting edited.

    +
    +

    By default, the Editor handles all features of geometry type 'LineString' as Line, 'Point' as Marker and '(Multi)Polygon' as Area.

    +

    If you want to edit features with FeatureClass 'NAVLINK', 'PLACE' or 'ADDRESS' this method must be overridden to enable editing of Navlinks, Places or Addresses.

    +
    +

    Parameters

    + +

    Returns "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null

    +

    the FeatureClass of the feature, or null if the feature should not be editable.

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

Abstract getFeatureUrl

+
    +
  • getFeatureUrl(layer: string, featureId: string | number): string
  • +
+
    +
  • + +
    +
    +

    Get URL feature specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      layer: string
      +
      +

      the id of the layer

      +
      +
    • +
    • +
      featureId: string | number
      +
      +

      id of the feature the provider want's to request

      +
      +
    • +
    +

    Returns string

    +

    url string to receive the feature resource of the remote http backend

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: number[] | string[], options?: { onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
  • getFeatures(options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: number[] | string[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    • +
      Optional options: { onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        array of Features containing the search result.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search for a single feature by id

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        array of ids to search for multiple features

        +
        +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search

        +
        +
        +
        param
        +

        Result array of features

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getHeader

+
    +
  • getHeader(name: string): string | null
  • +
+
    +
  • + +
    +
    +

    Get a specific request-header being added to all requests handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of header to retrieve

      +
      +
    • +
    +

    Returns string | null

    +

    value of the request header or null if the header does not exist

    +
  • +
+
+
+ +

getHeaders

+
    +
  • getHeaders(): {}
  • +
+
    +
  • + +
    +
    +

    Get the request-headers being added to all requests handled by the provider.

    +
    +
    +

    Returns {}

    +

    Map of key value pairs. the key represents the header name

    +
      +
    • +
      [name: string]: string
      +
    • +
    +
  • +
+
+
+ +

Abstract getLayerUrl

+
    +
  • getLayerUrl(layer: string): string
  • +
+
    +
  • + +
    +
    +

    Get URL for layer specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      layer: string
      +
      +

      the id of the layer

      +
      +
    • +
    +

    Returns string

    +

    url string to receive a layer resource of the remote http backend

    +
  • +
+
+
+ +

getParam

+
    +
  • getParam(name: string): string | null
  • +
+
    +
  • + +
    +
    +

    Get a specific request-parameter that's being added by the provider to all requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of parameter to retrieve

      +
      +
    • +
    +

    Returns string | null

    +

    value of the request parameter or null if the parameter does not exist

    +
  • +
+
+
+ +

getParams

+
    +
  • getParams(): {}
  • +
+
    +
  • + +
    +
    +

    Get the request-parameters that are being added by the provider to all requests.

    +
    +
    +

    Returns {}

    +

    Map of key value pairs. the key represents the parameter name.

    +
      +
    • +
      [name: string]: string
      +
    • +
    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, cb: (tile: Tile) => void): any
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically. + Data will be fetched from remote data-sources and attached to tile automatically

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      cb: (tile: Tile) => void
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +

    the Tile

    +
  • +
+
+
+ +

Abstract getTileUrl

+
    +
  • getTileUrl(layer: string): string
  • +
+
    +
  • + +
    +
    +

    Get URL for tile specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      layer: string
      +
      +

      the id of the layer

      +
      +
    • +
    +

    Returns string

    +

    url string to receive a tile resource of the remote http backend

    +
  • +
+
+
+ +

Abstract readDirection

+
    +
  • readDirection(navlink: Navlink): "BOTH" | "START_TO_END" | "END_TO_START"
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the direction of travel of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose direction is requested

      +
      +
    • +
    +

    Returns "BOTH" | "START_TO_END" | "END_TO_START"

    +
  • +
+
+
+ +

Abstract readFeatureHeight

+
    +
  • readFeatureHeight(feature: Feature): number | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height is requested.

      +
      +
    • +
    +

    Returns number | null

    +

    The height in meters of the Building/Area or null if the Area is considered flat.

    +
  • +
+
+
+ +

Abstract readPedestrianOnly

+
    +
  • readPedestrianOnly(navlink: Navlink): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining if a Navlink feature can be accessed by pedestrians only.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink

      +
      +
    • +
    +

    Returns boolean

    +

    true, if the Navlink can be accessed by pedestrians only, otherwise false.

    +
  • +
+
+
+ +

Abstract readRoutingLink

+
    +
  • readRoutingLink(feature: Feature): NavlinkId | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the Navlink Feature on which the RoutingPoint of an Address or Place feature is located. + For Addresses an Id must be returned. If null is returned for a Place, the Place is treated as "floating" without a RoutingPoint.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink of the RoutingPoint is requested.

      +
      +
    • +
    +

    Returns NavlinkId | null

    +

    the Id of the Navlink on which the RoutingPoint is located.

    +
  • +
+
+
+ +

Abstract readRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute reader for obtaining the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns GeoJSONCoordinate | null

    +

    GeoJSON Coordinate representing the geographical position of the RoutingPoint or null if a Place does not have a RoutingPoint.

    +
  • +
+
+
+ +

Abstract readRoutingProvider

+
    +
  • readRoutingProvider(feature: Feature): string | undefined
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the TileProvider containing the corresponding Navlink, of an Address or Place feature, on which the RoutingPoint is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns string | undefined

    +

    the Id of the TileProvider in which the object is stored. If undefined is returned, the RoutingPoint's Navlink is assumed to be in the same TileProvider as the Address/Place.

    +
  • +
+
+
+ +

Abstract readTurnRestriction

+
    +
  • readTurnRestriction(turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    true if turn is allowed, otherwise false.

    +
  • +
+
+
+ +

Abstract readZLevels

+
    +
  • readZLevels(navlink: Navlink): number[]
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels are requested

      +
      +
    • +
    +

    Returns number[]

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+
    +
  • search(options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }): Feature[]
  • +
  • search(options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }): Feature
  • +
  • search(point: GeoPoint | GeoJSONCoordinate, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }): Feature[]
  • +
  • search(rect: GeoRect | GeoJSONBBox, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }): Feature[]
  • +
  • search(id: string | number, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }): Feature
  • +
+
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by ids:
    +provider.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +provider.search({
    +point: {longitude: 72.84205, latitude: 18.97172},
    +radius: 100
    +})
    +
    +// searching by Rect:
    +provider.search({
    + rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}
    +})
    +
    +// remote search:
    +provider.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876},
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Search features by Ids.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional point?: GeoPoint | GeoJSONCoordinate
        +
        +
        +

        Geographical center point of the circle to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the circle in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +provider.search({id: 1058507462})
    +
    +// remote search:
    +provider.search({
    +    id: 1058507462,
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        id: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint | GeoJSONCoordinate
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        radius: number
        +
        +
        +

        the radius of the circular area in meters to search in

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +provider.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +// remote search:
    +provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}, {
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    provider.search(1058507462)
    +
    +// remote search:
    +provider.search(1058507462,{
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setHeader

+
    +
  • setHeader(name: string, value: string): void
  • +
+
    +
  • + +
    +
    +

    Set request-header that should be added to all request handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of the header whose value is to be set.

      +
      +
    • +
    • +
      value: string
      +
      +

      The value to set as the body of the header.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setHeaders

+
    +
  • setHeaders(headers: {}): void
  • +
+
    +
  • + +
    +
    +

    Set request-headers that should be added to all request handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      headers: {}
      +
        +
      • +
        [name: string]: string
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setParam

+
    +
  • setParam(name: string, value: string | string[] | undefined): void
  • +
+
    +
  • + +
    +
    +

    Set a specific request-parameter that should be added to all request handled by provider. + If undefined is set the parameter get's cleared/removed.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of the parameter whose value is to be set.

      +
      +
    • +
    • +
      value: string | string[] | undefined
      +
      +

      The value(s) of the parameter.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setParams

+
    +
  • setParams(parameters: {}): void
  • +
+
    +
  • + +
    +
    +

    Set request-parameters that should be added to all request handled by provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: {}
      +
        +
      • +
        [name: string]: string | string[] | undefined
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

writeEditState

+
    +
  • writeEditState(feature: any, editState: "created" | "modified" | "removed" | "split"): void
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the EditStates of a Feature. + The EditStates provide information about whether a feature has been created, modified, removed or split.

    +
    +

    By default EditStates aren't tracked/stored.

    +
    +

    Parameters

    +
      +
    • +
      feature: any
      +
      +

      The Feature whose EditState should be written.

      +
      +
    • +
    • +
      editState: "created" | "modified" | "removed" | "split"
      +
      +

      the EditState to store

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract writeFeatureHeight

+
    +
  • writeFeatureHeight(feature: Feature, height: number | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height should be updated/written.

      +
      +
    • +
    • +
      height: number | null
      +
      +

      The height specified in meters

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingLink

+
    +
  • writeRoutingLink(feature: Feature, position: any, navlink: Navlink | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Navlink reference on which the RoutingPoint of an Address or Place feature is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink reference of the RoutingPoint to store.

      +
      +
    • +
    • +
      position: any
      +
    • +
    • +
      navlink: Navlink | null
      +
      +

      The navlink whose reference is to be written, or null in case of a Place becomes "floating" and has no RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute writer to store the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingPoint position to write.

      +
      +
    • +
    • +
      position: GeoJSONCoordinate | null
      +
      +

      the geographical position of the RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeTurnRestriction

+
    +
  • writeTurnRestriction(restricted: boolean, turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer to store turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      restricted: boolean
      +
      +

      Indicates if the turn is allowed (true) or forbidden (false)

      +
      +
    • +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeZLevels

+
    +
  • writeZLevels(navlink: Navlink, zLevels: number[]): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for writing the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels should be set

      +
      +
    • +
    • +
      zLevels: number[]
      +
      +

      An array containing the zLevel for each coordinate of the Navlink

      +
      +
    • +
    +

    Returns any

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.imageprovider.html b/docs/classes/core.imageprovider.html new file mode 100644 index 000000000..9715d7973 --- /dev/null +++ b/docs/classes/core.imageprovider.html @@ -0,0 +1,717 @@ + + + + + + ImageProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class ImageProvider

+
+
+
+
+
+
+
+
+
+

Tile Provider for Image/Raster data. + eg: Satellite Tiles.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

cancel

+
    +
  • cancel(quadkey: string): void
  • +
  • cancel(tile: Tile): void
  • +
+
    +
  • + +
    +
    +

    Cancel ongoing request(s) and drop the tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Cancel ongoing request(s) and drop the tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      tile: Tile
      +
      +

      the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear tiles in a given bounding box or all tiles called without parameter.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

config

+ + +
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, cb: (tile: Tile) => void): any
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      cb: (tile: Tile) => void
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +

    the Tile is returned if its already cached locally

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.imlprovider.html b/docs/classes/core.imlprovider.html new file mode 100644 index 000000000..dd6bdc84a --- /dev/null +++ b/docs/classes/core.imlprovider.html @@ -0,0 +1,3472 @@ + + + + + + IMLProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class IMLProvider

+
+
+
+
+
+
+
+
+
+

An IMLProvider is a remote HTTPProvider designed to work with HERE Interactive Map layer.

+
+
+
see
+

https://developer.here.com/documentation/data-api/data_dev_guide/rest/getting-data-interactive.html

+
+
see
+

https://interactive.data.api.platform.here.com/openapi/

+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +
    +
    +
    example
    +
    const provider = new IMLProvider({
    +    level: 10,
    +    layer: 'boston-liquor',
    +    catalog: 'hrn:here:data::olp-here:dh-showcase',
    +    credentials: {
    +        apiKey: "YOUR_API_KEY",
    +    }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns IMLProvider

    +
  • +
+
+
+
+

Properties

+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" property is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+ +

Readonly url

+
url: string
+ +
+
+

Base URL of the SpaceProvider. + It points to a XYZ-Hub space endpoint.

+
+
+
defaultvalue
+

"https://xyz.api.here.com/hub/spaces"

+
+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

cancel

+
    +
  • cancel(quadkey: string): void
  • +
  • cancel(tile: Tile): void
  • +
+
    +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      tile: Tile
      +
      +

      the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

commit

+ +
    +
  • + +
    +
    +

    Commit modified/removed features to the remote backend.

    +
    +
    +

    Parameters

    +
      +
    • +
      data: { put?: GeoJSONFeature[]; remove?: GeoJSONFeature[] }
      +
      +

      the data that should be commit to the remote.

      +
      +
        +
      • +
        Optional put?: GeoJSONFeature[]
        +
        +
        +

        features that should be created or updated

        +
        +
        +
      • +
      • +
        Optional remove?: GeoJSONFeature[]
        +
        +
        +

        features that should be removed

        +
        +
        +
      • +
      +
    • +
    • +
      Optional onSuccess: any
      +
      +

      callback function that will be called when data has been commit successfully

      +
      +
    • +
    • +
      Optional onError: any
      +
      +

      callback function that will be called when an error occurs

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

config

+ +
    +
  • + +
    +
    +

    update config options of the provider.

    +
    +
    +

    Parameters

    + +

    Returns this

    +
  • +
+
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

detectFeatureClass

+
    +
  • detectFeatureClass(feature: Feature): "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null
  • +
+
    +
  • + +
    +
    +

    This method is used to determine the FeatureClass required to edit the feature. + The FeatureClass defines how a certain feature behaves when its getting edited.

    +
    +

    By default, the Editor handles all features of geometry type 'LineString' as Line, 'Point' as Marker and '(Multi)Polygon' as Area.

    +

    If you want to edit features with FeatureClass 'NAVLINK', 'PLACE' or 'ADDRESS' this method must be overridden to enable editing of Navlinks, Places or Addresses.

    +
    +

    Parameters

    + +

    Returns "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null

    +

    the FeatureClass of the feature, or null if the feature should not be editable.

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

getFeatureUrl

+
    +
  • getFeatureUrl(space: string, ids: (string | number) | (string | number)[]): string
  • +
+
    +
  • + +
    +
    +

    Get the URL for feature specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      space: string
      +
      +

      Name of the XYZ-Hub Space.

      +
      +
    • +
    • +
      ids: (string | number) | (string | number)[]
      +
      +

      id(s) of the feature(s) the provider want's to request

      +
      +
    • +
    +

    Returns string

    +

    url string to receive the feature resource of the remote http backend

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: number[] | string[], options?: { onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
  • getFeatures(options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: number[] | string[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    • +
      Optional options: { onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        array of Features containing the search result.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search for a single feature by id

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        array of ids to search for multiple features

        +
        +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search

        +
        +
        +
        param
        +

        Result array of features

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getHeader

+
    +
  • getHeader(name: string): string | null
  • +
+
    +
  • + +
    +
    +

    Get a specific request-header being added to all requests handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of header to retrieve

      +
      +
    • +
    +

    Returns string | null

    +

    value of the request header or null if the header does not exist

    +
  • +
+
+
+ +

getHeaders

+
    +
  • getHeaders(): {}
  • +
+
    +
  • + +
    +
    +

    Get the request-headers being added to all requests handled by the provider.

    +
    +
    +

    Returns {}

    +

    Map of key value pairs. the key represents the header name

    +
      +
    • +
      [name: string]: string
      +
    • +
    +
  • +
+
+
+ +

getLayerUrl

+
    +
  • getLayerUrl(space: string): string
  • +
+
    +
  • + +
    +
    +

    Get URL for layer specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      space: string
      +
      +

      Name of the XYZ-Hub Space.

      +
      +
    • +
    +

    Returns string

    +

    url string to receive a layer resource of the remote http backend

    +
  • +
+
+
+ +

getParam

+
    +
  • getParam(name: string): string | null
  • +
+
    +
  • + +
    +
    +

    Get a specific request-parameter that's being added by the provider to all requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of parameter to retrieve

      +
      +
    • +
    +

    Returns string | null

    +

    value of the request parameter or null if the parameter does not exist

    +
  • +
+
+
+ +

getParams

+
    +
  • getParams(): {}
  • +
+
    +
  • + +
    +
    +

    Get the request-parameters that are being added by the provider to all requests.

    +
    +
    +

    Returns {}

    +

    Map of key value pairs. the key represents the parameter name.

    +
      +
    • +
      [name: string]: string
      +
    • +
    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, cb: (tile: Tile) => void): any
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically. + Data will be fetched from remote data-sources and attached to tile automatically

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      cb: (tile: Tile) => void
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +

    the Tile

    +
  • +
+
+
+ +

getTileUrl

+
    +
  • getTileUrl(space: string): string
  • +
+
    +
  • + +
    +
    +

    Get URL for tile specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      space: string
      +
      +

      Name of the XYZ-Hub Space.

      +
      +
    • +
    +

    Returns string

    +

    url string to receive a tile resource of the remote http backend

    +
  • +
+
+
+ +

Abstract readDirection

+
    +
  • readDirection(navlink: Navlink): "BOTH" | "START_TO_END" | "END_TO_START"
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the direction of travel of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose direction is requested

      +
      +
    • +
    +

    Returns "BOTH" | "START_TO_END" | "END_TO_START"

    +
  • +
+
+
+ +

Abstract readFeatureHeight

+
    +
  • readFeatureHeight(feature: Feature): number | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height is requested.

      +
      +
    • +
    +

    Returns number | null

    +

    The height in meters of the Building/Area or null if the Area is considered flat.

    +
  • +
+
+
+ +

Abstract readPedestrianOnly

+
    +
  • readPedestrianOnly(navlink: Navlink): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining if a Navlink feature can be accessed by pedestrians only.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink

      +
      +
    • +
    +

    Returns boolean

    +

    true, if the Navlink can be accessed by pedestrians only, otherwise false.

    +
  • +
+
+
+ +

Abstract readRoutingLink

+
    +
  • readRoutingLink(feature: Feature): NavlinkId | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the Navlink Feature on which the RoutingPoint of an Address or Place feature is located. + For Addresses an Id must be returned. If null is returned for a Place, the Place is treated as "floating" without a RoutingPoint.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink of the RoutingPoint is requested.

      +
      +
    • +
    +

    Returns NavlinkId | null

    +

    the Id of the Navlink on which the RoutingPoint is located.

    +
  • +
+
+
+ +

Abstract readRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute reader for obtaining the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns GeoJSONCoordinate | null

    +

    GeoJSON Coordinate representing the geographical position of the RoutingPoint or null if a Place does not have a RoutingPoint.

    +
  • +
+
+
+ +

Abstract readRoutingProvider

+
    +
  • readRoutingProvider(feature: Feature): string | undefined
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the TileProvider containing the corresponding Navlink, of an Address or Place feature, on which the RoutingPoint is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns string | undefined

    +

    the Id of the TileProvider in which the object is stored. If undefined is returned, the RoutingPoint's Navlink is assumed to be in the same TileProvider as the Address/Place.

    +
  • +
+
+
+ +

Abstract readTurnRestriction

+
    +
  • readTurnRestriction(turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    true if turn is allowed, otherwise false.

    +
  • +
+
+
+ +

Abstract readZLevels

+
    +
  • readZLevels(navlink: Navlink): number[]
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels are requested

      +
      +
    • +
    +

    Returns number[]

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+
    +
  • search(options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }): Feature[]
  • +
  • search(options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }): Feature
  • +
  • search(point: GeoPoint | GeoJSONCoordinate, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }): Feature[]
  • +
  • search(rect: GeoRect | GeoJSONBBox, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }): Feature[]
  • +
  • search(id: string | number, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }): Feature
  • +
+
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by ids:
    +provider.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +provider.search({
    +point: {longitude: 72.84205, latitude: 18.97172},
    +radius: 100
    +})
    +
    +// searching by Rect:
    +provider.search({
    + rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}
    +})
    +
    +// remote search:
    +provider.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876},
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Search features by Ids.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional point?: GeoPoint | GeoJSONCoordinate
        +
        +
        +

        Geographical center point of the circle to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the circle in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +provider.search({id: 1058507462})
    +
    +// remote search:
    +provider.search({
    +    id: 1058507462,
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        id: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint | GeoJSONCoordinate
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        radius: number
        +
        +
        +

        the radius of the circular area in meters to search in

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +provider.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +// remote search:
    +provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}, {
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    provider.search(1058507462)
    +
    +// remote search:
    +provider.search(1058507462,{
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setHeader

+
    +
  • setHeader(name: string, value: string): void
  • +
+
    +
  • + +
    +
    +

    Set request-header that should be added to all request handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of the header whose value is to be set.

      +
      +
    • +
    • +
      value: string
      +
      +

      The value to set as the body of the header.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setHeaders

+
    +
  • setHeaders(headers: {}): void
  • +
+
    +
  • + +
    +
    +

    Set request-headers that should be added to all request handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      headers: {}
      +
        +
      • +
        [name: string]: string
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setParam

+
    +
  • setParam(name: string, value: string | string[] | undefined): void
  • +
+
    +
  • + +
    +
    +

    Set a specific request-parameter that should be added to all request handled by provider. + If undefined is set the parameter get's cleared/removed.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of the parameter whose value is to be set.

      +
      +
    • +
    • +
      value: string | string[] | undefined
      +
      +

      The value(s) of the parameter.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setParams

+
    +
  • setParams(parameters: {}): void
  • +
+
    +
  • + +
    +
    +

    Set request-parameters that should be added to all request handled by provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: {}
      +
        +
      • +
        [name: string]: string | string[] | undefined
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setPropertySearch

+
    +
  • setPropertySearch(key: string, operator: "=" | "!=" | ">" | ">=" | "<" | "<=", value: string | number | boolean | string[] | number[] | boolean[]): void
  • +
  • setPropertySearch(propertySearchMap: {}): void
  • +
+
    +
  • + +
    +
    +

    Sets result filtering based on properties search in Hub backend. + https://www.here.xyz/api/devguide/propertiessearch/

    +
    +

    After setting the property search, the provider will clear all features and data will be + requested from hub using the property search filter. + The response will contain only the features matching all conditions in the query. + If function is called without arguments all filters will be cleared.

    +
    +
    example
    +
    // response will only contain features that have a property called 'name' with 'FirstName' as it's value
    +provider.setPropertySearch('name','=','FirstName')
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +
      +

      the name of property

      +
      +
    • +
    • +
      operator: "=" | "!=" | ">" | ">=" | "<" | "<="
      +
      +

      the operator used

      +
      +
    • +
    • +
      value: string | number | boolean | string[] | number[] | boolean[]
      +
      +

      value the value to be matched

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Sets result filtering based on properties search in Hub backend. + https://www.here.xyz/api/devguide/propertiessearch/ + After setting the property search, the provider will clear all features and data will be + requested from hub using the property search filter. + The response will contain only the features matching all conditions in the query. + If propertySearchMap is set to null or none is passed all previous set filters will be cleared.

    +
    +
    +
    example
    +
    // set multiple conditions
    +// provider will only contain features that have a property called name with the value Max OR Peter
    +// AND a property called age with value less than 32
    +provider.setPropertySearch({
    +    'name': {
    +        operator: '=',
    +        value: ['Max','Petra']
    +    },
    +   'age': {
    +        operator: '<',
    +        value: 32
    +   }
    +})
    +
    +
    +
    example
    +
    // clear previous set filters
    +provider.setPropertySearch(null)
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      propertySearchMap: {}
      +
      +

      A Map of which the keys are the property names and its values are Objects + defining the operator ( '=', '!=', '>', '>=', '<', '<=' ) and the value to be matched.

      +
      +
        +
      • +
        [name: string]: { operator: "=" | "!=" | ">" | ">=" | "<" | "<="; value: any | any[] }
        +
          +
        • +
          operator: "=" | "!=" | ">" | ">=" | "<" | "<="
          +
        • +
        • +
          value: any | any[]
          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setTags

+
    +
  • setTags(tags: string | string[]): void
  • +
+
    +
  • + +
    +
    +

    Set tags to filtering results based on tags in Hub backend. + After setting tags, provider will clear all features and data will be + requested from hub including the new tag filter.

    +
    +
    +

    Parameters

    +
      +
    • +
      tags: string | string[]
      +
      +

      the tag(s) that will be send to xyz-hub endpoint

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

writeEditState

+
    +
  • writeEditState(feature: any, editState: "created" | "modified" | "removed" | "split"): void
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the EditStates of a Feature. + The EditStates provide information about whether a feature has been created, modified, removed or split.

    +
    +

    By default EditStates aren't tracked/stored.

    +
    +

    Parameters

    +
      +
    • +
      feature: any
      +
      +

      The Feature whose EditState should be written.

      +
      +
    • +
    • +
      editState: "created" | "modified" | "removed" | "split"
      +
      +

      the EditState to store

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract writeFeatureHeight

+
    +
  • writeFeatureHeight(feature: Feature, height: number | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height should be updated/written.

      +
      +
    • +
    • +
      height: number | null
      +
      +

      The height specified in meters

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingLink

+
    +
  • writeRoutingLink(feature: Feature, position: any, navlink: Navlink | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Navlink reference on which the RoutingPoint of an Address or Place feature is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink reference of the RoutingPoint to store.

      +
      +
    • +
    • +
      position: any
      +
    • +
    • +
      navlink: Navlink | null
      +
      +

      The navlink whose reference is to be written, or null in case of a Place becomes "floating" and has no RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute writer to store the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingPoint position to write.

      +
      +
    • +
    • +
      position: GeoJSONCoordinate | null
      +
      +

      the geographical position of the RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeTurnRestriction

+
    +
  • writeTurnRestriction(restricted: boolean, turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer to store turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      restricted: boolean
      +
      +

      Indicates if the turn is allowed (true) or forbidden (false)

      +
      +
    • +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeZLevels

+
    +
  • writeZLevels(navlink: Navlink, zLevels: number[]): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for writing the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels should be set

      +
      +
    • +
    • +
      zLevels: number[]
      +
      +

      An array containing the zLevel for each coordinate of the Navlink

      +
      +
    • +
    +

    Returns any

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.layer.html b/docs/classes/core.layer.html new file mode 100644 index 000000000..e47084b33 --- /dev/null +++ b/docs/classes/core.layer.html @@ -0,0 +1,283 @@ + + + + + + Layer | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Layer

+
+
+
+
+
+
+
+
+
+

TileLayer

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new Layer(options: any): Layer
  • +
+
    +
  • + +
    +
    +

    Parameters

    +
      +
    • +
      options: any
      +
      +
      +

      options to configure the Layer

      +
      +
      +
    • +
    +

    Returns Layer

    +
  • +
+
+
+
+

Properties

+
+ +

Readonly id

+
id: string
+ +
+
+

The identifier of the Layer.

+
+
+
+
+ +

max

+
max: number
+ +
+
+

maximum zoom level at which data from the Layer will be displayed.

+
+
+
+
+ +

min

+
min: number
+ +
+
+

minimum zoom level at which data from the Layer is displayed.

+
+
+
+
+ +

name

+
name: string = ""
+ +
+
+

The name of the Layer

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.localprovider.html b/docs/classes/core.localprovider.html new file mode 100644 index 000000000..f10c6c510 --- /dev/null +++ b/docs/classes/core.localprovider.html @@ -0,0 +1,2066 @@ + + + + + + LocalProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class LocalProvider

+
+
+
+
+
+
+
+
+
+

Local feature tile provider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" property is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

config

+ + +
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

detectFeatureClass

+
    +
  • detectFeatureClass(feature: Feature): "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null
  • +
+
    +
  • + +
    +
    +

    This method is used to determine the FeatureClass required to edit the feature. + The FeatureClass defines how a certain feature behaves when its getting edited.

    +
    +

    By default, the Editor handles all features of geometry type 'LineString' as Line, 'Point' as Marker and '(Multi)Polygon' as Area.

    +

    If you want to edit features with FeatureClass 'NAVLINK', 'PLACE' or 'ADDRESS' this method must be overridden to enable editing of Navlinks, Places or Addresses.

    +
    +

    Parameters

    + +

    Returns "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null

    +

    the FeatureClass of the feature, or null if the feature should not be editable.

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: string[] | number[]): Feature[] | Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: string[] | number[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    +

    Returns Feature[] | Feature | undefined

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, callback?: (tile: Tile) => void): Tile | undefined
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      Optional callback: (tile: Tile) => void
      +
      +

      the callback function

      +
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns Tile | undefined

    +

    the Tile

    +
  • +
+
+
+ +

Abstract readDirection

+
    +
  • readDirection(navlink: Navlink): "BOTH" | "START_TO_END" | "END_TO_START"
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the direction of travel of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose direction is requested

      +
      +
    • +
    +

    Returns "BOTH" | "START_TO_END" | "END_TO_START"

    +
  • +
+
+
+ +

Abstract readFeatureHeight

+
    +
  • readFeatureHeight(feature: Feature): number | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height is requested.

      +
      +
    • +
    +

    Returns number | null

    +

    The height in meters of the Building/Area or null if the Area is considered flat.

    +
  • +
+
+
+ +

Abstract readPedestrianOnly

+
    +
  • readPedestrianOnly(navlink: Navlink): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining if a Navlink feature can be accessed by pedestrians only.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink

      +
      +
    • +
    +

    Returns boolean

    +

    true, if the Navlink can be accessed by pedestrians only, otherwise false.

    +
  • +
+
+
+ +

Abstract readRoutingLink

+
    +
  • readRoutingLink(feature: Feature): NavlinkId | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the Navlink Feature on which the RoutingPoint of an Address or Place feature is located. + For Addresses an Id must be returned. If null is returned for a Place, the Place is treated as "floating" without a RoutingPoint.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink of the RoutingPoint is requested.

      +
      +
    • +
    +

    Returns NavlinkId | null

    +

    the Id of the Navlink on which the RoutingPoint is located.

    +
  • +
+
+
+ +

Abstract readRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute reader for obtaining the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns GeoJSONCoordinate | null

    +

    GeoJSON Coordinate representing the geographical position of the RoutingPoint or null if a Place does not have a RoutingPoint.

    +
  • +
+
+
+ +

Abstract readRoutingProvider

+
    +
  • readRoutingProvider(feature: Feature): string | undefined
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the TileProvider containing the corresponding Navlink, of an Address or Place feature, on which the RoutingPoint is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns string | undefined

    +

    the Id of the TileProvider in which the object is stored. If undefined is returned, the RoutingPoint's Navlink is assumed to be in the same TileProvider as the Address/Place.

    +
  • +
+
+
+ +

Abstract readTurnRestriction

+
    +
  • readTurnRestriction(turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    true if turn is allowed, otherwise false.

    +
  • +
+
+
+ +

Abstract readZLevels

+
    +
  • readZLevels(navlink: Navlink): number[]
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels are requested

      +
      +
    • +
    +

    Returns number[]

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+ +
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +layer.search({id: 1058507462})
    +// or:
    +layer.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +layer.search({
    + point: { longitude: 72.84205, latitude: 18.97172 },
    + radius: 100
    +})
    +
    +// searching by Rect:
    +layer.search({
    + rect:  { minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876 }
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Array of feature ids to search.

        +
        +
        +
      • +
      • +
        Optional point?: GeoPoint
        +
        +
        +

        Geographical center point of the point to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the point in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature | Feature[]

    +

    array of features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { radius: number }
      +
      +

      configure the search

      +
      +
        +
      • +
        radius: number
        +
        +
        +

        The radius of the circular area in meters to search in.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +layer.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    layer.search(1058507462)
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract writeEditState

+
    +
  • writeEditState(feature: Feature, editState: "created" | "modified" | "removed" | "split"): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the EditStates of a Feature. + The EditStates provide information about whether a feature has been created, modified, removed or split.

    +
    +

    By default EditStates aren't tracked/stored.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Feature whose EditState should be written.

      +
      +
    • +
    • +
      editState: "created" | "modified" | "removed" | "split"
      +
      +

      the EditState to store

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeFeatureHeight

+
    +
  • writeFeatureHeight(feature: Feature, height: number | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height should be updated/written.

      +
      +
    • +
    • +
      height: number | null
      +
      +

      The height specified in meters

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingLink

+
    +
  • writeRoutingLink(feature: Feature, position: any, navlink: Navlink | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Navlink reference on which the RoutingPoint of an Address or Place feature is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink reference of the RoutingPoint to store.

      +
      +
    • +
    • +
      position: any
      +
    • +
    • +
      navlink: Navlink | null
      +
      +

      The navlink whose reference is to be written, or null in case of a Place becomes "floating" and has no RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute writer to store the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingPoint position to write.

      +
      +
    • +
    • +
      position: GeoJSONCoordinate | null
      +
      +

      the geographical position of the RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeTurnRestriction

+
    +
  • writeTurnRestriction(restricted: boolean, turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer to store turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      restricted: boolean
      +
      +

      Indicates if the turn is allowed (true) or forbidden (false)

      +
      +
    • +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeZLevels

+
    +
  • writeZLevels(navlink: Navlink, zLevels: number[]): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for writing the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels should be set

      +
      +
    • +
    • +
      zLevels: number[]
      +
      +

      An array containing the zLevel for each coordinate of the Navlink

      +
      +
    • +
    +

    Returns any

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.mvtlayer.html b/docs/classes/core.mvtlayer.html new file mode 100644 index 000000000..d7849533a --- /dev/null +++ b/docs/classes/core.mvtlayer.html @@ -0,0 +1,1654 @@ + + + + + + MVTLayer | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class MVTLayer

+
+
+
+
+
+
+
+
+
+

The MVTLayer is a TileLayer designed to work with remote datasources that are delivering MVT encoded vector tiles.

+
+
+
example
+
const myLayer = new MVTLayer({
+    remote: {
+        url: 'https://xyz.api.here.com/tiles/osmbase/512/all/{z}/{x}/{y}.mvt?access_token=' + YOUR_ACCESS_TOKEN
+        tileSize : 512
+    },
+    min: 1,
+    max: 20
+})
+
+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly id

+
id: string
+ +
+
+

The identifier of the Layer.

+
+
+
+
+ +

Protected margin

+
margin: number
+ +
+
+

default tile margin in pixel

+
+
+
+
+ +

max

+
max: number
+ +
+
+

maximum zoom level at which data from the Layer will be displayed.

+
+
+
+
+ +

min

+
min: number
+ +
+
+

minimum zoom level at which data from the Layer is displayed.

+
+
+
+
+ +

name

+
name: string = ""
+ +
+
+

The name of the Layer

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (event: CustomEvent) => void): any
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the layer. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear", "styleGroupChange", "styleChange", and "viewportReady"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.layer is a reference to the layer onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the layer.

    +
    +
    +
    example
    +
    // add a feature that will be displayed with the default style of the layer.
    +layer.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202, 0], [-122.49263, 37.78602, 0]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    example
    +
    // add a feature that will be displayed with a specific style.
    +layer.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202, 0], [-122.49263, 37.78602, 0]],
    +       type: "LineString"
    +   }
    +}, [{
    +   zIndex: 0, type: "Line", stroke: "#DDCB97", "strokeWidth": 18
    +}]);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      feature: GeoJSONFeature | Feature
      +
      +

      the feature to be added to the layer

      +
      +
    • +
    • +
      Optional style: Style[]
      +
      +

      optional style the feature should be displayed with.

      +
      +
    • +
    +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add features to the layer.

    +
    +
    +
    example
    +
    // add multiple features to the layer.
    +layer.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getProvider

+ +
    +
  • + +
    +
    +

    Get provider(s) of this layer.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional level: number
      +
    • +
    +

    Returns TileProvider

    +
  • +
+
+
+ +

getStyle

+ + +
+
+ +

getStyleGroup

+
    +
  • getStyleGroup(feature: Feature, zoomlevel?: number, layerDefault?: boolean): Style[]
  • +
+
    +
  • + +
    +
    +

    Get styleGroup for the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      the feature to get style

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      specify the zoomlevel for the feature style

      +
      +
    • +
    • +
      Optional layerDefault: boolean
      +
    • +
    +

    Returns Style[]

    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, callback: (tile: Tile) => void): Tile | undefined
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      callback: (tile: Tile) => void
      +
      +

      callback function

      +
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns Tile | undefined

    +

    the Tile is returned if its already cached locally

    +
  • +
+
+
+ +

pointerEvents

+
    +
  • pointerEvents(active?: boolean): boolean
  • +
+
    +
  • + +
    +
    +

    enable or disable pointer-event triggering for all features of all layers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional active: boolean
      +
      +

      boolean to enable or disable posinter-events.

      +
      +
    • +
    +

    Returns boolean

    +

    boolean indicating if pointer-event triggering is active or disabled.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void): any
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the layer. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear", "styleGroupChange", "styleChange", and "viewportReady"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the TileLayer.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+
    +
  • search(options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }): Feature
  • +
  • search(options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }): Feature[]
  • +
  • search(rect: GeoRect | GeoJSONBBox, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }): Feature[]
  • +
  • search(point: GeoPoint, options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; radius?: number; remote?: boolean }): Feature[]
  • +
  • search(id: string | number, options?: { onload?: (result: Feature) => void; remote?: boolean }): Feature
  • +
+
    +
  • + +
    +
    +

    Search for feature(s) in the layer.

    +
    +
    +
    example
    +
    // searching by id:
    +layer.search({id: 1058507462})
    +
    +// remote search:
    +layer.search({
    +    id: 1058507462,
    +    remote: true, // force layer to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        id: number | string
        +
        +
        +

        search a feature by id.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • +
            +
          • (result: Feature | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +

    array of features

    +
  • +
  • + +
    +
    +

    Search for feature(s) in the layer.

    +
    +
    +
    example
    +
    // searching features by id:
    +layer.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +layer.search({
    +    point: {longitude: 72.84205, latitude: 18.97172},
    +    radius: 100
    +})
    +
    +// searching by Rect:
    +layer.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}
    +})
    +
    +// remote search:
    +layer.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876},
    +    remote: true, // force layer to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Array of feature ids to search.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional point?: GeoPoint
        +
        +
        +

        Geographical center point of the circle to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the circle in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +

    array of features

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in the layer.

    +
    +
    +
    example
    +
    layer.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +layer.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +// remote search:
    +layer.search({ minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876 }, {
    +    remote: true, // force layer to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Circle Search for feature(s) in the layer.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +// remote search:
    +layer.search([72.84205, 18.97172], {
    + radius: 100,
    + remote: true, // force layer to do remote search if search area is not cached locally
    + onload: function(result){
    +  // search result is only return in this callback function if features are not found in cache.
    + }
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint
      +
      +

      Geographical center point of the circle to search in. options.radius must be defined.

      +
      +
    • +
    • +
      options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; radius?: number; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        the radius is mandatory for circle search.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the layer.

    +
    +
    +
    example
    +
    layer.search(1058507462)
    +
    +// remote search:
    +layer.search(1058507462,{
    +remote: true, // force layer to do remote search if search area is not cached locally
    +onload: function(feature){
    + // search result is only return in this callback function if features are not found in cache.
    +}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    • +
      Optional options: { onload?: (result: Feature) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): number
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

setStyle

+
    +
  • setStyle(layerStyle: LayerStyle, keepCustom?: boolean): void
  • +
+
    +
  • + +
    +
    +

    Set layer with given style.

    +
    +
    +

    Parameters

    +
      +
    • +
      layerStyle: LayerStyle
      +
      +

      the layerStyle

      +
      +
    • +
    • +
      Default value keepCustom: boolean = false
      +
      +

      keep and reuse custom set feature styles that have been set via layer.setStyleGroup(...)

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setStyleGroup

+
    +
  • setStyleGroup(feature: Feature, styleGroup?: Style[] | false | null): void
  • +
+
    +
  • + +
    +
    +

    Set StyleGroup the feature should be rendered with. + Pass styleGroup = false|null to hide the feature. + If no styleGroup is passed, custom feature style will be cleared and layer default style will be set.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      the feature that's styleGroup should be set

      +
      +
    • +
    • +
      Optional styleGroup: Style[] | false | null
      +
      +

      the styleGroup that feature should be displayed with

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.pixelpoint.html b/docs/classes/core.pixelpoint.html new file mode 100644 index 000000000..9ea070b80 --- /dev/null +++ b/docs/classes/core.pixelpoint.html @@ -0,0 +1,251 @@ + + + + + + PixelPoint | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class PixelPoint

+
+
+
+
+
+
+
+
+
+

A PixelPoint represents a point in pixel.

+
+
+
+
+

Hierarchy

+
    +
  • + PixelPoint +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+
    +
  • x
  • +
  • y
  • +
+
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new PixelPoint(x: number, y: number): PixelPoint
  • +
+
    +
  • + +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +
      +
      +

      the x coordinate of the point

      +
      +
      +
    • +
    • +
      y: number
      +
      +
      +

      the y coordinate of the point

      +
      +
      +
    • +
    +

    Returns PixelPoint

    +
  • +
+
+
+
+

Properties

+
+ +

x

+
x: number
+ +
+
+

x coordinate of the point in pixel.

+
+
+
+
+ +

y

+
y: number
+ +
+
+

y coordinate of the point in pixel.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.pixelrect.html b/docs/classes/core.pixelrect.html new file mode 100644 index 000000000..cf728d358 --- /dev/null +++ b/docs/classes/core.pixelrect.html @@ -0,0 +1,299 @@ + + + + + + PixelRect | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class PixelRect

+
+
+
+
+
+
+
+
+
+

A PixelRect represents a rectangular area in pixels.

+
+
+
+
+

Hierarchy

+
    +
  • + PixelRect +
  • +
+
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+
    +
  • new PixelRect(minX: number, minY: number, maxX: number, maxY: number): PixelRect
  • +
+
    +
  • + +
    +
    +

    Parameters

    +
      +
    • +
      minX: number
      +
      +
      +

      minimum x coordinate

      +
      +
      +
    • +
    • +
      minY: number
      +
      +
      +

      minimum y coordinate

      +
      +
      +
    • +
    • +
      maxX: number
      +
      +
      +

      maximum x coordinate

      +
      +
      +
    • +
    • +
      maxY: number
      +
      +
      +

      maximum y coordinate

      +
      +
      +
    • +
    +

    Returns PixelRect

    +
  • +
+
+
+
+

Properties

+
+ +

maxX

+
maxX: number
+ +
+
+

max x, the right-most x coordinate of the rectangular area.

+
+
+
+
+ +

maxY

+
maxY: number
+ +
+
+

max y, the bottom-most y coordinate of the rectangular area.

+
+
+
+
+ +

minX

+
minX: number
+ +
+
+

minimum x, the left-most x coordinate of the rectangular area.

+
+
+
+
+ +

minY

+
minY: number
+ +
+
+

maximum y, the top-most y coordinate of the rectangular area.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.remotetileprovider.html b/docs/classes/core.remotetileprovider.html new file mode 100644 index 000000000..73834dd8b --- /dev/null +++ b/docs/classes/core.remotetileprovider.html @@ -0,0 +1,1467 @@ + + + + + + RemoteTileProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class RemoteTileProvider

+
+
+
+
+
+
+
+
+
+

A remote tile provider fetches data from remote data-sources.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

cancel

+
    +
  • cancel(quadkey: string): void
  • +
  • cancel(tile: Tile): void
  • +
+
    +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      tile: Tile
      +
      +

      the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

config

+ + +
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: string[] | number[]): Feature[] | Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: string[] | number[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    +

    Returns Feature[] | Feature | undefined

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, cb: (tile: Tile) => void): any
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically. + Data will be fetched from remote data-sources and attached to tile automatically

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      cb: (tile: Tile) => void
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +

    the Tile

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+ +
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +layer.search({id: 1058507462})
    +// or:
    +layer.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +layer.search({
    + point: { longitude: 72.84205, latitude: 18.97172 },
    + radius: 100
    +})
    +
    +// searching by Rect:
    +layer.search({
    + rect:  { minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876 }
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Array of feature ids to search.

        +
        +
        +
      • +
      • +
        Optional point?: GeoPoint
        +
        +
        +

        Geographical center point of the point to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the point in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature | Feature[]

    +

    array of features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { radius: number }
      +
      +

      configure the search

      +
      +
        +
      • +
        radius: number
        +
        +
        +

        The radius of the circular area in meters to search in.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +layer.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    layer.search(1058507462)
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.spaceprovider.html b/docs/classes/core.spaceprovider.html new file mode 100644 index 000000000..1a520e6bd --- /dev/null +++ b/docs/classes/core.spaceprovider.html @@ -0,0 +1,3454 @@ + + + + + + SpaceProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class SpaceProvider

+
+
+
+
+
+
+
+
+
+

A SpaceProvider is a remote HTTPProvider designed to work with XYZ-Hub remote backend.

+
+
+
see
+

https://xyz.api.here.com/hub/static/redoc/

+
+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" property is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+ +

Readonly url

+
url: string
+ +
+
+

Base URL of the SpaceProvider. + It points to a XYZ-Hub space endpoint.

+
+
+
defaultvalue
+

"https://xyz.api.here.com/hub/spaces"

+
+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the provider.

    +
    +
    +
    example
    +
    // add a feature to the provider.
    +provider.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add multiple features to the provider.

    +
    +
    +
    example
    +
    // add multiple features to the provider.
    +provider.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

all

+ +
    +
  • + +
    +
    +

    Get all the features that are currently present in the provider.

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

cancel

+
    +
  • cancel(quadkey: string): void
  • +
  • cancel(tile: Tile): void
  • +
+
    +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Cancel ongoing request(s) of a tile. + The tile will be dropped.

    +
    +
    +

    Parameters

    +
      +
    • +
      tile: Tile
      +
      +

      the tile that should be canceled and removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: number[]): void
  • +
+
    +
  • + +
    +
    +

    Clear all tiles and features of a given bounding box or do a full wipe if no parameter is given.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: number[]
      +
      +

      array of geographical coordinates [minLon, minLat, maxLon, maxLat] defining the area to clear.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

commit

+ +
    +
  • + +
    +
    +

    Commit modified/removed features to the remote backend.

    +
    +
    +

    Parameters

    +
      +
    • +
      data: { put?: GeoJSONFeature[]; remove?: GeoJSONFeature[] }
      +
      +

      the data that should be commit to the remote.

      +
      +
        +
      • +
        Optional put?: GeoJSONFeature[]
        +
        +
        +

        features that should be created or updated

        +
        +
        +
      • +
      • +
        Optional remove?: GeoJSONFeature[]
        +
        +
        +

        features that should be removed

        +
        +
        +
      • +
      +
    • +
    • +
      Optional onSuccess: any
      +
      +

      callback function that will be called when data has been commit successfully

      +
      +
    • +
    • +
      Optional onError: any
      +
      +

      callback function that will be called when an error occurs

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

config

+ + +
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

detectFeatureClass

+
    +
  • detectFeatureClass(feature: Feature): "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null
  • +
+
    +
  • + +
    +
    +

    This method is used to determine the FeatureClass required to edit the feature. + The FeatureClass defines how a certain feature behaves when its getting edited.

    +
    +

    By default, the Editor handles all features of geometry type 'LineString' as Line, 'Point' as Marker and '(Multi)Polygon' as Area.

    +

    If you want to edit features with FeatureClass 'NAVLINK', 'PLACE' or 'ADDRESS' this method must be overridden to enable editing of Navlinks, Places or Addresses.

    +
    +

    Parameters

    + +

    Returns "LINE" | "NAVLINK" | "MARKER" | "PLACE" | "ADDRESS" | "AREA" | string | null

    +

    the FeatureClass of the feature, or null if the feature should not be editable.

    +
  • +
+
+
+ +

exists

+
    +
  • exists(feature: { id: number | string }): { feature?: Feature }
  • +
+
    +
  • + +
    +
    +

    Validate if a feature is stored in the local provider cache.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: { id: number | string }
      +
      +

      Object literal containing "id" property.

      +
      +
        +
      • +
        id: number | string
        +
      • +
      +
    • +
    +

    Returns { feature?: Feature }

    +

    the Feature if it is found, otherwise undefined

    +
      +
    • +
      Optional feature?: Feature
      +
    • +
    +
  • +
+
+
+ +

findPath

+ +
    +
  • + +
    +
    +

    Finds the optimal path between two coordinates on a GeoJSON road network, considering various options. + By default, the weight function returns the distance of the road segment, a lower distance implies a shorter route and is considered more favorable. + If you have specific criteria such as road quality, traffic conditions, or other factors influencing the desirability of a road segment, you can customize the weight function accordingly. + Pathfinding will consider only the locally cached data available on the client.

    +
    +
    +
    experimental
    +
    +
    example
    +
    const pathOptions = {
    +  from: [startLongitude, startLatitude],
    +  to: [endLongitude, endLatitude],
    +  // optional
    +  allowTurn: (turn) => {
    +     // Custom logic to determine whether a turn is allowed
    +    return true;
    +  },
    +  // optional
    +  weight: (data) => {
    +    // Custom weight function to determine the cost of traversing a road segment
    +    return data.distance; // Default implementation uses distance as the weight
    +  },
    +};
    +const result = await provider.findPath(pathOptions);
    +console.log(result);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean; from: GeoJSONCoordinate | GeoPoint; to: GeoJSONCoordinate | GeoPoint; weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number }
      +
      +

      The options object containing parameters for finding the path.

      +
      +
        +
      • +
        Optional allowTurn?: (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }) => boolean
        +
        +
        +

        Optional callback function to determine if a turn is allowed between road segments. + If not provided, all turns are considered allowed.

        +
        +
        +
        param
        +

        Object containing information about the turn, including source and destination road segments.

        +
        +
        returns
        +

        true if the turn is allowed, false otherwise.

        +
        +
        +
        +
          +
        • +
            +
          • (turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }): boolean
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              turn: { from: { index: number; link: Feature<"LineString"> }; to: { index: number; link: Feature<"LineString"> } }
              +
                +
              • +
                Readonly from: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the source road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the source road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the source road segment.

                  +
                  +
                  +
                • +
                +
              • +
              • +
                Readonly to: { index: number; link: Feature<"LineString"> }
                +
                +
                +

                Object representing the destination road segment of the turn.

                +
                +
                +
                  +
                • +
                  Readonly index: number
                  +
                  +
                  +

                  Index of the Coordinates array of the destination road segment.

                  +
                  +
                  +
                • +
                • +
                  Readonly link: Feature<"LineString">
                  +
                  +
                  +

                  GeoJSON Feature representing the destination road segment.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        from: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The starting coordinates defining the path.

        +
        +
        +
      • +
      • +
        to: GeoJSONCoordinate | GeoPoint
        +
        +
        +

        The ending coordinates of the path.

        +
        +
        +
      • +
      • +
        Optional weight?: (data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }) => number
        +
        +
        +

        Optional callback function to determine the weight (cost) of traversing a road segment.

        +
        +
        +
        param
        +

        Object containing information about the road segment.

        +
        +
        returns
        +

        A numerical value representing the weight or cost of traversing the road segment. Default is the distance in meter.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            +
              +
            • +
              data: { direction: "START_TO_END" | "END_TO_START"; distance: number; feature: Feature<"LineString">; from: GeoJSONCoordinate; to: GeoJSONCoordinate }
              +
                +
              • +
                direction: "START_TO_END" | "END_TO_START"
                +
                +
                +

                Direction of traversal on the road segment.

                +
                +
                +
              • +
              • +
                distance: number
                +
                +
                +

                The Distance of the road in meters.

                +
                +
                +
              • +
              • +
                feature: Feature<"LineString">
                +
                +
                +

                Feature representing the road segment.

                +
                +
                +
              • +
              • +
                from: GeoJSONCoordinate
                +
                +
                +

                Starting coordinates of the road segment.

                +
                +
                +
              • +
              • +
                to: GeoJSONCoordinate
                +
                +
                +

                Ending coordinates of the road segment.

                +
                +
                +
              • +
              +
            • +
            +

            Returns number

            +
          • +
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Promise<{ distance: number; features: Feature<"LineString">[]; from: GeoJSONCoordinate; path: GeoJSONFeature<"MultiLineString">; to: GeoJSONCoordinate }>

    +

    {Promise<{ + features: Feature[]; + readonly path: GeoJSONFeature; + readonly distance: number; + from: GeoJSONCoordinate; + to: GeoJSONCoordinate; + }>} A Promise that resolves to an object containing the path, additional information, and the distance of the path.

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(id: string | number): Feature | undefined
  • +
+
    +
  • + +
    +
    +

    Gets a feature from the provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    +

    Returns Feature | undefined

    +

    the found feature or undefined if feature is not present.

    +
  • +
+
+
+ +

getFeatureUrl

+
    +
  • getFeatureUrl(space: string, ids: (string | number) | (string | number)[]): string
  • +
+
    +
  • + +
    +
    +

    Get the URL for feature specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      space: string
      +
      +

      Name of the XYZ-Hub Space.

      +
      +
    • +
    • +
      ids: (string | number) | (string | number)[]
      +
      +

      id(s) of the feature(s) the provider want's to request

      +
      +
    • +
    +

    Returns string

    +

    url string to receive the feature resource of the remote http backend

    +
  • +
+
+
+ +

getFeatures

+
    +
  • getFeatures(ids: number[] | string[], options?: { onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
  • getFeatures(options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }): any
  • +
+
    +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      ids: number[] | string[]
      +
      +

      array of feature ids to search for.

      +
      +
    • +
    • +
      Optional options: { onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        array of Features containing the search result.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
  • + +
    +
    +

    Gets features from provider by id.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id?: number | string; ids?: number[] | string[]; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      search options

      +
      +
        +
      • +
        Optional id?: number | string
        +
        +
        +

        search for a single feature by id

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        array of ids to search for multiple features

        +
        +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search

        +
        +
        +
        param
        +

        Result array of features

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the provider to do remote search if no result is found in local cache

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +

    if just a single feature is found its getting returned otherwise an array of features or undefined if none is found.

    +
  • +
+
+
+ +

getHeader

+
    +
  • getHeader(name: string): string | null
  • +
+
    +
  • + +
    +
    +

    Get a specific request-header being added to all requests handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of header to retrieve

      +
      +
    • +
    +

    Returns string | null

    +

    value of the request header or null if the header does not exist

    +
  • +
+
+
+ +

getHeaders

+
    +
  • getHeaders(): {}
  • +
+
    +
  • + +
    +
    +

    Get the request-headers being added to all requests handled by the provider.

    +
    +
    +

    Returns {}

    +

    Map of key value pairs. the key represents the header name

    +
      +
    • +
      [name: string]: string
      +
    • +
    +
  • +
+
+
+ +

getLayerUrl

+
    +
  • getLayerUrl(space: string): string
  • +
+
    +
  • + +
    +
    +

    Get URL for layer specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      space: string
      +
      +

      Name of the XYZ-Hub Space.

      +
      +
    • +
    +

    Returns string

    +

    url string to receive a layer resource of the remote http backend

    +
  • +
+
+
+ +

getParam

+
    +
  • getParam(name: string): string | null
  • +
+
    +
  • + +
    +
    +

    Get a specific request-parameter that's being added by the provider to all requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of parameter to retrieve

      +
      +
    • +
    +

    Returns string | null

    +

    value of the request parameter or null if the parameter does not exist

    +
  • +
+
+
+ +

getParams

+
    +
  • getParams(): {}
  • +
+
    +
  • + +
    +
    +

    Get the request-parameters that are being added by the provider to all requests.

    +
    +
    +

    Returns {}

    +

    Map of key value pairs. the key represents the parameter name.

    +
      +
    • +
      [name: string]: string
      +
    • +
    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, cb: (tile: Tile) => void): any
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey. + If the tile is not cached already, it will be created and stored automatically. + Data will be fetched from remote data-sources and attached to tile automatically

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      cb: (tile: Tile) => void
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +

    the Tile

    +
  • +
+
+
+ +

getTileUrl

+
    +
  • getTileUrl(space: string): string
  • +
+
    +
  • + +
    +
    +

    Get URL for tile specific requests.

    +
    +
    +

    Parameters

    +
      +
    • +
      space: string
      +
      +

      Name of the XYZ-Hub Space.

      +
      +
    • +
    +

    Returns string

    +

    url string to receive a tile resource of the remote http backend

    +
  • +
+
+
+ +

Abstract readDirection

+
    +
  • readDirection(navlink: Navlink): "BOTH" | "START_TO_END" | "END_TO_START"
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the direction of travel of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose direction is requested

      +
      +
    • +
    +

    Returns "BOTH" | "START_TO_END" | "END_TO_START"

    +
  • +
+
+
+ +

Abstract readFeatureHeight

+
    +
  • readFeatureHeight(feature: Feature): number | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height is requested.

      +
      +
    • +
    +

    Returns number | null

    +

    The height in meters of the Building/Area or null if the Area is considered flat.

    +
  • +
+
+
+ +

Abstract readPedestrianOnly

+
    +
  • readPedestrianOnly(navlink: Navlink): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining if a Navlink feature can be accessed by pedestrians only.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink

      +
      +
    • +
    +

    Returns boolean

    +

    true, if the Navlink can be accessed by pedestrians only, otherwise false.

    +
  • +
+
+
+ +

Abstract readRoutingLink

+
    +
  • readRoutingLink(feature: Feature): NavlinkId | null
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the Navlink Feature on which the RoutingPoint of an Address or Place feature is located. + For Addresses an Id must be returned. If null is returned for a Place, the Place is treated as "floating" without a RoutingPoint.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink of the RoutingPoint is requested.

      +
      +
    • +
    +

    Returns NavlinkId | null

    +

    the Id of the Navlink on which the RoutingPoint is located.

    +
  • +
+
+
+ +

Abstract readRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute reader for obtaining the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns GeoJSONCoordinate | null

    +

    GeoJSON Coordinate representing the geographical position of the RoutingPoint or null if a Place does not have a RoutingPoint.

    +
  • +
+
+
+ +

Abstract readRoutingProvider

+
    +
  • readRoutingProvider(feature: Feature): string | undefined
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the id of the TileProvider containing the corresponding Navlink, of an Address or Place feature, on which the RoutingPoint is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingProvider is requested.

      +
      +
    • +
    +

    Returns string | undefined

    +

    the Id of the TileProvider in which the object is stored. If undefined is returned, the RoutingPoint's Navlink is assumed to be in the same TileProvider as the Address/Place.

    +
  • +
+
+
+ +

Abstract readTurnRestriction

+
    +
  • readTurnRestriction(turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): boolean
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    true if turn is allowed, otherwise false.

    +
  • +
+
+
+ +

Abstract readZLevels

+
    +
  • readZLevels(navlink: Navlink): number[]
  • +
+
    +
  • + +
    +
    +

    Attribute reader for obtaining the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels are requested

      +
      +
    • +
    +

    Returns number[]

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+
    +
  • search(options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }): Feature[]
  • +
  • search(options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }): Feature
  • +
  • search(point: GeoPoint | GeoJSONCoordinate, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }): Feature[]
  • +
  • search(rect: GeoRect | GeoJSONBBox, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }): Feature[]
  • +
  • search(id: string | number, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }): Feature
  • +
+
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by ids:
    +provider.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +provider.search({
    +point: {longitude: 72.84205, latitude: 18.97172},
    +radius: 100
    +})
    +
    +// searching by Rect:
    +provider.search({
    + rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}
    +})
    +
    +// remote search:
    +provider.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876},
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint | GeoJSONCoordinate; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Search features by Ids.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional point?: GeoPoint | GeoJSONCoordinate
        +
        +
        +

        Geographical center point of the circle to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the circle in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +provider.search({id: 1058507462})
    +
    +// remote search:
    +provider.search({
    +    id: 1058507462,
    +    remote: true, // force provider to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        id: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +

    array containing the searched features

    +
  • +
  • + +
    +
    +

    Point Search for feature(s) in provider.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint | GeoJSONCoordinate
      +
      +

      Geographical center point of the point to search in. options.radius must be defined.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; radius: number; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        radius: number
        +
        +
        +

        the radius of the circular area in meters to search in

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +provider.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +// remote search:
    +provider.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}, {
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the provider.

    +
    +
    +
    example
    +
    provider.search(1058507462)
    +
    +// remote search:
    +provider.search(1058507462,{
    +    remote: true, // force provider to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
        param
        +

        Array of Features containing the search results.

        +
        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ + +
+
+ +

setHeader

+
    +
  • setHeader(name: string, value: string): void
  • +
+
    +
  • + +
    +
    +

    Set request-header that should be added to all request handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of the header whose value is to be set.

      +
      +
    • +
    • +
      value: string
      +
      +

      The value to set as the body of the header.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setHeaders

+
    +
  • setHeaders(headers: {}): void
  • +
+
    +
  • + +
    +
    +

    Set request-headers that should be added to all request handled by the provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      headers: {}
      +
        +
      • +
        [name: string]: string
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setParam

+
    +
  • setParam(name: string, value: string | string[] | undefined): void
  • +
+
    +
  • + +
    +
    +

    Set a specific request-parameter that should be added to all request handled by provider. + If undefined is set the parameter get's cleared/removed.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      The name of the parameter whose value is to be set.

      +
      +
    • +
    • +
      value: string | string[] | undefined
      +
      +

      The value(s) of the parameter.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setParams

+
    +
  • setParams(parameters: {}): void
  • +
+
    +
  • + +
    +
    +

    Set request-parameters that should be added to all request handled by provider.

    +
    +
    +

    Parameters

    +
      +
    • +
      parameters: {}
      +
        +
      • +
        [name: string]: string | string[] | undefined
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setPropertySearch

+
    +
  • setPropertySearch(key: string, operator: "=" | "!=" | ">" | ">=" | "<" | "<=", value: string | number | boolean | string[] | number[] | boolean[]): void
  • +
  • setPropertySearch(propertySearchMap: {}): void
  • +
+
    +
  • + +
    +
    +

    Sets result filtering based on properties search in Hub backend. + https://www.here.xyz/api/devguide/propertiessearch/

    +
    +

    After setting the property search, the provider will clear all features and data will be + requested from hub using the property search filter. + The response will contain only the features matching all conditions in the query. + If function is called without arguments all filters will be cleared.

    +
    +
    example
    +
    // response will only contain features that have a property called 'name' with 'FirstName' as it's value
    +provider.setPropertySearch('name','=','FirstName')
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      key: string
      +
      +

      the name of property

      +
      +
    • +
    • +
      operator: "=" | "!=" | ">" | ">=" | "<" | "<="
      +
      +

      the operator used

      +
      +
    • +
    • +
      value: string | number | boolean | string[] | number[] | boolean[]
      +
      +

      value the value to be matched

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Sets result filtering based on properties search in Hub backend. + https://www.here.xyz/api/devguide/propertiessearch/ + After setting the property search, the provider will clear all features and data will be + requested from hub using the property search filter. + The response will contain only the features matching all conditions in the query. + If propertySearchMap is set to null or none is passed all previous set filters will be cleared.

    +
    +
    +
    example
    +
    // set multiple conditions
    +// provider will only contain features that have a property called name with the value Max OR Peter
    +// AND a property called age with value less than 32
    +provider.setPropertySearch({
    +    'name': {
    +        operator: '=',
    +        value: ['Max','Petra']
    +    },
    +   'age': {
    +        operator: '<',
    +        value: 32
    +   }
    +})
    +
    +
    +
    example
    +
    // clear previous set filters
    +provider.setPropertySearch(null)
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      propertySearchMap: {}
      +
      +

      A Map of which the keys are the property names and its values are Objects + defining the operator ( '=', '!=', '>', '>=', '<', '<=' ) and the value to be matched.

      +
      +
        +
      • +
        [name: string]: { operator: "=" | "!=" | ">" | ">=" | "<" | "<="; value: any | any[] }
        +
          +
        • +
          operator: "=" | "!=" | ">" | ">=" | "<" | "<="
          +
        • +
        • +
          value: any | any[]
          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setTags

+
    +
  • setTags(tags: string | string[]): void
  • +
+
    +
  • + +
    +
    +

    Set tags to filtering results based on tags in Hub backend. + After setting tags, provider will clear all features and data will be + requested from hub including the new tag filter.

    +
    +
    +

    Parameters

    +
      +
    • +
      tags: string | string[]
      +
      +

      the tag(s) that will be send to xyz-hub endpoint

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

writeEditState

+
    +
  • writeEditState(feature: any, editState: "created" | "modified" | "removed" | "split"): void
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the EditStates of a Feature. + The EditStates provide information about whether a feature has been created, modified, removed or split.

    +
    +

    By default EditStates aren't tracked/stored.

    +
    +

    Parameters

    +
      +
    • +
      feature: any
      +
      +

      The Feature whose EditState should be written.

      +
      +
    • +
    • +
      editState: "created" | "modified" | "removed" | "split"
      +
      +

      the EditState to store

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

Abstract writeFeatureHeight

+
    +
  • writeFeatureHeight(feature: Feature, height: number | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Height of a Building (extruded Area). + The height must be specified in meters.

    +
    +

    This method must be implemented to enable editing of the height of an extruded Area.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Area feature whose height should be updated/written.

      +
      +
    • +
    • +
      height: number | null
      +
      +

      The height specified in meters

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingLink

+
    +
  • writeRoutingLink(feature: Feature, position: any, navlink: Navlink | null): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for storing the Navlink reference on which the RoutingPoint of an Address or Place feature is located.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place of which the Navlink reference of the RoutingPoint to store.

      +
      +
    • +
    • +
      position: any
      +
    • +
    • +
      navlink: Navlink | null
      +
      +

      The navlink whose reference is to be written, or null in case of a Place becomes "floating" and has no RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeRoutingPosition

+ +
    +
  • + +
    +
    +

    Attribute writer to store the RoutingPoint's geographical position of an Address or Place. + The geographical position must be located on the geometry of the related Navlink feature.

    +
    +

    This method must be implemented to enable editing of Places or Addresses.

    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      The Address or Place feature whose RoutingPoint position to write.

      +
      +
    • +
    • +
      position: GeoJSONCoordinate | null
      +
      +

      the geographical position of the RoutingPoint.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeTurnRestriction

+
    +
  • writeTurnRestriction(restricted: boolean, turnFrom: { index: number; link: Navlink }, turnTo: { index: number; link: Navlink }): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer to store turn-restrictions of two Navlink Features.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      restricted: boolean
      +
      +

      Indicates if the turn is allowed (true) or forbidden (false)

      +
      +
    • +
    • +
      turnFrom: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index from which to turn from

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    • +
      turnTo: { index: number; link: Navlink }
      +
      +

      The Navlink and it's coordinate index to which you want to turn

      +
      +
        +
      • +
        index: number
        +
      • +
      • +
        link: Navlink
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

Abstract writeZLevels

+
    +
  • writeZLevels(navlink: Navlink, zLevels: number[]): any
  • +
+
    +
  • + +
    +
    +

    Attribute writer for writing the zLevels of a Navlink feature.

    +
    +

    This method must be implemented to enable editing of Navlinks.

    +
    +

    Parameters

    +
      +
    • +
      navlink: Navlink
      +
      +

      the Navlink whose zLevels should be set

      +
      +
    • +
    • +
      zLevels: number[]
      +
      +

      An array containing the zLevel for each coordinate of the Navlink

      +
      +
    • +
    +

    Returns any

    +

    An array containing the zLevel for each coordinate of the Navlink.

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.tile.html b/docs/classes/core.tile.html new file mode 100644 index 000000000..b5c35277d --- /dev/null +++ b/docs/classes/core.tile.html @@ -0,0 +1,417 @@ + + + + + + Tile | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Tile

+
+
+
+
+
+
+
+
+
+

This Class represents a WebMercator Tile.

+
+
+
+
+

Hierarchy

+
    +
  • + Tile +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

bounds

+
bounds: GeoJSONBBox
+ +
+
+

Geographical Bounding box has the coordinates in order: [minLon, minLat, maxLon, maxLat].

+
+
+
+
+ +

quadkey

+
quadkey: string
+ +
+
+

quadkey of the tile.

+
+
+
+
+ +

type

+
type: string
+ +
+
+

type of the tile.

+
+
+
+
+ +

x

+
x: number
+ +
+
+

x of the tile.

+
+
+
+
+ +

y

+
y: number
+ +
+
+

y of the tile.

+
+
+
+
+ +

z

+
z: number
+ +
+
+

z (zoonlevel) of the tile.

+
+
+
+
+
+

Methods

+
+ +

add

+ +
    +
  • + +
    +
    +

    add a feature to the tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      the Feature to add

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

expired

+
    +
  • expired(ts: number): boolean
  • +
+
    +
  • + +
    +
    +

    Checks if tile expires at given point of time.

    +
    +
    +

    Parameters

    +
      +
    • +
      ts: number
      +
    • +
    +

    Returns boolean

    +

    true when tile has expired, otherwise false.

    +
  • +
+
+
+ +

getContentBounds

+
    +
  • getContentBounds(): [number, number, number, number]
  • +
+
    +
  • + +
    +
    +

    get tile bound including margin.

    +
    +
    +

    Returns [number, number, number, number]

    +

    the bounding box with geographical coordinates [minLon, minLat, maxLon, maxLat]

    +
  • +
+
+
+ +

isLoaded

+
    +
  • isLoaded(): boolean
  • +
+
    +
  • + +
    +
    +

    check if the tile has been fully loaded

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

remove

+
    +
  • remove(feature: Feature): void
  • +
+
    +
  • + +
    +
    +

    remove feature to the tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      the Feature to remove

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.tilelayer.html b/docs/classes/core.tilelayer.html new file mode 100644 index 000000000..057d74163 --- /dev/null +++ b/docs/classes/core.tilelayer.html @@ -0,0 +1,1628 @@ + + + + + + TileLayer | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class TileLayer

+
+
+
+
+
+
+
+
+
+

TileLayer

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Readonly id

+
id: string
+ +
+
+

The identifier of the Layer.

+
+
+
+
+ +

Protected margin

+
margin: number
+ +
+
+

default tile margin in pixel

+
+
+
+
+ +

max

+
max: number
+ +
+
+

maximum zoom level at which data from the Layer will be displayed.

+
+
+
+
+ +

min

+
min: number
+ +
+
+

minimum zoom level at which data from the Layer is displayed.

+
+
+
+
+ +

name

+
name: string = ""
+ +
+
+

The name of the Layer

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (event: CustomEvent) => void): any
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the layer. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear", "styleGroupChange", "styleChange", and "viewportReady"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.layer is a reference to the layer onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

addFeature

+ +
    +
  • + +
    +
    +

    Add a feature to the layer.

    +
    +
    +
    example
    +
    // add a feature that will be displayed with the default style of the layer.
    +layer.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202, 0], [-122.49263, 37.78602, 0]],
    +       type: "LineString"
    +   }
    +});
    +
    +
    +
    example
    +
    // add a feature that will be displayed with a specific style.
    +layer.addFeature({
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202, 0], [-122.49263, 37.78602, 0]],
    +       type: "LineString"
    +   }
    +}, [{
    +   zIndex: 0, type: "Line", stroke: "#DDCB97", "strokeWidth": 18
    +}]);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      feature: GeoJSONFeature | Feature
      +
      +

      the feature to be added to the layer

      +
      +
    • +
    • +
      Optional style: Style[]
      +
      +

      optional style the feature should be displayed with.

      +
      +
    • +
    +

    Returns Feature

    +
  • +
  • + +
    +
    +

    Add features to the layer.

    +
    +
    +
    example
    +
    // add multiple features to the layer.
    +layer.addFeature([{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49373, 37.78202], [-122.49263, 37.78602]],
    +       type: "LineString"
    +   }
    +},{
    +   type: "Feature"
    +   geometry: {
    +       coordinates: [[-122.49375, 37.78203], [-122.49265, 37.78604]],
    +       type: "LineString"
    +   }
    +}]);
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns Feature[]

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getProvider

+ +
    +
  • + +
    +
    +

    Get provider(s) of this layer.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional level: number
      +
    • +
    +

    Returns TileProvider

    +
  • +
+
+
+ +

getStyle

+ +
    +
  • + +
    +
    +

    Get the current layerStyle.

    +
    +
    +

    Returns LayerStyle

    +
  • +
+
+
+ +

getStyleGroup

+
    +
  • getStyleGroup(feature: Feature, zoomlevel?: number, layerDefault?: boolean): Style[]
  • +
+
    +
  • + +
    +
    +

    Get styleGroup for the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      the feature to get style

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      specify the zoomlevel for the feature style

      +
      +
    • +
    • +
      Optional layerDefault: boolean
      +
    • +
    +

    Returns Style[]

    +
  • +
+
+
+ +

getTile

+
    +
  • getTile(quadkey: string, callback: (tile: Tile) => void): Tile | undefined
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      callback: (tile: Tile) => void
      +
      +

      callback function

      +
      +
        +
      • +
          +
        • (tile: Tile): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns Tile | undefined

    +

    the Tile is returned if its already cached locally

    +
  • +
+
+
+ +

pointerEvents

+
    +
  • pointerEvents(active?: boolean): boolean
  • +
+
    +
  • + +
    +
    +

    enable or disable pointer-event triggering for all features of all layers.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional active: boolean
      +
      +

      boolean to enable or disable posinter-events.

      +
      +
    • +
    +

    Returns boolean

    +

    boolean indicating if pointer-event triggering is active or disabled.

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (event: CustomEvent) => void): any
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the layer. + Valid events: "featureAdd", "featureRemove", "featureCoordinatesChange", "clear", "styleGroupChange", "styleChange", and "viewportReady"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the TileLayer.

      +
      +
        +
      • +
          +
        • (event: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

removeFeature

+ + +
+
+ +

search

+
    +
  • search(options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }): Feature
  • +
  • search(options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }): Feature[]
  • +
  • search(rect: GeoRect | GeoJSONBBox, options?: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }): Feature[]
  • +
  • search(point: GeoPoint, options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; radius?: number; remote?: boolean }): Feature[]
  • +
  • search(id: string | number, options?: { onload?: (result: Feature) => void; remote?: boolean }): Feature
  • +
+
    +
  • + +
    +
    +

    Search for feature(s) in the layer.

    +
    +
    +
    example
    +
    // searching by id:
    +layer.search({id: 1058507462})
    +
    +// remote search:
    +layer.search({
    +    id: 1058507462,
    +    remote: true, // force layer to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { id: number | string; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        id: number | string
        +
        +
        +

        search a feature by id.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • +
            +
          • (result: Feature | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +

    array of features

    +
  • +
  • + +
    +
    +

    Search for feature(s) in the layer.

    +
    +
    +
    example
    +
    // searching features by id:
    +layer.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +layer.search({
    +    point: {longitude: 72.84205, latitude: 18.97172},
    +    radius: 100
    +})
    +
    +// searching by Rect:
    +layer.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}
    +})
    +
    +// remote search:
    +layer.search({
    +    rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876},
    +    remote: true, // force layer to do remote search if feature/search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { ids?: number[] | string[]; onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Array of feature ids to search.

        +
        +
        +
      • +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional point?: GeoPoint
        +
        +
        +

        Geographical center point of the circle to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the circle in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +

    array of features

    +
  • +
  • + +
    +
    +

    Rectangle Search for feature(s) in the layer.

    +
    +
    +
    example
    +
    layer.search({minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876})
    +// or:
    +layer.search([72.83584, 18.96876, 72.84443,18.97299])
    +
    +// remote search:
    +layer.search({ minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876 }, {
    +    remote: true, // force layer to do remote search if search area is not cached locally
    +    onload: (result) => {...}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      rect: GeoRect | GeoJSONBBox
      +
      +

      Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

      +
      +
    • +
    • +
      Optional options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature[] | null) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Circle Search for feature(s) in the layer.

    +
    +
    +
    example
    +
    layer.search({longitude: 72.84205, latitude: 18.97172},{
    + radius: 100
    +})
    +// or:
    +layer.search([72.84205, 18.97172], {
    + radius: 100
    +})
    +
    +// remote search:
    +layer.search([72.84205, 18.97172], {
    + radius: 100,
    + remote: true, // force layer to do remote search if search area is not cached locally
    + onload: function(result){
    +  // search result is only return in this callback function if features are not found in cache.
    + }
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint
      +
      +

      Geographical center point of the circle to search in. options.radius must be defined.

      +
      +
    • +
    • +
      options: { onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void; onload?: (result: Feature) => void; radius?: number; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onerror?: (error: { message: string; name: "NetworkError"; responseText: string; status: number }) => void
        +
        +
        +

        Function to be called when a request of a "remote search" fails.

        +
        +
        +
          +
        • +
            +
          • (error: { message: string; name: "NetworkError"; responseText: string; status: number }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              error: { message: string; name: "NetworkError"; responseText: string; status: number }
              +
                +
              • +
                message: string
                +
                +
                +

                The error message of the failing request.

                +
                +
                +
              • +
              • +
                name: "NetworkError"
                +
                +
                +

                The name property represents a name for the type of error. The value is "NetworkError".

                +
                +
                +
              • +
              • +
                responseText: string
                +
                +
                +

                The responseText which contains the textual data received of the failing request.

                +
                +
                +
              • +
              • +
                status: number
                +
                +
                +

                The numerical HTTP status code of the failing request.

                +
                +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        the radius is mandatory for circle search.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +
  • +
  • + +
    +
    +

    Search for feature by id in the layer.

    +
    +
    +
    example
    +
    layer.search(1058507462)
    +
    +// remote search:
    +layer.search(1058507462,{
    +remote: true, // force layer to do remote search if search area is not cached locally
    +onload: function(feature){
    + // search result is only return in this callback function if features are not found in cache.
    +}
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      id: string | number
      +
      +

      id of the feature to search for

      +
      +
    • +
    • +
      Optional options: { onload?: (result: Feature) => void; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional onload?: (result: Feature) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • + +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature

    +
  • +
+
+
+ +

setFeatureCoordinates

+ +
    +
  • + +
    +
    +

    Modify coordinates of a feature in the layer.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): number
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

setStyle

+
    +
  • setStyle(layerStyle: LayerStyle, keepCustom?: boolean): void
  • +
+
    +
  • + +
    +
    +

    Set layer with given style.

    +
    +
    +

    Parameters

    +
      +
    • +
      layerStyle: LayerStyle
      +
      +

      the layerStyle

      +
      +
    • +
    • +
      Default value keepCustom: boolean = false
      +
      +

      keep and reuse custom set feature styles that have been set via layer.setStyleGroup(...)

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setStyleGroup

+
    +
  • setStyleGroup(feature: Feature, styleGroup?: Style[] | false | null): void
  • +
+
    +
  • + +
    +
    +

    Set StyleGroup the feature should be rendered with. + Pass styleGroup = false|null to hide the feature. + If no styleGroup is passed, custom feature style will be cleared and layer default style will be set.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: Feature
      +
      +

      the feature that's styleGroup should be set

      +
      +
    • +
    • +
      Optional styleGroup: Style[] | false | null
      +
      +

      the styleGroup that feature should be displayed with

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
+
    +
  • Protected property
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/core.tileprovider.html b/docs/classes/core.tileprovider.html new file mode 100644 index 000000000..5789a0b55 --- /dev/null +++ b/docs/classes/core.tileprovider.html @@ -0,0 +1,654 @@ + + + + + + TileProvider | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class TileProvider

+
+
+
+
+
+
+
+
+
+

The TileProvider is an abstract Provider that serves map-data partitioned in {@link Tiles}.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Constructors

+ +
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Constructors

+
+ +

constructor

+ + +
+
+
+

Properties

+
+ +

Optional id

+
id: string
+ +
+
+

The id of the Provider

+
+
+
+
+ +

Optional margin

+
margin: number = 0
+ +
+
+

default tile margin.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

The name of the Provider.

+
+
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the provider. + Valid events: "clear" and "error"

    +
    +

    The detail property of the Event gives additional information about the event. + detail.provider is a reference to the provider onto which the event was dispatched and is set for all events.

    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

clear

+
    +
  • clear(bbox?: any): void
  • +
+
    +
  • + +
    +
    +

    Clear all features in.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional bbox: any
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

config

+ +
    +
  • + +
    +
    +

    Set config for provider.

    +
    +
    +

    Parameters

    + +

    Returns this

    +
  • +
+
+
+ +

createTile

+
    +
  • createTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Create a new Tile.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile to create

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTile

+
    +
  • getCachedTile(quadkey: string): Tile
  • +
+
    +
  • + +
    +
    +

    Get a locally cached tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      the quadkey of the tile

      +
      +
    • +
    +

    Returns Tile

    +
  • +
+
+
+ +

getCachedTilesOfBBox

+
    +
  • getCachedTilesOfBBox(bbox: number[], zoomlevel?: number): Tile[]
  • +
+
    +
  • + +
    +
    +

    get cached tile by bounding box.

    +
    +
    +

    Parameters

    +
      +
    • +
      bbox: number[]
      +
      +

      array of coordinates in order: [minLon, minLat, maxLon, maxLat]

      +
      +
    • +
    • +
      Optional zoomlevel: number
      +
      +

      get tiles at specified tileMargin

      +
      +
    • +
    +

    Returns Tile[]

    +

    array of {@link Tiles}

    +
  • +
+
+
+ +

Abstract getTile

+
    +
  • getTile(quadkey: string, callback: (tile: Tile, error?: any) => void): any
  • +
+
    +
  • + +
    +
    +

    Get a tile by quadkey.

    +
    +
    +

    Parameters

    +
      +
    • +
      quadkey: string
      +
      +

      quadkey of the tile

      +
      +
    • +
    • +
      callback: (tile: Tile, error?: any) => void
      +
      +

      the callback function

      +
      +
        +
      • +
          +
        • (tile: Tile, error?: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            tile: Tile
            +
          • +
          • +
            Optional error: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +

    the Tile is returned if its already cached locally

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (e: CustomEvent) => void, _c?: any): boolean
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the provider. + Valid events: "clear" and "error"

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (e: CustomEvent) => void
      +
      +

      The listener function of the event handler to remove from the provider.

      +
      +
        +
      • +
          +
        • (e: CustomEvent): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            e: CustomEvent
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional _c: any
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+ +

setMargin

+
    +
  • setMargin(tileMargin?: number): void
  • +
+
    +
  • + +
    +
    +

    Set the tile margin in pixel.

    +
    +
    +

    Parameters

    +
      +
    • +
      Default value tileMargin: number = 0
      +
      +

      the tileMargin

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/display.map.html b/docs/classes/display.map.html new file mode 100644 index 000000000..90119726f --- /dev/null +++ b/docs/classes/display.map.html @@ -0,0 +1,1890 @@ + + + + + + Map | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Map

+
+
+
+
+
+
+
+
+
+

XYZ Map is a highly customizable WebGL based vector map display that's optimized for map editing, larger raw datasets and frequently changing data.

+
+
+
+
+

Hierarchy

+
    +
  • + Map +
  • +
+
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +
    +
    +
    example
    +
    import {Map} from '@here/xyz-maps-display';
    +
    +//create map display
    +const display = new Map( mapDiv, {
    +    zoomLevel : 19,
    +    center: {
    +        longitude: 8.53422,
    +        latitude: 50.16212
    +    },
    +    // add layers to display
    +    layers: layers
    +});
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      mapEl: HTMLElement
      +
      +
      +

      HTMLElement used to create the map display

      +
      +
      +
    • +
    • +
      options: MapOptions
      +
      +
      +

      options to configure for the map

      +
      +
      +
    • +
    +

    Returns Map

    +
  • +
+
+
+
+

Methods

+
+ +

addEventListener

+
    +
  • addEventListener(type: string, listener: (e: MapEvent) => void): void
  • +
+
    +
  • + +
    +
    +

    Adds an event listener to the map. + supported events: 'mapviewchangestart', 'mapviewchange', 'mapviewchangeend', 'resize', + 'tap', 'dbltap', 'pointerup', 'pointerenter', 'pointerleave', 'pointerdown', 'pointermove', 'pressmove'

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for.

      +
      +
    • +
    • +
      listener: (e: MapEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

addLayer

+ +
    +
  • + +
    +
    +

    Adds a layer to the map. + If index is defined the layer will be placed at respective index in the layer hierarchy. + Otherwise it's added on top (last).

    +
    +
    +

    Parameters

    +
      +
    • +
      layer: TileLayer | CustomLayer
      +
      +

      the layer to add

      +
      +
    • +
    • +
      Optional index: number
      +
      +

      the index in layer hierarchy where the layer should be inserted.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

addObserver

+
    +
  • addObserver(name: string, observer: (name: string, newValue: any, prevValue: any) => void): boolean
  • +
+
    +
  • + +
    +
    +

    Add an observer to the map. + Supported observers are: "zoomlevel", "center", "rotation" and "pitch".

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      the name of the value to observe

      +
      +
    • +
    • +
      observer: (name: string, newValue: any, prevValue: any) => void
      +
      +

      the observer that will be executed on value changes.

      +
      +
        +
      • +
          +
        • (name: string, newValue: any, prevValue: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            name: string
            +
          • +
          • +
            newValue: any
            +
          • +
          • +
            prevValue: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    boolean that's indicating if observer was added.

    +
  • +
+
+
+ +

destroy

+
    +
  • destroy(): void
  • +
+
    +
  • + +
    +
    +

    Destroy the the map.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

flyTo

+
    +
  • flyTo(center: GeoPoint, options?: { duration?: number }): any
  • +
  • flyTo(center: GeoPoint, zoomTo: number, options?: { duration?: number }): any
  • +
+
    +
  • + +
    +
    +

    Set the map center using a bow animation combining pan and zoom operations.

    +
    +
    +

    Parameters

    +
      +
    • +
      center: GeoPoint
      +
      +

      the geographical coordinate to center the map.

      +
      +
    • +
    • +
      Optional options: { duration?: number }
      +
      +

      options to configure the bow animation

      +
      +
        +
      • +
        Optional duration?: number
        +
        +
        +

        the duration of the bow animation in milliseconds

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Set the map center and zoomlevel using a bow animation combining pan and zoom operations.

    +
    +
    +

    Parameters

    +
      +
    • +
      center: GeoPoint
      +
      +

      the geographical coordinate to center the map.

      +
      +
    • +
    • +
      zoomTo: number
      +
      +

      the zoomlevel the map should be zoomed to.

      +
      +
    • +
    • +
      Optional options: { duration?: number }
      +
      +

      options to configure the bow animation

      +
      +
        +
      • +
        Optional duration?: number
        +
        +
        +

        the duration of the bow animation in milliseconds

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

geoToPixel

+ +
    +
  • + +
    +
    +

    Convert a geographical coordinate to a pixel coordinate relative to the current viewport of the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      longitude: number
      +
      +

      the longitude in degrees

      +
      +
    • +
    • +
      latitude: number
      +
      +

      the latitude in degrees

      +
      +
    • +
    • +
      Optional altitude: number
      +
      +

      the altitude in meters

      +
      +
    • +
    +

    Returns PixelPoint

    +

    the pixel coordinate relative to the current viewport.

    +
  • +
  • + +
    +
    +

    Convert a geographical coordinate to a pixel coordinate relative to the current viewport of the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      coordinate: GeoPoint
      +
      +

      the geographical coordinate

      +
      +
    • +
    +

    Returns PixelPoint

    +

    the pixel coordinate relative to the current viewport.

    +
  • +
+
+
+ +

getBehavior

+
    +
  • getBehavior(): { drag: boolean; pitch: boolean; rotate: boolean; zoom: boolean }
  • +
+
    +
  • + +
    +
    +

    Get current active map behavior options.

    +
    +
    +

    Returns { drag: boolean; pitch: boolean; rotate: boolean; zoom: boolean }

    +
      +
    • +
      drag: boolean
      +
      +
      +

      indicates if map dragging is enabled or disabled.

      +
      +
      +
    • +
    • +
      pitch: boolean
      +
      +
      +

      indicates if map pitching is enabled or disabled.

      +
      +
      +
    • +
    • +
      rotate: boolean
      +
      +
      +

      indicates if map rotation is enabled or disabled.

      +
      +
      +
    • +
    • +
      zoom: boolean
      +
      +
      +

      indicates if map zooming is enabled or disabled.

      +
      +
      +
    • +
    +
  • +
+
+
+ +

getCamera

+
    +
  • getCamera(): { position: { altitude: number; latitude: number; longitude: number } }
  • +
+
    +
  • + +
    +
    +

    Get the camera of the current viewport.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Returns { position: { altitude: number; latitude: number; longitude: number } }

    +
      +
    • +
      position: { altitude: number; latitude: number; longitude: number }
      +
      +
      +

      The camera's center position in geographical coordinates (world-space).

      +
      +
      +
        +
      • +
        altitude: number
        +
      • +
      • +
        latitude: number
        +
      • +
      • +
        longitude: number
        +
      • +
      +
    • +
    +
  • +
+
+
+ +

getCenter

+ +
    +
  • + +
    +
    +

    Get the current geographical center of the map.

    +
    +
    +

    Returns GeoPoint

    +

    the map's geographical center point.

    +
  • +
+
+
+ +

getContainer

+
    +
  • getContainer(): HTMLElement
  • +
+
    +
  • + +
    +
    +

    Get the HTMLElement used by the map.

    +
    +
    +

    Returns HTMLElement

    +
  • +
+
+
+ +

getFeatureAt

+ +
    +
  • + +
    +
    +

    Get most top rendered feature within the given area of map

    +
    +
    +

    Parameters

    +
      +
    • +
      position: PixelPoint | PixelRect
      +
      +

      Point or Rect in pixel to define search area. + If a Point is used, width and height must be passed in options parameter.

      +
      +
    • +
    • +
      Optional options: { height?: number; layers?: TileLayer | TileLayer[]; width?: number }
      +
      +

      Describing the options param

      +
      +
        +
      • +
        Optional height?: number
        +
        +
        +

        height in pixel of rectangle if point geometry is used.

        +
        +
        +
      • +
      • +
        Optional layers?: TileLayer | TileLayer[]
        +
        +
        +

        defines the layer(s) to search in.

        +
        +
        +
      • +
      • +
        Optional width?: number
        +
        +
        +

        width in pixel of rectangle if point geometry is used.

        +
        +
        +
      • +
      +
    • +
    +

    Returns { feature: Feature; layer: TileLayer } | undefined

    +

    The result providing found feature and layer. + undefined is returned if nothing is found.

    +
  • +
+
+
+ +

getFeaturesAt

+ +
    +
  • + +
    +
    +

    Get rendered features within the given area of map

    +
    +
    +

    Parameters

    +
      +
    • +
      position: PixelPoint | PixelRect
      +
      +

      Point or Rect in pixel to define search area. + If a Point is used, width and height must be passed in options parameter.

      +
      +
    • +
    • +
      Optional options: { height?: number; layers?: TileLayer | TileLayer[]; width?: number }
      +
      +

      Describing the options param

      +
      +
        +
      • +
        Optional height?: number
        +
        +
        +

        height in pixel of rectangle if point geometry is used.

        +
        +
        +
      • +
      • +
        Optional layers?: TileLayer | TileLayer[]
        +
        +
        +

        defines the layer(s) to search in.

        +
        +
        +
      • +
      • +
        Optional width?: number
        +
        +
        +

        width in pixel of rectangle if point geometry is used.

        +
        +
        +
      • +
      +
    • +
    +

    Returns { features: Feature[]; layer: TileLayer }[]

    +

    zIndex ordered results array

    +
  • +
+
+
+ +

getHeight

+
    +
  • getHeight(): number
  • +
+
    +
  • + +
    +
    +

    Get the current height in pixels of map.

    +
    +
    +

    Returns number

    +
  • +
+
+
+ +

getLayers

+ +
    +
  • + +
    +
    +

    Get the current added layer(s) of the map.

    +
    +
    +

    Returns TileLayer[]

    +

    the layer(s) that are added to the map

    +
  • +
  • + +
    +
    +

    Get a specific Layer of the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      index: number
      +
      +

      get a specific layer at index in the layer hierarchy

      +
      +
    • +
    +

    Returns TileLayer

    +

    the layer that is added to the map

    +
  • +
+
+
+ +

getViewBounds

+ +
    +
  • + +
    +
    +

    Gets the current view bounds of the view port.

    +
    +
    +

    Returns GeoRect

    +
  • +
+
+
+ +

getWidth

+
    +
  • getWidth(): number
  • +
+
    +
  • + +
    +
    +

    Get the current width in pixels of map.

    +
    +
    +

    Returns number

    +
  • +
+
+
+ +

getZoomlevel

+
    +
  • getZoomlevel(): number
  • +
+
    +
  • + +
    +
    +

    Get the current zoom level

    +
    +
    +

    Returns number

    +

    the current zoom level of the map

    +
  • +
+
+
+ +

lockViewport

+
    +
  • lockViewport(): { maxLevel: number; minLevel: number; pan: boolean }
  • +
  • lockViewport(options: { maxLevel?: number; minLevel?: number; pan?: boolean }): { maxLevel: number; minLevel: number; pan: boolean }
  • +
+
    +
  • + +
    +
    +

    get the current applied lock status of the map.

    +
    +
    +

    Returns { maxLevel: number; minLevel: number; pan: boolean }

    +

    the current applied lock options.

    +
      +
    • +
      maxLevel: number
      +
    • +
    • +
      minLevel: number
      +
    • +
    • +
      pan: boolean
      +
    • +
    +
  • +
  • + +
    +
    +

    set lock the viewport of the map. + by indicating if panning, minLevel and maxLevel should be locked.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: { maxLevel?: number; minLevel?: number; pan?: boolean }
      +
      +

      the lock options.

      +
      +
        +
      • +
        Optional maxLevel?: number
        +
        +
        +

        the maximum allowed zoom level that can be zoomed to.

        +
        +
        +
      • +
      • +
        Optional minLevel?: number
        +
        +
        +

        the minimum allowed zoom level that can be zoomed to.

        +
        +
        +
      • +
      • +
        Optional pan?: boolean
        +
        +
        +

        true to enable panning, false to disable panning.

        +
        +
        +
      • +
      +
    • +
    +

    Returns { maxLevel: number; minLevel: number; pan: boolean }

    +

    the current applied lock options.

    +
      +
    • +
      maxLevel: number
      +
    • +
    • +
      minLevel: number
      +
    • +
    • +
      pan: boolean
      +
    • +
    +
  • +
+
+
+ +

pan

+
    +
  • pan(dx: number, dy: number): void
  • +
+
    +
  • + +
    +
    +

    Shift the geographical center of the map in pixels.

    +
    +
    +

    Parameters

    +
      +
    • +
      dx: number
      +
      +

      distance in pixels to pan the map on x axis

      +
      +
    • +
    • +
      dy: number
      +
      +

      distance in pixels to pan the map on y axis

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

pitch

+
    +
  • pitch(pitch?: number): number
  • +
+
    +
  • + +
    +
    +

    Set or get map pitch (tilt) in degrees

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional pitch: number
      +
      +

      pitch in degrees

      +
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

pixelToGeo

+ +
    +
  • + +
    +
    +

    Converts from screen pixel to geo coordinate

    +
    +
    +

    Parameters

    +
      +
    • +
      x: number
      +
      +

      the x position on screen in pixel

      +
      +
    • +
    • +
      y: number
      +
      +

      the y position on screen in pixel

      +
      +
    • +
    +

    Returns GeoPoint

    +

    the geographical coordinate

    +
  • +
  • + +
    +
    +

    Converts from screen pixel to geo coordinate

    +
    +
    +

    Parameters

    +
      +
    • +
      position: PixelPoint
      +
      +

      the pixel coordinate on screen

      +
      +
    • +
    +

    Returns GeoPoint

    +

    the geographical coordinate

    +
  • +
+
+
+ +

refresh

+ +
    +
  • + +
    +
    +

    Refresh the map view. + Manually trigger re-rendering of specific layer(s) of the map.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: string, listener: (e: MapEvent) => void): void
  • +
+
    +
  • + +
    +
    +

    Removes an event listener to the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      type: string
      +
      +

      A string representing the event type to listen for.

      +
      +
    • +
    • +
      listener: (e: MapEvent) => void
      +
      +

      The EventListener function of the event handler to remove from the editor.

      +
      +
        +
      • + +
          +
        • +

          Parameters

          + +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

removeLayer

+ +
    +
  • + +
    +
    +

    Remove a layer from the map.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

removeObserver

+
    +
  • removeObserver(name: string, observer: (name: string, newValue: any, prevValue: any) => void): boolean
  • +
+
    +
  • + +
    +
    +

    Removes an observer from the map.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      the name of the value to observe

      +
      +
    • +
    • +
      observer: (name: string, newValue: any, prevValue: any) => void
      +
      +

      the observer that should be removed.

      +
      +
        +
      • +
          +
        • (name: string, newValue: any, prevValue: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            name: string
            +
          • +
          • +
            newValue: any
            +
          • +
          • +
            prevValue: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    boolean that's indicating if observer was removed.

    +
  • +
+
+
+ +

resize

+
    +
  • resize(width?: number, height?: number): void
  • +
+
    +
  • + +
    +
    +

    Resize the map view. + If no width/height is passed the map will resize automatically to the maximum possible size defined by the HTMLElement.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional width: number
      +
      +

      new width in pixels

      +
      +
    • +
    • +
      Optional height: number
      +
      +

      new height in pixels

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

rotate

+
    +
  • rotate(rotation?: number): number
  • +
+
    +
  • + +
    +
    +

    Set or get map rotation along z-axis

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional rotation: number
      +
      +

      set absolute map rotation in degrees

      +
      +
    • +
    +

    Returns number

    +

    current applied rotation in degrees

    +
  • +
+
+
+ +

setBackgroundColor

+
    +
  • setBackgroundColor(color: Color): void
  • +
+
    +
  • + +
    +
    +

    Set the background color of the map

    +
    +
    +

    Parameters

    +
      +
    • +
      color: Color
      +
      +

      the background color to set

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setBehavior

+
    +
  • setBehavior(options: { drag?: boolean; pitch?: boolean; rotate?: boolean; zoom?: boolean }): void
  • +
  • setBehavior(behavior: string, active: boolean): any
  • +
+
    +
  • + +
    +
    +

    Set the map behavior on user interaction.

    +
    +
    +
    example
    +
    // to deactivate map zoom on mouse scroll:
    +setBehavior({zoom: false, drag: true});
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { drag?: boolean; pitch?: boolean; rotate?: boolean; zoom?: boolean }
      +
      +

      Behavior options

      +
      +
        +
      • +
        Optional drag?: boolean
        +
        +
        +

        true to enable map dragging, false to disable.

        +
        +
        +
      • +
      • +
        Optional pitch?: boolean
        +
        +
        +

        true to enable map pitching, false to disable.

        +
        +
        +
      • +
      • +
        Optional rotate?: boolean
        +
        +
        +

        true to enable map rotation, false to disable.

        +
        +
        +
      • +
      • +
        Optional zoom?: boolean
        +
        +
        +

        true to enable map zooming, false to disable.

        +
        +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Enable/Disable a specific map behavior on user interaction. + Possible behavior are: "zoom", "drag", "pitch" and "rotate

    +
    +
    +
    example
    +
    // to deactivate map zoom on mouse scroll:
    +setBehavior('zoom',true);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      behavior: string
      +
      +

      the behavior that should be disabled or enabled.

      +
      +
    • +
    • +
      active: boolean
      +
      +

      true to enable, false to disable

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

setCenter

+
    +
  • setCenter(center: GeoPoint): any
  • +
  • setCenter(longitude: number | GeoPoint, latitude: number): any
  • +
+
    +
  • + +
    +
    +

    Set new geographical center for the map.

    +
    +
    +
    example
    +
    display.setCenter({longitude: 8.53422, latitude: 50.16212});
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      center: GeoPoint
      +
      +

      the geographical coordinate to center the map

      +
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Set new geographical center for the map.

    +
    +
    +
    example
    +
    display.setCenter(8.53422, 50.16212);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      longitude: number | GeoPoint
      +
    • +
    • +
      latitude: number
      +
      +

      latitude to center the map

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

setViewBounds

+ +
    +
  • + +
    +
    +

    Set view bounds for the map to display.

    +
    +
    +

    Parameters

    +
      +
    • +
      bounds: GeoRect | [number, number, number, number] | GeoJSONFeature | GeoJSONFeature[] | GeoJSONFeatureCollection
      +
      +

      GeoRect, GeoJson Feature or an GeoJson bbox [minLon, minLat, maxLon, maxLat] defining the view bounds.

      +
      +
    • +
    • +
      Optional animate: boolean
      +
      +

      animate using a bow animation @see Map.flyTo. true to enable, false to disable.

      +
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Set view bounds for the map to display.

    +
    +
    +

    Parameters

    +
      +
    • +
      bounds: GeoRect | [number, number, number, number] | GeoJSONFeature | GeoJSONFeature[] | GeoJSONFeatureCollection
      +
      +

      GeoRect, GeoJson Feature or an GeoJson bbox [minLon, minLat, maxLon, maxLat] defining the view bounds.

      +
      +
    • +
    • +
      Optional animationOptions: { duration?: number }
      +
      +

      options to configure the bow animation @see Map.flyTo.

      +
      +
        +
      • +
        Optional duration?: number
        +
        +
        +

        the duration of the bow animation in milliseconds

        +
        +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

setZoomlevel

+
    +
  • setZoomlevel(zoomTo: number, fixedX?: number, fixedY?: number, animate?: number): void
  • +
+
    +
  • + +
    +
    +

    Set zoomlevel with an optional anchor point.

    +
    +
    +

    Parameters

    +
      +
    • +
      zoomTo: number
      +
      +

      new zoomlevel

      +
      +
    • +
    • +
      Optional fixedX: number
      +
      +

      x coordinate of fixed anchor point on screen in pixels

      +
      +
    • +
    • +
      Optional fixedY: number
      +
      +

      y coordinate of fixed anchor point on screen in pixels

      +
      +
    • +
    • +
      Optional animate: number
      +
      +

      zoom transition animation time in milliseconds [default: 0]

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

snapshot

+
    +
  • snapshot(callback: (screenshot: HTMLCanvasElement) => void, dx?: number, dy?: number, width?: number, height?: number): void
  • +
+
    +
  • + +
    +
    +

    Take a snapshot of the current map's viewport.

    +
    +
    +

    Parameters

    +
      +
    • +
      callback: (screenshot: HTMLCanvasElement) => void
      +
      +

      Callback function that will be called when the requested snapshot has been captured.

      +
      +
        +
      • +
          +
        • (screenshot: HTMLCanvasElement): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            screenshot: HTMLCanvasElement
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    • +
      Optional dx: number
      +
      +

      x coordinate of the left edge of the capturing rectangle in pixel

      +
      +
    • +
    • +
      Optional dy: number
      +
      +

      y coordinate of the top edge of the capturing rectangle in pixel

      +
      +
    • +
    • +
      Optional width: number
      +
      +

      width of the capturing rectangle in pixel

      +
      +
    • +
    • +
      Optional height: number
      +
      +

      height of the capturing rectangle in pixel

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/display.mapevent.html b/docs/classes/display.mapevent.html new file mode 100644 index 000000000..7492a6441 --- /dev/null +++ b/docs/classes/display.mapevent.html @@ -0,0 +1,323 @@ + + + + + + MapEvent | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class MapEvent

+
+
+
+
+
+
+
+
+
+

The MapEvent represents an event which takes place in the map. + An event can be triggered by user interaction e.g. tapping on the map, or being generated to represent the progress of an asynchronous task.

+
+
+
+
+

Hierarchy

+
    +
  • + MapEvent +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly button

+
button: number
+ +
+
+

This property indicates which button was pressed on the mouse to trigger the event.

+
+

Possible values:

+
    +
  • 0: Main button pressed, usually the left button or the un-initialized state
  • +
  • 2: Secondary button pressed, usually the right button
  • +
+
+
defaultvalue
+

0

+
+
+
+
+
+ +

Optional Readonly detail

+
detail: any
+ +
+
+

optional event detail data

+
+
+
+
+ +

Optional Readonly mapX

+
mapX: number
+ +
+
+

Gives the x coordinate relative to the map container HTMLElement in pixels. + This property is only set when created by user interaction with native mouse/touch/pointer events.

+
+
+
+
+ +

Optional Readonly mapY

+
mapY: number
+ +
+
+

Gives the y coordinate relative to the map container HTMLElement in pixels. + This property is only set when created by user interaction with native mouse/touch/pointer events.

+
+
+
+
+ +

Optional Readonly nativeEvent

+
nativeEvent: MouseEvent | TouchEvent | PointerEvent | null
+ +
+
+

The underlying native Mouse-, Pointer- or Touch-event generated by the browser. + This property will be null if the Event was not directly generated from a native event.

+
+
+
+
+ +

Optional Readonly target

+
target: Feature | null
+ +
+
+

The feature on the map this event relates to. + e.g. User clicks/taps on a specific Feature on the map. + If the event does not refer to any feature, the property is null.

+
+
+
+
+ +

Readonly timeStamp

+
timeStamp: number
+ +
+
+

This property specifies the time at which the event was created in milliseconds relative to 1970-01-01T00:00:00Z.

+
+
+
+
+ +

Readonly type

+
type: string
+ +
+
+

The type of the event. + Supported events: "mapviewchangestart", "mapviewchange", "mapviewchangeend", "resize", + "tap", "dbltap", "pointerup", "pointerenter", "pointerleave", "pointerdown", "pointermove", "pressmove"

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.address.html b/docs/classes/editor.address.html new file mode 100644 index 000000000..c26025cc2 --- /dev/null +++ b/docs/classes/editor.address.html @@ -0,0 +1,1035 @@ + + + + + + Address | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Address

+
+
+
+
+
+
+
+
+
+

The Address Feature is a generic editable Feature with "Point" geometry. + In addition to the Marker Feature, the Place feature must have a "routing point" located on a Navlink geometry. + A Address must be linked/associated with a Navlink Feature.

+
+

The Feature can be edited with the Editor.

+
+
+
+

Hierarchy

+
    +
  • + Location +
      +
    • + Address +
    • +
    +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

Readonly class

+
class: "ADDRESS"
+ +
+
+

The feature class of an Address Feature is "ADDRESS".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: FeatureProperties
+ +
+
+

The Properties of the feature

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

behavior

+
    +
  • behavior(options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }): void
  • +
  • behavior(name: string, value: boolean | string | [number, number, number]): void
  • +
  • behavior(option: string): any
  • +
  • behavior(): { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }
  • +
+
    +
  • + +
    +
    +

    Set the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }
      +
        +
      • +
        Optional dragAxis?: "X" | "Y" | "Z" | [number, number, number]
        +
        +
        +

        The drag axis across which the marker is dragged upon user interaction. + Once "dragAxis" is set, "dragPlane" has no effect. + In case "dragAxis" and "dragPlane" are set, "dragPlane" is preferred. + In case "dragPlane" and "dragAxis" are both set, "dragPlane" is preferred.

        +
        +
        +
      • +
      • +
        Optional dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number]
        +
        +
        +

        The normal of the plane over which the marker is dragged upon user interaction. + Once "dragPlane" is set, "dragAxis" has no effect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
    • +
    • +
      value: boolean | string | [number, number, number]
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Get the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      option: string
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Get the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Returns { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }

    +
      +
    • +
      Optional dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null
      +
      +
      +

      The drag axis across which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    • +
      Optional dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null
      +
      +
      +

      The normal of the plane over which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    +
  • +
+
+
+ +

coord

+ +
    +
  • + +
    +
    +

    Get the coordinate(s) of the feature.

    +
    +
    +

    Returns GeoJSONCoordinate

    +
  • +
  • + +
    +
    +

    Set the coordinate(s) of the feature.

    +
    +
    +

    Parameters

    + +

    Returns any

    +
  • +
+
+
+ +

editState

+
    +
  • editState(state: "created" | "modified" | "removed" | "split" | "hovered" | "selected", value?: number | boolean): number | boolean | undefined
  • +
+
    +
  • + +
    +
    +

    Get a specific EditState of the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      state: "created" | "modified" | "removed" | "split" | "hovered" | "selected"
      +
      +

      the "EditState" to retrieve its value.

      +
      +
    • +
    • +
      Optional value: number | boolean
      +
    • +
    +

    Returns number | boolean | undefined

    +

    the value of the respective "EditState".

    +
  • +
+
+
+ +

editable

+
    +
  • editable(editable: boolean): this
  • +
+
    +
  • + +
    +
    +

    Define if the feature should be editable by the Editor module or not.

    +
    +
    +
    deprecated
    +
    +
    example
    +
    // prevent the feature from being modified by the editor module
    +object.editable(false);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      editable: boolean
      +
      +

      True, the feature can be edited, otherwise false.

      +
      +
    • +
    +

    Returns this

    +
  • +
+
+
+ +

getLink

+ +
    +
  • + +
    +
    +

    Get the Navlink Feature that the feature is linked to/ associated with.

    +
    +
    +

    Returns Navlink | null

    +

    The Navlink Feature or null if the feature is not linked to a Navlink (floating).

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

prop

+
    +
  • prop(): {}
  • +
  • prop(property: string): any
  • +
  • prop(property: string, value: any): void
  • +
  • prop(properties: {}): void
  • +
+
    +
  • + +
    +
    +

    Get a deep copy of the properties of the feature

    +
    +
    +

    Returns {}

    +
      +
    • +
      [name: string]: any
      +
    • +
    +
  • +
  • + +
    +
    +

    Get the value of a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    +

    Returns any

    +

    the value of the specific property

    +
  • +
  • + +
    +
    +

    Set the value for a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    • +
      value: any
      +
      +

      the value that should be set for the property

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set one or more properties of the object.

    +
    +
    +

    Parameters

    +
      +
    • +
      properties: {}
      +
      +

      the properties object literal that should be merged with the existing properties.

      +
      +
        +
      • +
        [name: string]: any
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Remove the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select and highlight the feature. + Selected features geometry is displayed and can easily be modified by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

style

+
    +
  • style(type?: "default" | "current"): Style[]
  • +
  • style(style: Style[]): any
  • +
+
    +
  • + +
    +
    +

    Get default or current style of the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    defaultvalue
    +

    "default"

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional type: "default" | "current"
      +
      +

      indicates which style to return. "default" -> layer default style for the feature or the "current" applied style.

      +
      +
    • +
    +

    Returns Style[]

    +

    the style of the feature

    +
  • +
  • + +
    +
    +

    Apply style to the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      style: Style[]
      +
      +

      the style to set for the feature

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

transform

+
    +
  • transform(): void
  • +
+
    +
  • + +
    +
    +

    Enable Transform Utility to allow easy geometry transformation of the feature (move/scale/rotate) by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.area.html b/docs/classes/editor.area.html new file mode 100644 index 000000000..2c9e46636 --- /dev/null +++ b/docs/classes/editor.area.html @@ -0,0 +1,1065 @@ + + + + + + Area | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Area

+
+
+
+
+
+
+
+
+
+

The Area Feature is a generic editable Feature with "Polygon" or "MultiPolygon" geometry.

+
+
+
+
+

Hierarchy

+ +
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

Readonly class

+
class: "AREA"
+ +
+
+

The feature class of an Area Feature is "AREA".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: FeatureProperties
+ +
+
+

The Properties of the feature

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

addHole

+ +
    +
  • + +
    +
    +

    Add a rectangular hole to the polygon geometry at the provided position. + The position must be located in the exterior of the polygon. + The size of the hole is calculated with respect to the polygon geometry.

    +
    +
    +

    Parameters

    + +

    Returns boolean

    +

    boolean that indicates if the hole has been added successfully.

    +
  • +
+
+
+ +

addShape

+
    +
  • addShape(point: GeoPoint | PixelPoint, polygonIndex?: number, index?: number): number | false
  • +
+
    +
  • + +
    +
    +

    Add a new shape point / coordinate to the area.

    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint | PixelPoint
      +
      +

      the coordinate of the new shape to add

      +
      +
    • +
    • +
      Optional polygonIndex: number
      +
      +

      the index of the polygon where the new shape/coordinate should be inserted.

      +
      +
    • +
    • +
      Optional index: number
      +
      +

      the index position in the coordinate array of the polygon where the new shape point should be inserted.

      +
      +
    • +
    +

    Returns number | false

    +

    index of the shape or false if shape could not be added

    +
  • +
+
+
+ +

behavior

+
    +
  • behavior(options: { snapCoordinates?: boolean }): void
  • +
  • behavior(name: string, value: boolean): void
  • +
  • behavior(option: string): any
  • +
  • behavior(): { snapCoordinates: boolean }
  • +
+
    +
  • + +
    +
    +

    Set the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { snapCoordinates?: boolean }
      +
        +
      • +
        Optional snapCoordinates?: boolean
        +
        +
        +

        Snap coordinates to polygon geometry nearby.

        +
        +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
    • +
    • +
      value: boolean
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Get the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      option: string
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Get the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Returns { snapCoordinates: boolean }

    +
      +
    • +
      snapCoordinates: boolean
      +
      +
      +

      Snap coordinates to polygon geometry nearby.

      +
      +
      +
    • +
    +
  • +
+
+
+ +

coord

+
    +
  • coord(): [number, number, number][][] | [number, number, number][][][]
  • +
  • coord(coordinates: [number, number, number][][] | [number, number, number][][][]): any
  • +
+
    +
  • + +
    +
    +

    Get the geographical coordinate(s) of the Area feature.

    +
    +
    +

    Returns [number, number, number][][] | [number, number, number][][][]

    +
  • +
  • + +
    +
    +

    Set the geographical coordinate(s) of the Area feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      coordinates: [number, number, number][][] | [number, number, number][][][]
      +
      +

      the geographical coordinates that should be set.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

editState

+
    +
  • editState(state: "created" | "modified" | "removed" | "split" | "hovered" | "selected", value?: number | boolean): number | boolean | undefined
  • +
+
    +
  • + +
    +
    +

    Get a specific EditState of the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      state: "created" | "modified" | "removed" | "split" | "hovered" | "selected"
      +
      +

      the "EditState" to retrieve its value.

      +
      +
    • +
    • +
      Optional value: number | boolean
      +
    • +
    +

    Returns number | boolean | undefined

    +

    the value of the respective "EditState".

    +
  • +
+
+
+ +

editable

+
    +
  • editable(editable: boolean): this
  • +
+
    +
  • + +
    +
    +

    Define if the feature should be editable by the Editor module or not.

    +
    +
    +
    deprecated
    +
    +
    example
    +
    // prevent the feature from being modified by the editor module
    +object.editable(false);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      editable: boolean
      +
      +

      True, the feature can be edited, otherwise false.

      +
      +
    • +
    +

    Returns this

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

prop

+
    +
  • prop(): {}
  • +
  • prop(property: string): any
  • +
  • prop(property: string, value: any): void
  • +
  • prop(properties: {}): void
  • +
+
    +
  • + +
    +
    +

    Get a deep copy of the properties of the feature

    +
    +
    +

    Returns {}

    +
      +
    • +
      [name: string]: any
      +
    • +
    +
  • +
  • + +
    +
    +

    Get the value of a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    +

    Returns any

    +

    the value of the specific property

    +
  • +
  • + +
    +
    +

    Set the value for a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    • +
      value: any
      +
      +

      the value that should be set for the property

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set one or more properties of the object.

    +
    +
    +

    Parameters

    +
      +
    • +
      properties: {}
      +
      +

      the properties object literal that should be merged with the existing properties.

      +
      +
        +
      • +
        [name: string]: any
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Remove the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select and highlight the feature. + Selected features geometry is displayed and can easily be modified by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

style

+
    +
  • style(type?: "default" | "current"): Style[]
  • +
  • style(style: Style[]): any
  • +
+
    +
  • + +
    +
    +

    Get default or current style of the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    defaultvalue
    +

    "default"

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional type: "default" | "current"
      +
      +

      indicates which style to return. "default" -> layer default style for the feature or the "current" applied style.

      +
      +
    • +
    +

    Returns Style[]

    +

    the style of the feature

    +
  • +
  • + +
    +
    +

    Apply style to the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      style: Style[]
      +
      +

      the style to set for the feature

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

transform

+
    +
  • transform(): void
  • +
+
    +
  • + +
    +
    +

    Enable Transform Utility to allow easy geometry transformation of the feature (move/scale/rotate) by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.areashape.html b/docs/classes/editor.areashape.html new file mode 100644 index 000000000..752b903b7 --- /dev/null +++ b/docs/classes/editor.areashape.html @@ -0,0 +1,550 @@ + + + + + + AreaShape | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class AreaShape

+
+
+
+
+
+
+
+
+
+

The AreaShape represents a shape-point / coordinate of a Area feature. + The AreaShape is only existing if the corresponding Area feature is "selected" and user based geometry editing with touch/mouse interaction is activated.

+
+
+
see
+

Area.select

+
+
+
+
+
+

Hierarchy

+
    +
  • + Feature<"Point"> +
      +
    • + AreaShape +
    • +
    +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

Readonly class

+
class: "AREA_SHAPE"
+ +
+
+

The feature class of an AreaShape Feature is "AREA_SHAPE".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: "Point" extends "Point" ? GeoJSONCoordinate : "Point" extends "MultiPoint" ? GeoJSONCoordinate[] : "Point" extends "LineString" ? GeoJSONCoordinate[] : "Point" extends "MultiLineString" ? GeoJSONCoordinate[][] : "Point" extends "Polygon" ? GeoJSONCoordinate[][] : "Point" extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | "Point" | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: "Point" extends "Point" ? GeoJSONCoordinate : "Point" extends "MultiPoint" ? GeoJSONCoordinate[] : "Point" extends "LineString" ? GeoJSONCoordinate[] : "Point" extends "MultiLineString" ? GeoJSONCoordinate[][] : "Point" extends "Polygon" ? GeoJSONCoordinate[][] : "Point" extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | "Point" | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: {} | null
+ +
+
+

The properties associated with the feature.

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

getArea

+
    +
  • getArea(): Area
  • +
+
    +
  • + +
    +
    +

    Get the Area feature to which the ShapeShape belongs.

    +
    +
    +

    Returns Area

    +

    the Area feature

    +
  • +
+
+
+ +

getIndex

+
    +
  • getIndex(): number
  • +
+
    +
  • + +
    +
    +

    Get the index of the shape point in the coordinates array of the polygon of respective Area feature.

    +
    +
    +

    Returns number

    +

    The index of the shape point.

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

remove

+
    +
  • remove(): boolean
  • +
+
    +
  • + +
    +
    +

    Removes the shape point from the polygon geometry of the Area feature.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

toJSON

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.crossing.html b/docs/classes/editor.crossing.html new file mode 100644 index 000000000..b06efb669 --- /dev/null +++ b/docs/classes/editor.crossing.html @@ -0,0 +1,523 @@ + + + + + + Crossing | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Crossing

+
+
+
+
+
+
+
+
+
+

The Crossing represents the intersection point of 2 Navlink geometries. + A Crossing feature is an indication for a Road Intersection an can be used to detect and create missing intersections in a road network. + In case of 2 Navlink geometries are located very close to each other (but not intersecting), the Crossing represents a "CROSSING_CANDIDATE". + The threshold for the candidate detection can be configured with EditorOptions.intersectionScale

+
+
+
+
+

Hierarchy

+
    +
  • + Crossing +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Readonly class

+
class: CROSSING | CROSSING_CANDIDATE
+ +
+
+

the feature class of the crossing. Can be either CROSSING or CROSSING_CANDIDATE.

+
+
+
+
+ +

Readonly distance

+
distance: number
+ +
+
+

The distance between two points which will be connected on current and related links.

+
+
+
+
+ +

geometry

+
geometry: { coordinates: GeoJSONCoordinate | GeoJSONCoordinate[]; type: "Point" | "LineString" }
+ +
+
+

The geometry of the Crossing feature.

+
+
+
+

Type declaration

+
    +
  • +
    coordinates: GeoJSONCoordinate | GeoJSONCoordinate[]
    +
    +
    +

    The coordinates of the crossing feature.

    +
    +
    +
  • +
  • +
    type: "Point" | "LineString"
    +
    +
    +

    The type of the geometry. + For "CROSSINGS" the type is "Point", for "CROSSING_CANDIDATE" its "LineString".

    +
    +
    +
  • +
+
+
+
+ +

Readonly x

+
x: number
+ +
+
+

the x coordinate of the crossing on screen in pixel.

+
+
+
deprecated
+

use display.geoToPixel to project the geographical coordinates of the crossing to pixels on screen.

+
+
+
+
+
+ +

Readonly y

+
y: number
+ +
+
+

the y coordinate of the crossing on screen in pixel.

+
+
+
deprecated
+

use display.geoToPixel to project the geographical coordinates of the crossing to pixels on screen.

+
+
+
+
+
+
+

Methods

+
+ +

connect

+ +
    +
  • + +
    +
    +

    Connects the related Navlink features and creates an intersection.

    +
    +
    +

    Returns Crossing[] | false

    +

    Resulting array of new Crossing due to road network changes or false if none crossing is detected.

    +
  • +
+
+
+ +

getConnectedLinks

+
    +
  • getConnectedLinks(): Navlink[]
  • +
+
    +
  • + +
    +
    +

    Get all connected Navlink features which are connected (Intersection) to the related link that is treated as crossing candidate. + This method affects Crossings of type "CROSSING_CANDIDATE" only.

    +
    +
    +

    Returns Navlink[]

    +
  • +
+
+
+ +

getLink

+ +
    +
  • + +
    +
    +

    Get the Navlink feature of which the crossing belongs to.

    +
    +
    +

    Returns Navlink

    +
  • +
+
+
+ +

getRelatedLink

+ +
    +
  • + +
    +
    +

    Get the Navlink feature which is crossed or treated as a crossing candidate.

    +
    +
    +

    Returns Navlink

    +
  • +
+
+
+ +

hide

+
    +
  • hide(): void
  • +
+
    +
  • + +
    +
    +

    Hide the crossing on the map.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

show

+
    +
  • show(): void
  • +
+
    +
  • + +
    +
    +

    Show the crossing on the map.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.drawingboard.html b/docs/classes/editor.drawingboard.html new file mode 100644 index 000000000..de3ea62cb --- /dev/null +++ b/docs/classes/editor.drawingboard.html @@ -0,0 +1,701 @@ + + + + + + DrawingBoard | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DrawingBoard

+
+
+
+
+
+
+
+
+
+

The DrawingBoard is a tool to easily enable the user to draw the geometry for a feature by user interaction with mouse/touch "taps" on the screen. + A feature based on the drawn geometry and custom properties can be created when the drawing operation is done.

+
+
+
+
+

Hierarchy

+
    +
  • + DrawingBoard +
  • +
+
+
+

Index

+
+ +
+
+
+

Methods

+
+ +

addShape

+ +
    +
  • + +
    +
    +

    Add a shape-point to the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      position: PixelPoint | GeoPoint
      +
      +

      the coordinate in pixels relative to the screen that should be added to the coordinates of the feature.

      +
      +
    • +
    • +
      Optional navlink: Navlink
      +
    • +
    +

    Returns DrawingShape

    +
  • +
+
+
+ +

cancel

+
    +
  • cancel(): void
  • +
+
    +
  • + +
    +
    +

    Cancel the current drawing operation.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

create

+ +
    +
  • + +
    +
    +

    Finish current drawing operation and create the drawn feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional properties: any
      +
      +

      properties the feature will be created with.

      +
      +
    • +
    +

    Returns Line | Navlink | Area | undefined

    +

    the created Feature or undefined if creation fails due to invalid geometry.

    +
  • +
+
+
+ +

getGeometry

+ + +
+
+ +

getLength

+
    +
  • getLength(): number
  • +
+
    +
  • + +
    +
    +

    Get the total number of coordinates / shape-points of the currently drawn feature.

    +
    +
    +

    Returns number

    +

    Number of coordinates

    +
  • +
+
+
+ +

isActive

+
    +
  • isActive(): boolean
  • +
+
    +
  • + +
    +
    +

    Get the active state of the drawing board.

    +
    +
    +

    Returns boolean

    +

    true when active, otherwise false

    +
  • +
+
+
+ +

removeShape

+
    +
  • removeShape(index?: number): void
  • +
+
    +
  • + +
    +
    +

    Remove a shape-point. + If no index is defined, the last added shape-point will be removed.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional index: number
      +
      +

      the index of the shape-point to be removed.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setAttributes

+
    +
  • setAttributes(p: any): void
  • +
+
    +
  • + +
    +
    +
    deprecated
    +
      +
    • use setProperties instead.
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      p: any
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setGeometry

+ +
    +
  • + +
    +
    +

    Set the geometry of the currently drawn feature.

    +
    +

    If the geometry of an area (MultiPolygon) is specified, only the first exterior is processed.

    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

setProperties

+
    +
  • setProperties(properties: any): void
  • +
+
    +
  • + +
    +
    +

    Set properties of the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      properties: any
      +
      +

      properties the feature will be created with.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

start

+ +
    +
  • + +
    +
    +

    Start a new drawing operation to shape/draw the geometry a feature by user interaction with mouse/touch "taps" on the screen.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional options: { connectTo?: Navlink; layer?: TileLayer; mode?: "Area" | "Line" | "Navlink"; onShapeAdd?: (event: EditorEvent) => void; onShapeRemove?: (event: EditorEvent) => void; position?: PixelPoint | GeoPoint; styleGroup?: Style[]; tolerance?: number }
      +
      +

      options to configure the drawing operation

      +
      +
        +
      • +
        Optional connectTo?: Navlink
        +
        +
        +

        the Navlink feature to which the drawn Navlink should connect.

        +
        +
        +
      • +
      • +
        Optional layer?: TileLayer
        +
        +
        +

        the layer where the feature should be created in.

        +
        +
        +
      • +
      • +
        Optional mode?: "Area" | "Line" | "Navlink"
        +
        +
        +

        the type of feature that should be drawn.

        +
        +
        +
      • +
      • +
        Optional onShapeAdd?: (event: EditorEvent) => void
        +
        +
        +

        event listener that's called for each shape-point that's being added by user interaction. The target of the event is the drawn shape-point DrawingShape

        +
        +
        + +
      • +
      • +
        Optional onShapeRemove?: (event: EditorEvent) => void
        +
        +
        +

        function that's called for each shape-point that's being removed by user interaction. The target of the event is the drawn shape-point DrawingShape

        +
        +
        + +
      • +
      • +
        Optional position?: PixelPoint | GeoPoint
        +
        +
        +

        defines the first coordinate /the starting position.

        +
        +
        +
      • +
      • +
        Optional styleGroup?: Style[]
        +
        +
        +

        for custom draw styling.

        +
        +
        +
      • +
      • +
        Optional tolerance?: number
        +
        +
        +

        The tolerance in meters, used to determine the level of simplification. + The simplification is applied to the LineString geometry only after drawing the geometry is complete by calling DrawingBoard.create. + Tolerance has no effect if mode is set to "Area". + Set tolerance to 0 to disable simplification.

        +
        +
        +
        defaultvalue
        +

        1

        +
        +
        +
        +
      • +
      +
    • +
    +

    Returns boolean

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.drawingshape.html b/docs/classes/editor.drawingshape.html new file mode 100644 index 000000000..726f87451 --- /dev/null +++ b/docs/classes/editor.drawingshape.html @@ -0,0 +1,545 @@ + + + + + + DrawingShape | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class DrawingShape

+
+
+
+
+
+
+
+
+
+

The DrawingShape represents a coordinate (shape-point) of the geometry that's drawn in the current drawing operation of the DrawingBoard utility. + editor.DrawingBoard

+
+
+
+
+

Hierarchy

+
    +
  • + Feature +
      +
    • + DrawingShape +
    • +
    +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

Readonly class

+
class: "LINE_SHAPE" | "NAVLINK_SHAPE" | "AREA_SHAPE"
+ +
+
+

the feature class of the drawing shape point, either LINE_SHAPE, NAVLINK_SHAPE or AREA_SHAPE

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: {} | null
+ +
+
+

The properties associated with the feature.

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

getIndex

+
    +
  • getIndex(): any
  • +
+
    +
  • + +
    +
    +

    Returns the index of the shape point in the coordinate array of the currently drawn feature.

    +
    +
    +

    Returns any

    +

    the index position in the coordinate array.

    +
  • +
+
+
+ +

getLength

+
    +
  • getLength(): number
  • +
+
    +
  • + +
    +
    +

    Get the total number of coordinates / shape-points of the currently drawn feature.

    +
    +
    +

    Returns number

    +

    Number of coordinates

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Removes the shape point from the geometry of the current drawing operation.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

toJSON

+ + +
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.editor-1.html b/docs/classes/editor.editor-1.html new file mode 100644 index 000000000..a40b05b67 --- /dev/null +++ b/docs/classes/editor.editor-1.html @@ -0,0 +1,2114 @@ + + + + + + Editor | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Editor

+
+
+
+
+
+
+
+
+
+

The Editor is an API for editing map data that can be used to easily access, add, remove and edit various types of map data. + Changes can be automatically synchronized with various remote backends services. + It offers various tools for manipulating map-data through user interaction.

+
+
+
+
+

Hierarchy

+
    +
  • + Editor +
  • +
+
+
+

Index

+
+ +
+
+
+

Constructors

+
+ +

constructor

+ +
    +
  • + +
    +
    +
    example
    +
     import {Map} from '@here/xyz-maps-display';
    + import {Editor} from '@here/xyz-maps-editor';
    +
    + //create map display
    + const display = new Map( mapDiv, {
    +     zoomLevel : 19,
    +     center: {
    +         longitude: 8.53422,
    +         latitude: 50.16212
    +     },
    +     // add layers to display
    +     layers: layers
    + });
    +
    +// create the map editor
    +editor = new Editor( display, {
    +     // add the layers that should be edited
    +    layers: layers
    +});
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      display: Map
      +
      +
      +

      the map display to be used with the map editor.

      +
      +
      +
    • +
    • +
      Optional options: EditorOptions
      +
      +
      +

      options to customize the map editor.

      +
      +
      +
    • +
    +

    Returns Editor

    +
  • +
+
+
+
+

Properties

+
+ +

container

+
container: HTMLElement
+ +
+
+

The HTMLElement used by the Map Editor.

+
+
+
+
+
+

Methods

+
+ +

active

+
    +
  • active(active?: boolean): boolean
  • +
+
    +
  • + +
    +
    +

    enable or disable the editor.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional active: boolean
      +
      +

      true to enable or false to disable the editor

      +
      +
    • +
    +

    Returns boolean

    +

    the current active state

    +
  • +
+
+
+ +

addEventListener

+
    +
  • addEventListener(type: EditorEventTypes, listener: (event: EditorEvent) => void): any
  • +
  • addEventListener(type: "error", listener: (event: Error) => void): any
  • +
+
    +
  • + +
    +
    +

    Add an EventListener to the editor. + Valid Events are: "tap", "dbltap", "pointerup", "pointerenter", "pointerleave", "featureUnselected", "error", "dragStart", "dragStop".

    +
    +

    Additional details about the different events:

    +
      +
    • "tap", "pointerup", "dbltap": These events are thrown when the user taps (or double taps) on any feature or the map itself.
    • +
    • "pointerenter", "pointerleave": Occurs when a pointer enters or leaves the hit test area of a map feature.
    • +
    • "featureUnselected": This event is fired when a feature gets unselected automatically by the Editor ( eg: automatic linksplit ).
    • +
    • "error": The event is fired when error occurs.
    • +
    • "dragStart": The event is fired when the user starts dragging an Address, Place, Marker or a shape-point of a Navlink/Area.
    • +
    • "dragStop": The event is fired when the user finishes dragging of a Address, Place, Marker or a shape-point of a Navlink/Area.
    • +
    +
    +

    Parameters

    +
      +
    • +
      type: EditorEventTypes
      +
      +

      A string representing the event type to listen for.

      +
      +
    • +
    • +
      listener: (event: EditorEvent) => void
      +
      +

      the listener function that will be called when an event of the specific type occurs

      +
      + +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Add an Error EventListener to the editor.

    +
    +
    +

    Parameters

    +
      +
    • +
      type: "error"
      +
      +

      the EventListener type is "error"

      +
      +
    • +
    • +
      listener: (event: Error) => void
      +
      +

      the listener function that will be called when an Error occurs

      +
      +
        +
      • +
          +
        • (event: Error): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: Error
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

addFeature

+ + +
+
+ +

addHook

+ +
    +
  • + +
    +
    +

    Add a hook function that will be called during the execution of the editing operation.

    +
    +

    Possible operation types are: 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

addLayer

+ +
    +
  • + +
    +
    +

    add a TileLayer to the editor and enable editing of its map data.

    +
    +
    +

    Parameters

    +
      +
    • +
      layer: TileLayer
      +
      +

      the layer to be added to editor.

      +
      +
    • +
    +

    Returns boolean

    +

    true indicates layer has been added successfully, otherwise false.

    +
  • +
+
+
+ +

addObserver

+
    +
  • addObserver(name: "active" | "ready" | "history.current" | "history.length" | "changes.length", observer: (name: "active" | "ready" | "history.current" | "history.length" | "changes.length", value: any, prevValue: any) => void): void
  • +
+
    +
  • + +
    +
    +

    This method registers an observer for the property named by the caller. + Supported observables: 'active', 'ready', 'history.current', 'history.length', 'changes.length'

    +
    +
    +

    Parameters

    +
      +
    • +
      name: "active" | "ready" | "history.current" | "history.length" | "changes.length"
      +
      +

      The name of the property to observe.

      +
      +
    • +
    • +
      observer: (name: "active" | "ready" | "history.current" | "history.length" | "changes.length", value: any, prevValue: any) => void
      +
      +

      the observer function that is called when the value of the observable changes.

      +
      +
        +
      • +
          +
        • (name: "active" | "ready" | "history.current" | "history.length" | "changes.length", value: any, prevValue: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            name: "active" | "ready" | "history.current" | "history.length" | "changes.length"
            +
          • +
          • +
            value: any
            +
          • +
          • +
            prevValue: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

clearFeatureSelection

+
    +
  • clearFeatureSelection(): Feature | null
  • +
+
    +
  • + +
    +
    +

    Clears the current selected feature.

    +
    +
    +

    Returns Feature | null

    +

    the cleared Feature or null of none is selected.

    +
  • +
+
+
+ +

config

+
    +
  • config(name: string): any
  • +
  • config(): EditorOptions
  • +
  • config(name: string, value: any): any
  • +
  • config(options: EditorOptions): any
  • +
+
    +
  • + +
    +
    +

    Get the current value of a specific editor option.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
    • +
    +

    Returns any

    +

    the value of the specific editor option.

    +
  • +
  • + +
    +
    +

    Get a deep copy of the currently active editor options.

    +
    +
    +

    Returns EditorOptions

    +

    the editor options as a key/value map.

    +
  • +
  • + +
    +
    +

    Set the value of a specific editor option.

    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
      +

      the name of the option to set

      +
      +
    • +
    • +
      value: any
      +
      +

      the value that should be set for the specific option

      +
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Set one or more editor options.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: EditorOptions
      +
      +

      the option key/value map that should be merged with the existing editor options.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

createFeatureContainer

+ +
    +
  • + +
    +
    +

    Create a FeatureContainer.

    +
    +
    +

    Parameters

    + +

    Returns FeatureContainer

    +

    feature container

    +
  • +
+
+
+ +

destroy

+
    +
  • destroy(): void
  • +
+
    +
  • + +
    +
    +

    Destroy the map editor

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

export

+
    +
  • export(): string
  • +
+
    +
  • + +
    +
    +

    Export data of all modified features.

    +
    +
    +

    Returns string

    +

    A JSON encoded string containing all modified features and its respective layer information.

    +
  • +
+
+
+ +

geoToPixel

+ +
    +
  • + +
    +
    +

    Convert geographical coordinate to a pixel coordinate relative to the current mapview on screen.

    +
    +
    +

    Parameters

    +
      +
    • +
      coordinate: GeoPoint | [number, number, number]
      +
      +

      the geographical coordinate

      +
      +
    • +
    +

    Returns PixelPoint

    +

    The pixel coordinate.

    +
  • +
+
+
+ +

get

+
    +
  • get(key: "active" | "ready" | "history.current" | "history.length" | "changes.length"): any
  • +
+
    +
  • + +
    +
    +

    This method retrieves the current value of an observable property.

    +
    +
    +

    Parameters

    +
      +
    • +
      key: "active" | "ready" | "history.current" | "history.length" | "changes.length"
      +
      +

      The name of the property whose value is to be retrieved

      +
      +
    • +
    +

    Returns any

    +

    value - The retrieved value of the property or undefined if no such property exists

    +
  • +
+
+
+ +

getDrawingBoard

+ +
    +
  • + +
    +
    +

    get the DrawingBoard to enable mouse/touch based drawing of the geometry for Line, Navlink or Area features.

    +
    +
    +

    Returns DrawingBoard

    +
  • +
+
+
+ +

getFeature

+
    +
  • getFeature(featureId: string | number, layerId: string | TileLayer): any
  • +
+
    +
  • + +
    +
    +

    Get a feature by id and layer.

    +
    +
    +

    Parameters

    +
      +
    • +
      featureId: string | number
      +
      +

      the id of the feature

      +
      +
    • +
    • +
      layerId: string | TileLayer
      +
      +

      the id of the layer or the layer itself to which the feature belongs.

      +
      +
    • +
    +

    Returns any

    +

    the found feature in the map, otherwise null.

    +
  • +
+
+
+ +

getHooks

+ + +
+
+ +

getLayers

+ +
    +
  • + +
    +
    +

    Get all layers that are added to the editor.

    +
    +
    +

    Returns TileLayer[]

    +

    Array if layers that are added to the editor.

    +
  • +
  • + +
    +
    +

    Get a specific Layer at the index in the layer list of the editor.

    +
    +
    +

    Parameters

    +
      +
    • +
      index: number
      +
    • +
    +

    Returns TileLayer

    +

    the respective layer at index

    +
  • +
+
+
+ +

getOverlay

+ +
    +
  • + +
    +
    +

    Returns the overlay TileLayer used for user interaction with the editable map features.

    +
    +
    +

    Returns TileLayer

    +

    the TileLayer containing all "UI" features used for user interaction with the map features.

    +
  • +
+
+
+ +

getRangeSelector

+ +
    +
  • + +
    +
    +

    get the tool for selecting ranges on Navlink features.

    +
    +
    +

    Returns RangeSelector

    +
  • +
+
+
+ +

getZoomLevel

+
    +
  • getZoomLevel(): number
  • +
+
    +
  • + +
    +
    +

    Get the current zoomLevel.

    +
    +
    +
    deprecated
    +
    +
    +
    +
    +

    Returns number

    +

    The current zoomLevel of the map.

    +
  • +
+
+
+ +

import

+
    +
  • import(json: string): void
  • +
+
    +
  • + +
    +
    +

    Import Features to the editor that have previously been exported with Editor.export.

    +
    +
    +

    Parameters

    +
      +
    • +
      json: string
      +
      +

      A JSON encoded string containing all modified features and its respective layer information.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

info

+ +
    +
  • + +
    +
    +

    Get information of all modified Features of the editor.

    +
    +
    +

    Returns Feature[]

    +

    Array of modified objects.

    +
  • +
+
+
+ +

pixelToGeo

+ +
    +
  • + +
    +
    +

    Convert a pixel position relative to the current mapview on screen to a geographical coordinate.

    +
    +
    +

    Parameters

    +
      +
    • +
      coordinate: PixelPoint | [number, number, number]
      +
      +

      The coordinate on screen in pixels.

      +
      +
    • +
    +

    Returns GeoPoint

    +

    the geographical coordinate

    +
  • +
+
+
+ +

redo

+
    +
  • redo(steps?: number): void
  • +
+
    +
  • + +
    +
    +

    Redo the latest change operation(s). + One change operation can contain multiple feature modifications.

    +
    +

    The changes are stored and managed locally. + Submitting Editor.submit modified Feature(s) to the remote will clear the local change history.

    +
    +

    Parameters

    +
      +
    • +
      Optional steps: number
      +
      +

      the number of change operations to redo.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

removeEventListener

+
    +
  • removeEventListener(type: EditorEventTypes, listener: (event: EditorEvent) => void): any
  • +
  • removeEventListener(type: "error", listener: (event: Error) => void): any
  • +
+
    +
  • + +
    +
    +

    Remove an EventListener from the layer. + Valid Events are: "tap", "dbltap", "pointerup", "pointerenter", "pointerleave", "featureUnselected", "error", "dragStart", "dragStop".

    +
    +
    +

    Parameters

    +
      +
    • +
      type: EditorEventTypes
      +
      +

      A string which specifies the type of event for which to remove an event listener.

      +
      +
    • +
    • +
      listener: (event: EditorEvent) => void
      +
      +

      The listener function of the event handler to remove from the editor.

      +
      + +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Remove an Error EventListener from the layer.

    +
    +
    +

    Parameters

    +
      +
    • +
      type: "error"
      +
      +

      the EventListener type is "error".

      +
      +
    • +
    • +
      listener: (event: Error) => void
      +
      +

      The error event listener to be remove from the editor.

      +
      +
        +
      • +
          +
        • (event: Error): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            event: Error
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

removeHook

+ +
    +
  • + +
    +
    +

    Remove a specific hook for the desired editing operation.

    +
    +

    Possible operation types are: 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'

    +
    +

    Parameters

    + +

    Returns boolean

    +
  • +
+
+
+ +

removeLayer

+ +
    +
  • + +
    +
    +

    Remove a layer from the editor.

    +
    +

    layer - the layer to be removed from the map editor. + Editing get disabled for the layer.

    +
    +

    Parameters

    + +

    Returns boolean

    +

    true indicates layer is removed successfully, otherwise false.

    +
  • +
+
+
+ +

removeObserver

+
    +
  • removeObserver(name: "active" | "ready" | "history.current" | "history.length" | "changes.length", observer: (name: "active" | "ready" | "history.current" | "history.length" | "changes.length", value: any, prevValue: any) => void): void
  • +
+
    +
  • + +
    +
    +

    This method removes the observer for the property. + Supported observables: 'active', 'ready', 'history.current', 'history.length', 'changes.length'

    +
    +
    +

    Parameters

    +
      +
    • +
      name: "active" | "ready" | "history.current" | "history.length" | "changes.length"
      +
      +

      The name of the property that should no longer be observed

      +
      +
    • +
    • +
      observer: (name: "active" | "ready" | "history.current" | "history.length" | "changes.length", value: any, prevValue: any) => void
      +
      +

      The observer function to be removed

      +
      +
        +
      • +
          +
        • (name: "active" | "ready" | "history.current" | "history.length" | "changes.length", value: any, prevValue: any): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            name: "active" | "ready" | "history.current" | "history.length" | "changes.length"
            +
          • +
          • +
            value: any
            +
          • +
          • +
            prevValue: any
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

revert

+
    +
  • revert(): void
  • +
+
    +
  • + +
    +
    +

    Revert changes, fetch data from repository.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

search

+ +
    +
  • + +
    +
    +

    Search for feature(s) in the provider.

    +
    +
    +
    example
    +
    // searching by id:
    +provider.search({id: 1058507462})
    +// or:
    +provider.search({ids: [1058507462, 1058507464]})
    +
    +// searching by point and radius:
    +provider.search({
    + point: {longitude: 72.84205, latitude: 18.97172},
    + radius: 100
    +})
    +
    +// searching by Rect:
    +provider.search({
    + rect:  {minLon: 72.83584, maxLat: 18.97299, maxLon: 72.84443, minLat: 18.96876}
    +})
    +
    +// remote search:
    +provider.search({
    + rect:  {
    +   minLon: 72.83584,
    +   maxLat: 18.97299,
    +   maxLon: 72.84443,
    +   minLat: 18.96876
    + },
    + remote: true, // force provider to do remote search if feature/search area is not cached locally
    + onload: function(result){
    +  // search result is only return in this callback function if features are not found in cache.
    + }
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { filter?: (feature: Feature[]) => boolean; id?: number | string; ids?: number[] | string[]; layers?: TileLayer[]; onload?: (result: Feature[] | null) => void; point?: GeoPoint; radius?: number; rect?: GeoRect | GeoJSONBBox; remote?: boolean }
      +
      +

      configure the search

      +
      +
        +
      • +
        Optional filter?: (feature: Feature[]) => boolean
        +
        +
        +

        function for optional result filtering.

        +
        +
        +
          +
        • +
            +
          • (feature: Feature[]): boolean
          • +
          +
            +
          • +

            Parameters

            + +

            Returns boolean

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional id?: number | string
        +
        +
        +

        search feature by id.

        +
        +
        +
      • +
      • +
        Optional ids?: number[] | string[]
        +
        +
        +

        Array of feature ids to search.

        +
        +
        +
      • +
      • +
        Optional layers?: TileLayer[]
        +
        +
        +

        Layers to search in.

        +
        +
        +
      • +
      • +
        Optional onload?: (result: Feature[] | null) => void
        +
        +
        +

        Callback function for "remote" search.

        +
        +
        +
          +
        • +
            +
          • (result: Feature[] | null): void
          • +
          +
            +
          • +

            Parameters

            + +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional point?: GeoPoint
        +
        +
        +

        Geographical center point of the circle to search in. options.radius must be defined.

        +
        +
        +
      • +
      • +
        Optional radius?: number
        +
        +
        +

        Radius of the circle in meters, it is used in "point" search.

        +
        +
        +
      • +
      • +
        Optional rect?: GeoRect | GeoJSONBBox
        +
        +
        +

        Geographical Rectangle to search in. [minLon, minLat, maxLon, maxLat] | GeoRect.

        +
        +
        +
      • +
      • +
        Optional remote?: boolean
        +
        +
        +

        Force the data provider(s) to do remote search if no result is found in local cache.

        +
        +
        +
      • +
      +
    • +
    +

    Returns Feature[]

    +

    array containing the found features

    +
  • +
+
+
+ +

setZoomLevel

+
    +
  • setZoomLevel(zoomlevel: number): void
  • +
+
    +
  • + +
    +
    +

    Sets the desired zoomLevel.

    +
    +
    +
    deprecated
    +
      +
    • use the map display directly {@link display.Map.setZooomlevel}
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      zoomlevel: number
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

submit

+
    +
  • submit(options: { onError?: (Error: any) => void; onSuccess?: (data: { permanentIDMap: {} }) => void; transactionId?: string }): boolean
  • +
+
    +
  • + +
    +
    +

    Submit changes, return object Ids of submitted objects. Reload and render objects.

    +
    +
    +

    Parameters

    +
      +
    • +
      options: { onError?: (Error: any) => void; onSuccess?: (data: { permanentIDMap: {} }) => void; transactionId?: string }
      +
      +

      submit options

      +
      +
        +
      • +
        Optional onError?: (Error: any) => void
        +
        +
        +

        callback function that gets called in case of an error.

        +
        +
        +
          +
        • +
            +
          • (Error: any): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              Error: any
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional onSuccess?: (data: { permanentIDMap: {} }) => void
        +
        +
        +

        callback function which returns additional information about the commit process. + If id(s) of the submitted feature(s) had to be changed by the remote datasource a "permanentIDMap" is provided.

        +
        +
        +
          +
        • +
            +
          • (data: { permanentIDMap: {} }): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              data: { permanentIDMap: {} }
              +
                +
              • +
                permanentIDMap: {}
                +
                  +
                • +
                  [layerId: string]: {}
                  +
                    +
                  • +
                    [featureId: string]: number | string
                    +
                  • +
                  +
                • +
                +
              • +
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional transactionId?: string
        +
        +
        +

        transactionId that will be attached to all features of the submit operation.

        +
        +
        +
      • +
      +
    • +
    +

    Returns boolean

    +

    true, if there are changes to be submitted, false otherwise.

    +
  • +
+
+
+ +

toGeoJSONCoordinates

+ +
    +
  • + +
    +
    +

    Convert a PixelPoint on the screen or a GeoPoint to a geographical Coordinate in GeoJSON format [number,number,number?].

    +
    +
    +
    example
    +
    // create a Feature at a specific position of the current mapview on the screen.
    +editor.addFeature({
    +    type: 'Feature',
    +    geometry: {
    +        type: 'Point',
    +        coordinates: editor.toGeoJSONCoordinates({x: 300, y:300})
    +    }
    +})
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns GeoJSONCoordinate

    +
  • +
  • + +
    +
    +

    Convert PixelPoints or a GeoPoints to a geographical Coordinates in GeoJSON format [number,number,number?].

    +
    +
    +
    example
    +
    // create a Feature at a specific position of the current mapview on the screen.
    +editor.addFeature({
    +    type: 'Feature',
    +    geometry: {
    +        type: 'LineString',
    +        coordinates: editor.toGeoJSONCoordinates([{x: 300, y:300},{longitude:50.1, latitude:8.5}])
    +    }
    +})
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns GeoJSONCoordinate[]

    +
  • +
  • + +
    +
    +

    Convert PixelPoints or a GeoPoints to a geographical Coordinates in GeoJSON format [number,number,number?].

    +
    +
    +
    example
    +
    // create a Feature at a specific position of the current mapview on the screen.
    +editor.addFeature({
    +  type: 'Feature',
    +    geometry: {
    +      type: 'Polygon',
    +        coordinates: editor.toGeoJSONCoordinates([
    +          [{x:10, y:10}, {longitude:50.1, latitude:8.5}, {x:90, y:90}, {x:10,y:90}, {x:10, y:10}]
    +        ])
    +    }
    +})
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns GeoJSONCoordinate[][]

    +
  • +
  • + +
    +
    +

    Convert PixelPoints or a GeoPoints to a geographical Coordinates in GeoJSON format [number,number,number?].

    +
    +
    +
    example
    +
    // create a Feature at a specific position of the current mapview on the screen.
    +editor.addFeature({
    +    type: 'Feature',
    +    geometry: {
    +        type: 'MultiPolygon',
    +        coordinates: editor.toGeoJSONCoordinates([
    +          [
    +            [{x:10, y:10}, {longitude:50.1, latitude:8.5}, {x:90, y:90}, {x:10,y:90}, {x:10, y:10}]
    +          ]
    +        ])
    +    }
    +})
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns GeoJSONCoordinate[][][]

    +
  • +
+
+
+ +

undo

+
    +
  • undo(steps?: number): void
  • +
+
    +
  • + +
    +
    +

    Undo the latest change operation(s). + One change operation can contain multiple feature modifications. + The changes are stored and managed locally.

    +
    +

    Submitting Editor.submit modified Feature(s) to the remote will clear the local change history.

    +
    +

    Parameters

    +
      +
    • +
      Optional steps: number
      +
      +

      the number of change operations to undo.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Constructor
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.editorevent.html b/docs/classes/editor.editorevent.html new file mode 100644 index 000000000..30b9fd705 --- /dev/null +++ b/docs/classes/editor.editorevent.html @@ -0,0 +1,428 @@ + + + + + + EditorEvent | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class EditorEvent

+
+
+
+
+
+
+
+
+
+

The EditorEvent represents an event which takes place in the editor. + An event can be triggered by user interaction e.g. tapping on the map, or generated to represent the progress of an asynchronous task.

+
+
+
+
+

Hierarchy

+
    +
  • + EditorEvent +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly button

+
button: number
+ +
+
+

This property indicates which button was pressed on the mouse to trigger the event.

+
+

Possible values:

+
    +
  • 0: Main button pressed, usually the left button or the un-initialized state
  • +
  • 2: Secondary button pressed, usually the right button
  • +
+
+
defaultvalue
+

0

+
+
+
+
+
+ +

Readonly detail

+
detail: { index?: number; layer?: TileLayer; range?: Range }
+ +
+
+

optional event detail data depending on the type of the event.

+
+
+
+

Type declaration

+
    +
  • +
    Optional index?: number
    +
    +
    +

    This property is set by the DrawingBoard utility and dispatched when an "onShapeAdd" or "onShapeRemove" event occurs. + Index in the coordinate array of the shape being added or removed.

    +
    +
    +
  • +
  • +
    Optional layer?: TileLayer
    +
    +
    +

    the layer the event relates to.

    +
    +
    +
  • +
  • +
    Optional range?: Range
    +
    +
    +

    This property is set by the RangeSelector utility and dispatched when an "dragStart", "dragMove" or "dragStop" event occurs. + The respective Range on in which the event occurred.

    +
    +
    +
  • +
+
+
+
+ +

Optional Readonly mapX

+
mapX: number
+ +
+
+

Gives the x coordinate relative to the map HTMLElement in pixels. + This property is only set when created by user interaction with native mouse/touch/pointer events.

+
+
+
+
+ +

Optional Readonly mapY

+
mapY: number
+ +
+
+

Gives the y coordinate relative to the map HTMLElement in pixels. + This property is only set when created by user interaction with native mouse/touch/pointer events.

+
+
+
+
+ +

Optional Readonly nativeEvent

+
nativeEvent: MouseEvent | TouchEvent | PointerEvent | null
+ +
+
+

The underlying native Mouse-, Pointer- or Touch-event generated by the browser. + This property will be null if the Event was not directly generated from a native event.

+
+
+
+
+ +

Optional Readonly target

+ + +
+
+

The feature on the map this event relates to. + e.g. User clicks/taps on a specific Feature on the map. + If the event does not refer to any feature, the property is null.

+
+
+
+
+ +

Readonly timeStamp

+
timeStamp: number
+ +
+
+

This property specifies the time at which the event was created in milliseconds relative to 1970-01-01T00:00:00Z.

+
+
+
+
+ +

Readonly type

+
type: string
+ +
+
+

The type of the event. + Supported events: "tap", "dbltap", "pointerup", "pointerenter", "pointerleave", "featureUnselected", "error", "dragStart", "dragStop".

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.feature.html b/docs/classes/editor.feature.html new file mode 100644 index 000000000..65a830f78 --- /dev/null +++ b/docs/classes/editor.feature.html @@ -0,0 +1,872 @@ + + + + + + Feature | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Feature

+
+
+
+
+
+
+
+
+
+

A generic editable map feature with one of the following geometry types: 'Point', 'MultiPoint', 'LineString', 'MultiLineString', 'Polygon', 'MultiPolygon'. + The Feature can be edited with the Editor.

+
+
+
+
+

Hierarchy

+ +
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

class

+
class: string
+ +
+
+

The Feature class of the feature. + The value must be one of "NAVLINK", "ADDRESS", "PLACE", "AREA" or "MARKER".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: FeatureProperties
+ +
+
+

The Properties of the feature

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

coord

+ + +
+
+ +

editState

+
    +
  • editState(state: "created" | "modified" | "removed" | "split" | "hovered" | "selected", value?: number | boolean): number | boolean | undefined
  • +
+
    +
  • + +
    +
    +

    Get a specific EditState of the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      state: "created" | "modified" | "removed" | "split" | "hovered" | "selected"
      +
      +

      the "EditState" to retrieve its value.

      +
      +
    • +
    • +
      Optional value: number | boolean
      +
    • +
    +

    Returns number | boolean | undefined

    +

    the value of the respective "EditState".

    +
  • +
+
+
+ +

editable

+
    +
  • editable(editable: boolean): this
  • +
+
    +
  • + +
    +
    +

    Define if the feature should be editable by the Editor module or not.

    +
    +
    +
    deprecated
    +
    +
    example
    +
    // prevent the feature from being modified by the editor module
    +object.editable(false);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      editable: boolean
      +
      +

      True, the feature can be edited, otherwise false.

      +
      +
    • +
    +

    Returns this

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

prop

+
    +
  • prop(): {}
  • +
  • prop(property: string): any
  • +
  • prop(property: string, value: any): void
  • +
  • prop(properties: {}): void
  • +
+
    +
  • + +
    +
    +

    Get a deep copy of the properties of the feature

    +
    +
    +

    Returns {}

    +
      +
    • +
      [name: string]: any
      +
    • +
    +
  • +
  • + +
    +
    +

    Get the value of a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    +

    Returns any

    +

    the value of the specific property

    +
  • +
  • + +
    +
    +

    Set the value for a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    • +
      value: any
      +
      +

      the value that should be set for the property

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set one or more properties of the object.

    +
    +
    +

    Parameters

    +
      +
    • +
      properties: {}
      +
      +

      the properties object literal that should be merged with the existing properties.

      +
      +
        +
      • +
        [name: string]: any
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Remove the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select and highlight the feature. + Selected features geometry is displayed and can easily be modified by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

style

+
    +
  • style(type?: "default" | "current"): Style[]
  • +
  • style(style: Style[]): any
  • +
+
    +
  • + +
    +
    +

    Get default or current style of the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    defaultvalue
    +

    "default"

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional type: "default" | "current"
      +
      +

      indicates which style to return. "default" -> layer default style for the feature or the "current" applied style.

      +
      +
    • +
    +

    Returns Style[]

    +

    the style of the feature

    +
  • +
  • + +
    +
    +

    Apply style to the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      style: Style[]
      +
      +

      the style to set for the feature

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

transform

+
    +
  • transform(): void
  • +
+
    +
  • + +
    +
    +

    Enable Transform Utility to allow easy geometry transformation of the feature (move/scale/rotate) by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.line.html b/docs/classes/editor.line.html new file mode 100644 index 000000000..bbfe466bd --- /dev/null +++ b/docs/classes/editor.line.html @@ -0,0 +1,995 @@ + + + + + + Line | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Line

+
+
+
+
+
+
+
+
+
+

The Line Feature is a generic editable Feature with "LineString" or "MultiLineString" geometry. + The Feature can be edited with the Editor.

+
+
+
+
+

Hierarchy

+ +
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

Readonly class

+
class: "LINE"
+ +
+
+

The feature class of a Line Feature is "LINE".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: FeatureProperties
+ +
+
+

The Properties of the feature

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

addShape

+ +
    +
  • + +
    +
    +

    Add a new shape point / coordinate to the line.

    +
    +
    +

    Parameters

    + +

    Returns boolean | number

    +

    index of the shape or false if shape could not be added

    +
  • +
  • + +
    +
    +

    Adds a new coordinate to the line feature with "LineString" or "MultiLineString" geometry. + For Line features with "LineString" geometry the a value of 0 must be passed for lineStringIndex.

    +
    +
    +

    Parameters

    +
      +
    • +
      point: PixelPoint | GeoPoint
      +
      +

      the coordinate to add

      +
      +
    • +
    • +
      lineStringIndex: number
      +
      +

      the index of the coordinate array in the MultiLineStrings array of LineString coordinate arrays.

      +
      +
    • +
    • +
      Optional coordinateIndex: number
      +
      +

      the index position in the LineString coordinate array where the new shape point should be inserted.

      +
      +
    • +
    +

    Returns boolean | number

    +

    index of the shape or false if shape could not be added

    +
  • +
+
+
+ +

coord

+
    +
  • coord(): [number, number, number][] | [number, number, number][][]
  • +
  • coord(coordinates: [number, number, number][] | [number, number, number][][]): any
  • +
+
    +
  • + +
    +
    +

    Get the geographical coordinate(s) of the Line feature.

    +
    +
    +

    Returns [number, number, number][] | [number, number, number][][]

    +
  • +
  • + +
    +
    +

    Set the geographical coordinate(s) of the Line feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      coordinates: [number, number, number][] | [number, number, number][][]
      +
      +

      the geographical coordinates that should be set.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

editState

+
    +
  • editState(state: "created" | "modified" | "removed" | "split" | "hovered" | "selected", value?: number | boolean): number | boolean | undefined
  • +
+
    +
  • + +
    +
    +

    Get a specific EditState of the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      state: "created" | "modified" | "removed" | "split" | "hovered" | "selected"
      +
      +

      the "EditState" to retrieve its value.

      +
      +
    • +
    • +
      Optional value: number | boolean
      +
    • +
    +

    Returns number | boolean | undefined

    +

    the value of the respective "EditState".

    +
  • +
+
+
+ +

editable

+
    +
  • editable(editable: boolean): this
  • +
+
    +
  • + +
    +
    +

    Define if the feature should be editable by the Editor module or not.

    +
    +
    +
    deprecated
    +
    +
    example
    +
    // prevent the feature from being modified by the editor module
    +object.editable(false);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      editable: boolean
      +
      +

      True, the feature can be edited, otherwise false.

      +
      +
    • +
    +

    Returns this

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

getSelectedShapes

+
    +
  • getSelectedShapes(): boolean[] | boolean[][]
  • +
+
    +
  • + +
    +
    +

    Returns an array of Boolean values indicating whether the corresponding shape is selected at index or not.

    +
    +
    +

    Returns boolean[] | boolean[][]

    +
  • +
+
+
+ +

prop

+
    +
  • prop(): {}
  • +
  • prop(property: string): any
  • +
  • prop(property: string, value: any): void
  • +
  • prop(properties: {}): void
  • +
+
    +
  • + +
    +
    +

    Get a deep copy of the properties of the feature

    +
    +
    +

    Returns {}

    +
      +
    • +
      [name: string]: any
      +
    • +
    +
  • +
  • + +
    +
    +

    Get the value of a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    +

    Returns any

    +

    the value of the specific property

    +
  • +
  • + +
    +
    +

    Set the value for a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    • +
      value: any
      +
      +

      the value that should be set for the property

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set one or more properties of the object.

    +
    +
    +

    Parameters

    +
      +
    • +
      properties: {}
      +
      +

      the properties object literal that should be merged with the existing properties.

      +
      +
        +
      • +
        [name: string]: any
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Remove the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select and highlight the feature. + Selected features geometry is displayed and can easily be modified by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

setSelectedShapes

+
    +
  • setSelectedShapes(selectedShapeIndicies: boolean[] | boolean[][]): void
  • +
+
    +
  • + +
    +
    +

    Sets the selected state of the shapes at their respective indices.

    +
    +
    +

    Parameters

    +
      +
    • +
      selectedShapeIndicies: boolean[] | boolean[][]
      +
      +

      Array of Boolean values indicating whether the corresponding shape is selected at index or not

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

style

+
    +
  • style(type?: "default" | "current"): Style[]
  • +
  • style(style: Style[]): any
  • +
+
    +
  • + +
    +
    +

    Get default or current style of the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    defaultvalue
    +

    "default"

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional type: "default" | "current"
      +
      +

      indicates which style to return. "default" -> layer default style for the feature or the "current" applied style.

      +
      +
    • +
    +

    Returns Style[]

    +

    the style of the feature

    +
  • +
  • + +
    +
    +

    Apply style to the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      style: Style[]
      +
      +

      the style to set for the feature

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

transform

+
    +
  • transform(): void
  • +
+
    +
  • + +
    +
    +

    Enable Transform Utility to allow easy geometry transformation of the feature (move/scale/rotate) by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.lineshape.html b/docs/classes/editor.lineshape.html new file mode 100644 index 000000000..bd4e4bd8b --- /dev/null +++ b/docs/classes/editor.lineshape.html @@ -0,0 +1,809 @@ + + + + + + LineShape | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class LineShape

+
+
+
+
+
+
+
+
+
+

The LineShape represents a shape-point / coordinate of a Line feature. + The LineShape is only existing if the corresponding Line feature is "selected" and user based geometry editing with touch/mouse interaction is activated.

+
+
+
see
+

Line.select

+
+
+
+
+
+

Hierarchy

+
    +
  • + Feature +
      +
    • + LineShape +
    • +
    +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

class

+
class: string
+ +
+
+

The feature class of a LineShape Feature is "LINE_SHAPE".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: [number, number, number]; type: "Point" }
+ +
+
+

{@inheritdoc}

+
+
+
+

Type declaration

+
    +
  • +
    coordinates: [number, number, number]
    +
    +
    +

    {@inheritdoc}

    +
    +
    +
  • +
  • +
    type: "Point"
    +
    +
    +

    {@inheritdoc}

    +
    +
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: { button: number; index: number; lineStringIndex: number; moved: boolean; x: number; y: number; z: number }
+ +
+
+

{@inheritdoc}

+
+
+
+

Type declaration

+
    +
  • +
    button: number
    +
  • +
  • +
    index: number
    +
  • +
  • +
    lineStringIndex: number
    +
  • +
  • +
    moved: boolean
    +
  • +
  • +
    x: number
    +
  • +
  • +
    y: number
    +
  • +
  • +
    z: number
    +
  • +
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

behavior

+
    +
  • behavior(options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }): void
  • +
  • behavior(name: string, value: boolean | string | [number, number, number]): void
  • +
  • behavior(option: string): any
  • +
  • behavior(): { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }
  • +
+
    +
  • + +
    +
    +

    Set the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }
      +
        +
      • +
        Optional dragAxis?: "X" | "Y" | "Z" | [number, number, number]
        +
        +
        +

        The drag axis across which the LineShape is dragged upon user interaction. + Once "dragAxis" is set, "dragPlane" has no effect. + In case "dragAxis" and "dragPlane" are set, "dragPlane" is preferred. + In case "dragPlane" and "dragAxis" are both set, "dragPlane" is preferred.

        +
        +
        +
      • +
      • +
        Optional dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number]
        +
        +
        +

        The normal of the plane over which the LineShape is dragged upon user interaction. + Once "dragPlane" is set, "dragAxis" has no effect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
    • +
    • +
      value: boolean | string | [number, number, number]
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Get the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      option: string
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Get the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Returns { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }

    +
      +
    • +
      Optional dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null
      +
      +
      +

      The drag axis across which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    • +
      Optional dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null
      +
      +
      +

      The normal of the plane over which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    +
  • +
+
+
+ +

getIndex

+
    +
  • getIndex(): number
  • +
+
    +
  • + +
    +
    +

    Get the index of the shape point in the coordinates array of the respective LineString geometry.

    +
    +
    +

    Returns number

    +

    The index of the shape point.

    +
  • +
+
+
+ +

getLength

+
    +
  • getLength(): number
  • +
+
    +
  • + +
    +
    +

    Get the total number of coordinates of the LineString geometry.

    +
    +
    +

    Returns number

    +

    Number of coordinates

    +
  • +
+
+
+ +

getLine

+
    +
  • getLine(): Line
  • +
+
    +
  • + +
    +
    +

    Get the Line feature to which the LineShape belongs.

    +
    +
    +

    Returns Line

    +

    the Line feature

    +
  • +
+
+
+ +

getLineStringIndex

+
    +
  • getLineStringIndex(): number
  • +
+
    +
  • + +
    +
    +

    Get the index of the coordinate array in the MultiLineString array of LineString coordinate arrays. + For Line features with a geometry of type "LineString" the lineStringIndex is 0.

    +
    +
    +

    Returns number

    +

    the index of the coordinate array in the MultiLineString array of LineString coordinate arrays.

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

isSelected

+
    +
  • isSelected(): boolean
  • +
+
    +
  • + +
    +
    +

    Will return true or false whether the Shape is currently selected.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Removes the shape point from the geometry of the Line feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select the LineShape add it to the current selection. + Multiple LineShapes can be selected at the same time. + When a selected shape is dragged, all other shapes in the current selection are dragged as well.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the LineShape and remove from current selection.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.marker.html b/docs/classes/editor.marker.html new file mode 100644 index 000000000..5a25b0313 --- /dev/null +++ b/docs/classes/editor.marker.html @@ -0,0 +1,1006 @@ + + + + + + Marker | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Marker

+
+
+
+
+
+
+
+
+
+

The Marker Feature is a generic editable Feature with "Point" geometry. + The Feature can be edited with the Editor.

+
+
+
+
+

Hierarchy

+ +
+
+

Implements

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

Readonly class

+
class: "MARKER" | string
+ +
+
+

The feature class of a Marker Feature is "MARKER".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: FeatureProperties
+ +
+
+

The Properties of the feature

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

behavior

+
    +
  • behavior(options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }): void
  • +
  • behavior(name: string, value: boolean | string | [number, number, number]): void
  • +
  • behavior(option: string): any
  • +
  • behavior(): { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }
  • +
+
    +
  • + +
    +
    +

    Set the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }
      +
        +
      • +
        Optional dragAxis?: "X" | "Y" | "Z" | [number, number, number]
        +
        +
        +

        The drag axis across which the marker is dragged upon user interaction. + Once "dragAxis" is set, "dragPlane" has no effect. + In case "dragAxis" and "dragPlane" are set, "dragPlane" is preferred. + In case "dragPlane" and "dragAxis" are both set, "dragPlane" is preferred.

        +
        +
        +
      • +
      • +
        Optional dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number]
        +
        +
        +

        The normal of the plane over which the marker is dragged upon user interaction. + Once "dragPlane" is set, "dragAxis" has no effect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
    • +
    • +
      value: boolean | string | [number, number, number]
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Get the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      option: string
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Get the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Returns { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }

    +
      +
    • +
      Optional dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null
      +
      +
      +

      The drag axis across which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    • +
      Optional dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null
      +
      +
      +

      The normal of the plane over which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    +
  • +
+
+
+ +

coord

+ + +
+
+ +

editState

+
    +
  • editState(state: "created" | "modified" | "removed" | "split" | "hovered" | "selected", value?: number | boolean): number | boolean | undefined
  • +
+
    +
  • + +
    +
    +

    Get a specific EditState of the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      state: "created" | "modified" | "removed" | "split" | "hovered" | "selected"
      +
      +

      the "EditState" to retrieve its value.

      +
      +
    • +
    • +
      Optional value: number | boolean
      +
    • +
    +

    Returns number | boolean | undefined

    +

    the value of the respective "EditState".

    +
  • +
+
+
+ +

editable

+
    +
  • editable(editable: boolean): this
  • +
+
    +
  • + +
    +
    +

    Define if the feature should be editable by the Editor module or not.

    +
    +
    +
    deprecated
    +
    +
    example
    +
    // prevent the feature from being modified by the editor module
    +object.editable(false);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      editable: boolean
      +
      +

      True, the feature can be edited, otherwise false.

      +
      +
    • +
    +

    Returns this

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

prop

+
    +
  • prop(): {}
  • +
  • prop(property: string): any
  • +
  • prop(property: string, value: any): void
  • +
  • prop(properties: {}): void
  • +
+
    +
  • + +
    +
    +

    Get a deep copy of the properties of the feature

    +
    +
    +

    Returns {}

    +
      +
    • +
      [name: string]: any
      +
    • +
    +
  • +
  • + +
    +
    +

    Get the value of a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    +

    Returns any

    +

    the value of the specific property

    +
  • +
  • + +
    +
    +

    Set the value for a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    • +
      value: any
      +
      +

      the value that should be set for the property

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set one or more properties of the object.

    +
    +
    +

    Parameters

    +
      +
    • +
      properties: {}
      +
      +

      the properties object literal that should be merged with the existing properties.

      +
      +
        +
      • +
        [name: string]: any
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Remove the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select and highlight the feature. + Selected features geometry is displayed and can easily be modified by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

style

+
    +
  • style(type?: "default" | "current"): Style[]
  • +
  • style(style: Style[]): any
  • +
+
    +
  • + +
    +
    +

    Get default or current style of the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    defaultvalue
    +

    "default"

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional type: "default" | "current"
      +
      +

      indicates which style to return. "default" -> layer default style for the feature or the "current" applied style.

      +
      +
    • +
    +

    Returns Style[]

    +

    the style of the feature

    +
  • +
  • + +
    +
    +

    Apply style to the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      style: Style[]
      +
      +

      the style to set for the feature

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

transform

+
    +
  • transform(): void
  • +
+
    +
  • + +
    +
    +

    Enable Transform Utility to allow easy geometry transformation of the feature (move/scale/rotate) by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.navlink.html b/docs/classes/editor.navlink.html new file mode 100644 index 000000000..98eec629b --- /dev/null +++ b/docs/classes/editor.navlink.html @@ -0,0 +1,1438 @@ + + + + + + Navlink | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Navlink

+
+
+
+
+
+
+
+
+
+

The Navlink Feature is a generic editable Feature with "LineString" geometry. + In addition to the Line Feature, the Navlink feature can be linked/associated with other Navlink Features. + A Navlink Feature also can be referenced by Addresses and Places. + A Navlink is part of a "road nertwork".

+
+

The Feature can be edited with the Editor.

+
+
+
+

Hierarchy

+
    +
  • + Feature +
      +
    • + Navlink +
    • +
    +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

Readonly class

+
class: "NAVLINK"
+ +
+
+

The feature class of an Navlink Feature is "NAVLINK".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: FeatureProperties
+ +
+
+

The Properties of the feature

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

addShape

+ +
    +
  • + +
    +
    +

    Add a new shape-point / coordinate to the Navlink.

    +
    +
    +

    Parameters

    +
      +
    • +
      point: GeoPoint | PixelPoint
      +
      +

      the coordinate of the new shape to add.

      +
      +
    • +
    • +
      Optional index: number
      +
      +

      the index position in the coordinate array of the LineString where the new shape point should be inserted.

      +
      +
    • +
    +

    Returns number | false | true

    +

    index of the shape or false if shape could not be added

    +
  • +
+
+
+ +

behavior

+
    +
  • behavior(options: { snapCoordinates?: boolean }): void
  • +
  • behavior(name: string, value: boolean): void
  • +
  • behavior(option: string): any
  • +
  • behavior(): { snapCoordinates: boolean }
  • +
+
    +
  • + +
    +
    +

    Set the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { snapCoordinates?: boolean }
      +
        +
      • +
        Optional snapCoordinates?: boolean
        +
        +
        +

        Snap coordinates to Navlink geometry nearby.

        +
        +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
    • +
    • +
      value: boolean
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Get the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      option: string
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Get the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Returns { snapCoordinates: boolean }

    +
      +
    • +
      snapCoordinates: boolean
      +
      +
      +

      Snap coordinates to Navlink geometry nearby.

      +
      +
      +
    • +
    +
  • +
+
+
+ +

checkCrossings

+
    +
  • checkCrossings(option?: { class?: "CROSSING" | "CROSSING_CANDIDATE"; styles?: { connector1?: Style; connector2?: Style; connector3?: Style; found?: Style; search1?: Style; search2?: Style } }): Crossing[]
  • +
+
    +
  • + +
    +
    +

    Checks for possible crossing geometry with other Navlink features.

    +
    +
    +
    example
    +
    crossing.checkCrossings({
    +   type: "CROSSING",
    +       styles: {
    +           connector1: {fill: 'black'},
    +           connector2: {stroke: '#FBF'}
    +       }
    +})
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional option: { class?: "CROSSING" | "CROSSING_CANDIDATE"; styles?: { connector1?: Style; connector2?: Style; connector3?: Style; found?: Style; search1?: Style; search2?: Style } }
      +
      +

      options to configure the crossing check.

      +
      +
        +
      • +
        Optional class?: "CROSSING" | "CROSSING_CANDIDATE"
        +
        +
        +

        Class of the crossing to check for. If no class is defined 'CROSSING' and 'CROSSING_CANDIDATE' is checked for.

        +
        +
        +
      • +
      • +
        Optional styles?: { connector1?: Style; connector2?: Style; connector3?: Style; found?: Style; search1?: Style; search2?: Style }
        +
        +
        +

        Style of the crossings they should be displayed with. 6 configurable styling objects('connector1', 'connector2', 'connector3', 'search1', 'search2', 'found') comprise a crossing.

        +
        +
        +
          +
        • +
          Optional connector1?: Style
          +
        • +
        • +
          Optional connector2?: Style
          +
        • +
        • +
          Optional connector3?: Style
          +
        • +
        • +
          Optional found?: Style
          +
        • +
        • +
          Optional search1?: Style
          +
        • +
        • +
          Optional search2?: Style
          +
        • +
        +
      • +
      +
    • +
    +

    Returns Crossing[]

    +

    array of found crossings

    +
  • +
+
+
+ +

coord

+
    +
  • coord(): [number, number, number][]
  • +
  • coord(coordinates: [number, number, number][]): any
  • +
+
    +
  • + +
    +
    +

    Get the geographical coordinate(s) of the Navlink feature.

    +
    +
    +

    Returns [number, number, number][]

    +
  • +
  • + +
    +
    +

    Set the geographical coordinate(s) of the Navlink feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      coordinates: [number, number, number][]
      +
      +

      the geographical coordinates that should be set.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

editState

+
    +
  • editState(state: "created" | "modified" | "removed" | "split" | "hovered" | "selected", value?: number | boolean): number | boolean | undefined
  • +
+
    +
  • + +
    +
    +

    Get a specific EditState of the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      state: "created" | "modified" | "removed" | "split" | "hovered" | "selected"
      +
      +

      the "EditState" to retrieve its value.

      +
      +
    • +
    • +
      Optional value: number | boolean
      +
    • +
    +

    Returns number | boolean | undefined

    +

    the value of the respective "EditState".

    +
  • +
+
+
+ +

editTurnRestrictions

+ +
    +
  • + +
    +
    +

    Displays and allows editing of the "turn restrictions" for the node/shape-point at the "index" of the Navlink feature. + The index must be the respective index in the coordinates array of the first (0) or last coordinate of the Navlink.

    +
    +
    +

    Parameters

    +
      +
    • +
      index: number
      +
      +

      the index of the node to display the turn restrictions for.

      +
      +
    • +
    +

    Returns TurnRestrictionEditor

    +

    the TurnRestrictionEditor for the respective shape/node.

    +
  • +
  • + +
    +
    +

    Displays and allows editing of all "turn restrictions" for the start and end node of the Navlink feature.

    +
    +
    +

    Returns TurnRestrictionEditor[]

    +

    Array containing the TurnRestrictionEditor for the start-node and end-node (shape-points).

    +
  • +
+
+
+ +

editable

+
    +
  • editable(editable: boolean): this
  • +
+
    +
  • + +
    +
    +

    Define if the feature should be editable by the Editor module or not.

    +
    +
    +
    deprecated
    +
    +
    example
    +
    // prevent the feature from being modified by the editor module
    +object.editable(false);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      editable: boolean
      +
      +

      True, the feature can be edited, otherwise false.

      +
      +
    • +
    +

    Returns this

    +
  • +
+
+
+ +

getConnectedLinks

+
    +
  • getConnectedLinks(index: number): Navlink[]
  • +
  • getConnectedLinks(index: number, details: true): { index: number; link: Navlink }[]
  • +
+
    +
  • + +
    +
    +

    Get connected Navlink Features for the node. + A node is either the Start or End coordinate of the Navlink (LineString) geometry.

    +
    +
    +

    Parameters

    +
      +
    • +
      index: number
      +
      +

      coordinate index for shape/node. 0 -> "start node", or index of last coordinate for the "end node".

      +
      +
    • +
    +

    Returns Navlink[]

    +

    Array that's containing the connected Navlink Features.

    +
  • +
  • + +
    +
    +

    Get connected Navlink Features for the node. + A node is either the Start or End coordinate of the Navlink (LineString) geometry.

    +
    +
    +

    Parameters

    +
      +
    • +
      index: number
      +
      +

      coordinate index for shape/node. 0 -> "start node", or index of last coordinate for the "end node".

      +
      +
    • +
    • +
      details: true
      +
      +

      flag to enable detailed information of the connected Navlinks.

      +
      +
    • +
    +

    Returns { index: number; link: Navlink }[]

    +

    Array of detailed connected Navlink information including the shape/node index of connected link.

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

getSelectedShapes

+
    +
  • getSelectedShapes(): boolean[] | boolean[][]
  • +
+
    +
  • + +
    +
    +

    Returns an array of Boolean values indicating whether the corresponding shape is selected at coordinate-index or not.

    +
    +
    +

    Returns boolean[] | boolean[][]

    +
  • +
+
+
+ +

getZLevels

+
    +
  • getZLevels(): number[]
  • +
  • getZLevels(index: number): number
  • +
+
    +
  • + +
    +
    +

    Get the z-levels for the coordinates of the Navlink feature.

    +
    +
    +

    Returns number[]

    +

    The Array of z-levels for the coordinates of the Navlink.

    +
  • +
  • + +
    +
    +

    Get the z-level for a specific coordinate of the Navlink feature.

    +
    +

    The z-level of the coordinate at the index of the feature's coordinate array.

    +
    +

    Parameters

    +
      +
    • +
      index: number
      +
    • +
    +

    Returns number

    +
  • +
+
+
+ +

prop

+
    +
  • prop(): {}
  • +
  • prop(property: string): any
  • +
  • prop(property: string, value: any): void
  • +
  • prop(properties: {}): void
  • +
+
    +
  • + +
    +
    +

    Get a deep copy of the properties of the feature

    +
    +
    +

    Returns {}

    +
      +
    • +
      [name: string]: any
      +
    • +
    +
  • +
  • + +
    +
    +

    Get the value of a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    +

    Returns any

    +

    the value of the specific property

    +
  • +
  • + +
    +
    +

    Set the value for a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    • +
      value: any
      +
      +

      the value that should be set for the property

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set one or more properties of the object.

    +
    +
    +

    Parameters

    +
      +
    • +
      properties: {}
      +
      +

      the properties object literal that should be merged with the existing properties.

      +
      +
        +
      • +
        [name: string]: any
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Remove the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select and highlight the feature. + Selected features geometry is displayed and can easily be modified by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

setGeoFence

+
    +
  • setGeoFence(radius: number): void
  • +
+
    +
  • + +
    +
    +

    Sets the radius of the geofence.

    +
    +
    +
    deprecated
    +
      +
    • geofence not supported
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      radius: number
      +
      +
      +

      The geofence radius in pixel.

      +
      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setSelectedShapes

+
    +
  • setSelectedShapes(selectedShapeIndicies: boolean[] | boolean[][]): void
  • +
+
    +
  • + +
    +
    +

    Sets the selected state of the shapes at their respective coordinate-indices.

    +
    +
    +

    Parameters

    +
      +
    • +
      selectedShapeIndicies: boolean[] | boolean[][]
      +
      +

      Array of Boolean values indicating whether the corresponding shape is selected at index or not

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

setZLevels

+
    +
  • setZLevels(zLevels: number[]): void
  • +
+
    +
  • + +
    +
    +

    Set the z-levels for the coordinates of the Navlink Feature. + For each coordinate of the Navlink, the respective z-level must be provided.

    +
    +
    +
    example
    +
    // modify the zLevel of the second coordinate.
    +let zlevels = navlink.getZLevels();
    +zlevels[1] = -4;
    +navlink.setZLevels(zlevels);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      zLevels: number[]
      +
      +

      The z-levels to be set for the coordinates of the Navlink.

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

showDirectionHint

+
    +
  • showDirectionHint(dir?: "BOTH" | "START_TO_END" | "END_TO_START", hideShapes?: boolean): void
  • +
+
    +
  • + +
    +
    +

    Show or hide the direction hint on the Navlink feature. + If the function is called without arguments, the hint will be hidden.

    +
    +
    +

    Parameters

    +
      +
    • +
      Optional dir: "BOTH" | "START_TO_END" | "END_TO_START"
      +
      +

      direction of the Navlink, possible value: "BOTH"|"START_TO_END"|"END_TO_START"

      +
      +
    • +
    • +
      Optional hideShapes: boolean
      +
      +

      indicates if the Start and End shapepoints of the Navlink should be displayed or not

      +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

style

+
    +
  • style(type?: "default" | "current"): Style[]
  • +
  • style(style: Style[]): any
  • +
+
    +
  • + +
    +
    +

    Get default or current style of the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    defaultvalue
    +

    "default"

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional type: "default" | "current"
      +
      +

      indicates which style to return. "default" -> layer default style for the feature or the "current" applied style.

      +
      +
    • +
    +

    Returns Style[]

    +

    the style of the feature

    +
  • +
  • + +
    +
    +

    Apply style to the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      style: Style[]
      +
      +

      the style to set for the feature

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

transform

+
    +
  • transform(): void
  • +
+
    +
  • + +
    +
    +

    Enable Transform Utility to allow easy geometry transformation of the feature (move/scale/rotate) by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.navlinkshape.html b/docs/classes/editor.navlinkshape.html new file mode 100644 index 000000000..b1e1aef92 --- /dev/null +++ b/docs/classes/editor.navlinkshape.html @@ -0,0 +1,909 @@ + + + + + + NavlinkShape | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class NavlinkShape

+
+
+
+
+
+
+
+
+
+

The NavlinkShape represents a shape-point / coordinate of a Navlink feature. + The NavlinkShape is only existing if the corresponding Navlink feature is "selected" and user based geometry editing with touch/mouse interaction is activated.

+
+
+
see
+

Navlink.select

+
+
+
+
+
+

Hierarchy

+
    +
  • + Feature +
      +
    • + NavlinkShape +
    • +
    +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

class

+
class: "NAVLINK_SHAPE"
+ +
+
+

The feature class of an NavlinkShape Feature is "NAVLINK_SHAPE".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: {} | null
+ +
+
+

The properties associated with the feature.

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

behavior

+
    +
  • behavior(options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }): void
  • +
  • behavior(name: string, value: boolean | string | [number, number, number]): void
  • +
  • behavior(option: string): any
  • +
  • behavior(): { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }
  • +
+
    +
  • + +
    +
    +

    Set the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }
      +
        +
      • +
        Optional dragAxis?: "X" | "Y" | "Z" | [number, number, number]
        +
        +
        +

        The drag axis across which the LineShape is dragged upon user interaction. + Once "dragAxis" is set, "dragPlane" has no effect. + In case "dragAxis" and "dragPlane" are set, "dragPlane" is preferred. + In case "dragPlane" and "dragAxis" are both set, "dragPlane" is preferred.

        +
        +
        +
      • +
      • +
        Optional dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number]
        +
        +
        +

        The normal of the plane over which the LineShape is dragged upon user interaction. + Once "dragPlane" is set, "dragAxis" has no effect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
    • +
    • +
      value: boolean | string | [number, number, number]
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Get the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      option: string
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Get the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Returns { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }

    +
      +
    • +
      Optional dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null
      +
      +
      +

      The drag axis across which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    • +
      Optional dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null
      +
      +
      +

      The normal of the plane over which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    +
  • +
+
+
+ +

disconnect

+
    +
  • disconnect(): void
  • +
+
    +
  • + +
    +
    +

    Disconnect the Navlink from other connected Navlink features at this shape point. + The Intersection is resolved by moving the position of the shape(node).

    +
    +
    +
    see
    +

    EditorOptions.disconnectShapeDistance to configure the default offset used for offsetting the shape in meters.

    +
    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

editTurnRestrictions

+ +
    +
  • + +
    +
    +

    Show the turn restrictions of the shape and enable editing of the turn-restrictions. + Turn restrictions are only available if the shape is a node (start or end point) and part of an intersection with other Navlink features involved.

    +
    +
    +

    Returns TurnRestrictionEditor

    +
  • +
+
+
+ +

getConnectedLinks

+
    +
  • getConnectedLinks(): Navlink[]
  • +
+
    +
  • + +
    +
    +

    Get an array of Navlink features that are connected to this shape point. + Navlinks are "connected" with each other if they share the same coordinate location of start or end shape-point.

    +
    +
    +

    Returns Navlink[]

    +

    An array of Navlink Features with coordinates located at the same position as the shape.

    +
  • +
+
+
+ +

getIndex

+
    +
  • getIndex(): number
  • +
+
    +
  • + +
    +
    +

    Get the index of the shape point in the coordinates array of the respective Navlink feature.

    +
    +
    +

    Returns number

    +

    The index of the shape point.

    +
  • +
+
+
+ +

getLink

+ +
    +
  • + +
    +
    +

    Get the Navlink feature to which the NavlinkShape belongs.

    +
    +
    +

    Returns Navlink

    +

    the Navlink

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

isNode

+
    +
  • isNode(): boolean
  • +
+
    +
  • + +
    +
    +

    Checks if shape is start or end shape (Node) of the Navlink feature.

    +
    +
    +

    Returns boolean

    +

    true if its start or end shape (Node), otherwise false

    +
  • +
+
+
+ +

isOverlapping

+
    +
  • isOverlapping(): any
  • +
+
    +
  • + +
    +
    +

    Checks if shape is overlapping with an existing shape/coordinate of another Navlink feature.

    +
    +
    +

    Returns any

    +

    true if it overlaps with another shape, false otherwise.

    +
  • +
+
+
+ +

isSelected

+
    +
  • isSelected(): boolean
  • +
+
    +
  • + +
    +
    +

    Will return true or false whether the Shape is currently selected.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Removes the shape point from the geometry of the Navlink feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select the NavlinkShape add it to the current selection. + Multiple NavlinkShape can be selected at the same time. + When a selected shape is dragged, all other shapes in the current selection are dragged as well.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

splitLink

+ +
    +
  • + +
    +
    +

    Splits the Navlink at the position of the NavlinkShape into two new "child" Navlinks. + The coordinate of the NavlinkShape will be the start and end positions of the resulting Navlinks. + The "parent" Navlink itself gets deleted after the split operation is done.

    +
    +
    @example
    +let links = shapePoint.splitLink();
    +
    +
    +

    Returns [Navlink, Navlink]

    +

    An array containing the two newly created Navlink features.

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the NavlinkShape and remove from current selection.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.place.html b/docs/classes/editor.place.html new file mode 100644 index 000000000..b881a42b3 --- /dev/null +++ b/docs/classes/editor.place.html @@ -0,0 +1,1082 @@ + + + + + + Place | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class Place

+
+
+
+
+
+
+
+
+
+

The Place Feature is a generic editable Feature with "Point" geometry. + In addition to the Marker Feature, the Place feature can have a "routing point" located on a Navlink geometry. + A Place can be linked/associated with a Navlink Feature.

+
+

The Feature can be edited with the Editor.

+
+
+
+

Hierarchy

+
    +
  • + Location +
      +
    • + Place +
    • +
    +
  • +
+
+
+

Implements

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional bbox

+
bbox: [number, number, number, number]
+ +
+
+

Bounding box of the feature. + The value of the bbox member is an array of length 4, with all axes of the most southwesterly point followed by all axes of the more northeasterly point. + The "bbox" values define shapes with edges that follow lines of constant longitude and latitude.

+
+
+
+
+ +

Readonly class

+
class: "PLACE"
+ +
+
+

The feature class of a Place Feature is "PLACE".

+
+
+
+
+ +

geometry

+
geometry: { coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+   "type": "Point",
+   "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+   "type": "Polygon",
+   "coordinates": [
+       [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+   ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: string extends "Point" ? GeoJSONCoordinate : string extends "MultiPoint" ? GeoJSONCoordinate[] : string extends "LineString" ? GeoJSONCoordinate[] : string extends "MultiLineString" ? GeoJSONCoordinate[][] : string extends "Polygon" ? GeoJSONCoordinate[][] : string extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | string | string
    +
  • +
+
+
+
+ +

id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

properties

+
properties: FeatureProperties
+ +
+
+

The Properties of the feature

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

The type of the feature is a string with 'Feature' as its value.

+
+
+
+
+
+

Methods

+
+ +

behavior

+
    +
  • behavior(options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }): void
  • +
  • behavior(name: string, value: boolean | string | [number, number, number]): void
  • +
  • behavior(option: string): any
  • +
  • behavior(): { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }
  • +
+
    +
  • + +
    +
    +

    Set the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      options: { dragAxis?: "X" | "Y" | "Z" | [number, number, number]; dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number] }
      +
        +
      • +
        Optional dragAxis?: "X" | "Y" | "Z" | [number, number, number]
        +
        +
        +

        The drag axis across which the marker is dragged upon user interaction. + Once "dragAxis" is set, "dragPlane" has no effect. + In case "dragAxis" and "dragPlane" are set, "dragPlane" is preferred. + In case "dragPlane" and "dragAxis" are both set, "dragPlane" is preferred.

        +
        +
        +
      • +
      • +
        Optional dragPlane?: "XY" | "XZ" | "YZ" | [number, number, number]
        +
        +
        +

        The normal of the plane over which the marker is dragged upon user interaction. + Once "dragPlane" is set, "dragAxis" has no effect.

        +
        +
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      name: string
      +
    • +
    • +
      value: boolean | string | [number, number, number]
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Get the value of a specific behavior option.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      option: string
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Get the behavior options.

    +
    +
    +
    experimental
    +
    +
    +
    +

    Returns { dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null; dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null }

    +
      +
    • +
      Optional dragAxis?: [number, number, number] | "X" | "Y" | "Z" | null
      +
      +
      +

      The drag axis across which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    • +
      Optional dragPlane?: [number, number, number] | "XY" | "XZ" | "YZ" | null
      +
      +
      +

      The normal of the plane over which the marker is dragged upon user interaction.

      +
      +
      +
    • +
    +
  • +
+
+
+ +

coord

+ +
    +
  • + +
    +
    +

    Get the coordinate(s) of the feature.

    +
    +
    +

    Returns GeoJSONCoordinate

    +
  • +
  • + +
    +
    +

    Set the coordinate(s) of the feature.

    +
    +
    +

    Parameters

    + +

    Returns any

    +
  • +
+
+
+ +

createRoutingPoint

+
    +
  • createRoutingPoint(): void
  • +
+
    +
  • + +
    +
    +

    Find the nearest routing point and assign it to the Place Feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

editState

+
    +
  • editState(state: "created" | "modified" | "removed" | "split" | "hovered" | "selected", value?: number | boolean): number | boolean | undefined
  • +
+
    +
  • + +
    +
    +

    Get a specific EditState of the feature.

    +
    +
    +

    Parameters

    +
      +
    • +
      state: "created" | "modified" | "removed" | "split" | "hovered" | "selected"
      +
      +

      the "EditState" to retrieve its value.

      +
      +
    • +
    • +
      Optional value: number | boolean
      +
    • +
    +

    Returns number | boolean | undefined

    +

    the value of the respective "EditState".

    +
  • +
+
+
+ +

editable

+
    +
  • editable(editable: boolean): this
  • +
+
    +
  • + +
    +
    +

    Define if the feature should be editable by the Editor module or not.

    +
    +
    +
    deprecated
    +
    +
    example
    +
    // prevent the feature from being modified by the editor module
    +object.editable(false);
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      editable: boolean
      +
      +

      True, the feature can be edited, otherwise false.

      +
      +
    • +
    +

    Returns this

    +
  • +
+
+
+ +

getLink

+ +
    +
  • + +
    +
    +

    Get the Navlink Feature that the feature is linked to/ associated with.

    +
    +
    +

    Returns Navlink | null

    +

    The Navlink Feature or null if the feature is not linked to a Navlink (floating).

    +
  • +
+
+
+ +

getProvider

+ + +
+
+ +

prop

+
    +
  • prop(): {}
  • +
  • prop(property: string): any
  • +
  • prop(property: string, value: any): void
  • +
  • prop(properties: {}): void
  • +
+
    +
  • + +
    +
    +

    Get a deep copy of the properties of the feature

    +
    +
    +

    Returns {}

    +
      +
    • +
      [name: string]: any
      +
    • +
    +
  • +
  • + +
    +
    +

    Get the value of a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    +

    Returns any

    +

    the value of the specific property

    +
  • +
  • + +
    +
    +

    Set the value for a specific property

    +
    +
    +

    Parameters

    +
      +
    • +
      property: string
      +
      +

      name of the property

      +
      +
    • +
    • +
      value: any
      +
      +

      the value that should be set for the property

      +
      +
    • +
    +

    Returns void

    +
  • +
  • + +
    +
    +

    Set one or more properties of the object.

    +
    +
    +

    Parameters

    +
      +
    • +
      properties: {}
      +
      +

      the properties object literal that should be merged with the existing properties.

      +
      +
        +
      • +
        [name: string]: any
        +
      • +
      +
    • +
    +

    Returns void

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): void
  • +
+
    +
  • + +
    +
    +

    Remove the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

removeRoutingPoint

+
    +
  • removeRoutingPoint(): void
  • +
+
    +
  • + +
    +
    +

    Remove the existing routing point from the Place Feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

select

+
    +
  • select(): void
  • +
+
    +
  • + +
    +
    +

    Select and highlight the feature. + Selected features geometry is displayed and can easily be modified by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

style

+
    +
  • style(type?: "default" | "current"): Style[]
  • +
  • style(style: Style[]): any
  • +
+
    +
  • + +
    +
    +

    Get default or current style of the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    defaultvalue
    +

    "default"

    +
    +
    +
    +

    Parameters

    +
      +
    • +
      Optional type: "default" | "current"
      +
      +

      indicates which style to return. "default" -> layer default style for the feature or the "current" applied style.

      +
      +
    • +
    +

    Returns Style[]

    +

    the style of the feature

    +
  • +
  • + +
    +
    +

    Apply style to the feature.

    +
    +
    +
    deprecated
    +
      +
    • use layer.setStyleGroup instead
    • +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      style: Style[]
      +
      +

      the style to set for the feature

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

toJSON

+ + +
+
+ +

transform

+
    +
  • transform(): void
  • +
+
    +
  • + +
    +
    +

    Enable Transform Utility to allow easy geometry transformation of the feature (move/scale/rotate) by mouse/touch interaction.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

unselect

+
    +
  • unselect(): void
  • +
+
    +
  • + +
    +
    +

    Unselect the feature.

    +
    +
    +

    Returns void

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Inherited property
  • +
  • Inherited method
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/classes/editor.rangeselector.html b/docs/classes/editor.rangeselector.html new file mode 100644 index 000000000..1157a8ce4 --- /dev/null +++ b/docs/classes/editor.rangeselector.html @@ -0,0 +1,381 @@ + + + + + + RangeSelector | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Class RangeSelector

+
+
+
+
+
+
+
+
+
+

The RangeSelector is a tool to create and modify Ranges on a single geometry or multiple line geometries. + A Range represents a part/subsegment on a line geometry or multiple line geometries and allows separate attribution.

+
+
+
+
+

Hierarchy

+
    +
  • + RangeSelector +
  • +
+
+
+

Index

+
+
+
+

Methods

+ +
+
+
+
+
+

Methods

+
+ +

add

+ +
    +
  • + +
    +
    +

    Add Navlink(s) to RangeSelector tool.

    +
    +
    +

    Parameters

    + +

    Returns void

    +
  • +
+
+
+ +

hide

+
    +
  • hide(): void
  • +
+
    +
  • + +
    +
    +

    hides all Ranges and the RangeSelector tool itself.

    +
    +
    +

    Returns void

    +
  • +
+
+
+ +

info

+ +
    +
  • + +
    +
    +

    detailed information about all ranges and its segments.

    +
    +
    +

    Returns Range[]

    +

    An array of Ranges providing detailed information for each Range.

    +
  • +
+
+
+ +

show

+ +
    +
  • + +
    +
    +

    Add and show a Range. A Range can be located on a single or multiple Navlink(s).

    +
    +
    +

    Parameters

    +
      +
    • +
      Rest ...ranges: Range[]
      +
    • +
    +

    Returns any

    +
  • +
  • + +
    +
    +

    Add and a single or multiple Ranges. A Range can be located on a single or multiple Navlink(s).

    +
    +
    +

    Parameters

    +
      +
    • +
      range: Range | Range[]
      +
      +

      The Range(s) that should be displayed.

      +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
  • Method
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/globals.html b/docs/globals.html new file mode 100644 index 000000000..b07dc736e --- /dev/null +++ b/docs/globals.html @@ -0,0 +1,138 @@ + + + + + + XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

XYZ Maps Documentation

+
+
+
+
+
+
+
+

Index

+
+
+
+

Modules

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..764ee8157 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,198 @@ + + + + + + XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

XYZ Maps Documentation

+
+
+
+
+
+
+
+ +

XYZ Maps JS: Display

+
+

XYZ Maps is an experimental and work in progress open-source map editor written in TypeScript/JavaScript. + The display module of XYZ Maps is a highly customizable vector map display that's optimized for map + editing, larger raw datasets and frequently changing data.

+ +

Links

+
+ + +

Installation

+
+

Install XYZ Map Display by using

+
# install using npm
+npm install @here/xyz-maps-display
+
+

or

+
# install using yarn
+yarn add @here/xyz-maps-display
+
+ +

Example Usage:

+
+

Create a map display

+
import MapDisplay from '@here/xyz-maps-display';
+
+const display = new MapDisplay( mapDiv, {
+    zoomLevel : 18,
+    center: {
+        longitude: 8.53422,
+        latitude: 50.16212
+    },
+    // add layers to the display
+    layers: layerSetup
+});
+
+ +

Start developing

+
+
    +
  1. Install node module dependencies

    +
    yarn install
    +
    +

    In case yarn is not installed already: install yarn

    +
  2. +
  3. watch for source code changes and build dev version

    +
    yarn run watch-dev
    +
    +

    Builds are located in located in ./dist/

    +
  4. +
+ +

Other

+
+
    +
  • build dev version once yarn run build-dev (located in packages/*/dist/)

    +
  • +
  • build release version only yarn run build-release (minified...)

    +
  • +
+ +

Contributing

+
+

Your contributions are always welcome! Please have a look at the contribution guidelines first.

+ +

License

+
+

Copyright (C) 2019-2022 HERE Europe B.V.

+

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details

+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.boxstyle.html b/docs/interfaces/core.boxstyle.html new file mode 100644 index 000000000..e6ac9aff8 --- /dev/null +++ b/docs/interfaces/core.boxstyle.html @@ -0,0 +1,552 @@ + + + + + + BoxStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface BoxStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Boxes.

+
+
+
+
+

Hierarchy

+
    +
  • + BoxStyle +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional altitude

+
altitude: number | boolean | StyleValueFunction<number | boolean> | StyleZoomRange<number | boolean>
+ +
+
+

The altitude of the center of the Box in meters. + The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + If a number is set for altitude, the altitude of the feature's geometry is ignored and the value of "altitude" is used instead. + The height must be defined in meters.

+
+
+
defaultvalue
+

false

+
+
experimental
+
+
+
+
+
+ +

Optional depth

+
depth: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The depth of the Box. + The depth defines the length of the edges of a "Box" parallel to the Z axis. + If the depth is not explicitly defined, the value of the "width" is used as the height.

+
+
+
example
+
// define a Box that has a width, height and depth of 16px
+{
+    zIndex: 0,
+    type: "Box",
+    stroke: "blue",
+    fill: "red",
+    width: 16,
+    height: 16,
+    depth: 16
+}
+
+
+
+
+
+
+ +

Optional fill

+ + +
+
+

Sets the color to fill the Box.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional height

+
height: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The Height of the Box. + The unit of height is defined in pixels. + If the height is not explicitly defined, the value of the width is used as the height.

+
+
+
example
+
// define a Box that have a width of 32px and a height of 48px.
+{
+    zIndex: 0,
+    type: "Box",
+    fill: "blue",
+    width: 32,
+    height: 48
+}
+
+
+
+
+
+
+ +

Optional offsetX

+
offsetX: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the Box in pixels on x-axis. + A positive value offsets to the right, a negative value to the left. + The default unit is pixels.

+
+
+
example
+
// offset Box by 8px to the right.
+{ type: "Box", zIndex: 0, with: 32, fill: 'red', offsetX: 8}
+
+
+
+
+
+
+ +

Optional offsetY

+
offsetY: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Offset the Box in pixels on y-axis. + A positive value offsetY offsets downwards, a negative value upwards. + The default unit is pixels.

+
+
+
example
+
// offset Box by 8px to the bottom
+{ type: "Box", zIndex: 0, fill: 'red', width:32, offsetY: 8}
+
+// offset Box by 1m to the top
+{ type: "Box", zIndex: 0, fill: 'blue', width: 32, offsetY: "-1m"}
+
+
+
+
+
+
+ +

Optional offsetZ

+
offsetZ: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the Box in pixels on z-axis. + A positive value offsets up, a negative value down. + The default unit is pixels.

+
+
+
example
+
// offset Image by 8px to the top.
+{ type: "Box", zIndex: 0, fill: 'red', width:32, offsetZ: 8}
+
+// offset Circle by 1m to the top
+{ type: "Box", zIndex: 0, fill: 'red', width:32, offsetZ: "1m"}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque).

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional scaleByAltitude

+
scaleByAltitude: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Scales the size of a style based on the feature's altitude. + If it's enabled (true), features closer to the camera will be drawn larger than those farther away. + When off (false), the size of the style is always the same size, regardless of its actual altitude, as if it were placed on the ground (altitude 0). + This attribute applies to styles of type "Rect", "Image", "Text", "Circle", "Line", "Box", or "Sphere" whose size (width, {@link radius}, strokeWidth) that are using "map" alignment only. + If the size attribute is defined in meters, scaleByAltitude is enabled by default, for pixels it is disabled.

+
+
+
defaultvalue
+

false (pixels), true (meters)

+
+
experimental
+
+
+
+
+
+ +

Optional stroke

+ + +
+
+

Sets the stroke color of the Box.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional strokeWidth

+
strokeWidth: number | string | StyleValueFunction<number | number> | StyleZoomRange<string | number>
+ +
+
+

Sets the width of the stroke. + The unit of strokeWidth is defined in pixels.

+
+
+
example
+
// define a red filled Box that with a blue stroke of 2px width.
+{
+    zIndex: 0,
+    type: "Box",
+    fill: "red",
+    stroke: "blue",
+    strokeWidth: "2
+}
+
+
+
+
+
+
+ +

type

+
type: "Box"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

width

+
width: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The Width of the Box. + The unit of width is defined in pixels.

+
+
+
example
+
// define a Box that has a width, height and depth of 32 pixels.
+{
+    zIndex: 0,
+    type: "Box",
+    fill: "blue",
+    width: 32
+}
+
+
+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.circlestyle.html b/docs/interfaces/core.circlestyle.html new file mode 100644 index 000000000..e1161c89c --- /dev/null +++ b/docs/interfaces/core.circlestyle.html @@ -0,0 +1,630 @@ + + + + + + CircleStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface CircleStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Circles.

+
+
+
+
+

Hierarchy

+
    +
  • + CircleStyle +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional alignment

+
alignment: "map" | "viewport" | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Alignment for styles of type "Circle". + Possible values are: "map" and "viewport". + "map" aligns to the plane of the map and "viewport" aligns to the plane of the viewport/screen. + Default alignment for Text based on point geometries is "viewport" while "map" is the default for line geometries.

+
+
+
+
+ +

Optional altitude

+
altitude: number | boolean | StyleValueFunction<number | boolean> | StyleZoomRange<number | boolean>
+ +
+
+

The altitude of the style in meters. + The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + If a number is set for altitude, the altitude of the feature's geometry is ignored and the value of "altitude" is used instead. + The height must be defined in meters.

+
+
+
defaultvalue
+

false

+
+
experimental
+
+
+
+
+
+ +

Optional anchor

+
anchor: "Line" | "Coordinate" | "Centroid"
+ +
+
+

Sets the anchor point for styles of type "Circle" when used with Line or Polygon geometry.

+
+

Possible values for Line geometry are "Coordinate" and "Line".

+
    +
  • "Coordinate": the respective style is displayed at each coordinate of the polyline.
  • +
  • "Line": the respective style is displayed on the shape of the polyline when there is enough space. See checkLineSpace to disable the space check.
  • +
+

Possible values for Polygon geometry are "Center" and "Centroid".

+
    +
  • "Center": the center of the bounding box of the polygon.
  • +
  • "Centroid": the geometric centroid of the polygon geometry.
  • +
+
+
defaultvalue
+

For Polygon geometry the default is "Center". For Line geometry the default is "Coordinate".

+
+
+
+
+
+ +

Optional checkLineSpace

+
checkLineSpace: boolean
+ +
+
+

Enable or disable the space check for point styles on line geometries. + Only applies to "Circle" styles with anchor set to "Line". + If check checkLineSpace is enabled the respective style is only displayed if there is enough space on the line, + otherwise it is not displayed.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional collide

+
collide: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Enable or disable collision detection. + If the collision detection is enabled for multiple Styles within the same StyleGroup, the respective Styles are + handled as a single Object ("CollisionGroup") where the combined bounding-box is determined automatically.

+
+
    +
  • true: collision are allowed, Collision detection is disabled.
  • +
  • false: avoid collisions, Collision detection is enabled.
  • +
+
+
defaultvalue
+

true.

+
+
+
+
+
+ +

Optional collisionGroup

+
collisionGroup: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Enables collision detection and combines all styles of a StyleGroup with the same "CollisionGroup" into a single logical object for collision detection.

+
+
+
+
+ +

Optional fill

+ + +
+
+

Sets the color to fill the Circle.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional offsetX

+
offsetX: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the Circle in pixels on x-axis. + A positive value offsets to the right, a negative value to the left. + The default unit is pixels.

+
+
+
example
+
// offset Circle by 1m to the left
+{ type: "Circle", zIndex: 0, fill:'blue', radius: 4, offsetX: "-1m"}
+
+
+
+
+
+
+ +

Optional offsetY

+
offsetY: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Offset the Circle in pixels on y-axis. + A positive value offsetY offsets downwards, a negative value upwards. + The default unit is pixels.

+
+
+
example
+
// offset Circle by 1m to the top
+{ type: "Circle", zIndex: 0, fill:'blue', radius: 4, offsetY: "-1m"}
+
+
+
+
+
+
+ +

Optional offsetZ

+
offsetZ: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the Circle in pixels on z-axis. + A positive value offsets up, a negative value down. + The default unit is pixels.

+
+
+
example
+
// offset Circle by 1m to the top
+{ type: "Circle", zIndex: 0, fill:'blue', radius: 4, offsetZ: "1m"}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque). + It is valid for all style types.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

radius

+
radius: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The Radius of the Circle. + The default unit is pixels. + To define the radius of a Circle in meters a string can be used: "${width}m".

+
+
+
example
+
// define a Circle with a radius of 1 meter
+{
+    zIndex: 0,
+    type: "Circle",
+    fill: "red",
+    radius: "1m"
+}
+// define a Circle with a radius of 16 pixel
+{
+    zIndex: 0,
+    type: "Circle",
+    fill: "red",
+    radius: 16
+}
+
+
+
+
+
+
+ +

Optional repeat

+
repeat: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Minimum distance in pixels between repeated style-groups on line geometries. + Applies per tile only.

+
+
+
defaultvalue
+

256 (pixels)

+
+
+
+
+
+ +

Optional scaleByAltitude

+
scaleByAltitude: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Scales the size of a style based on the feature's altitude. + If it's enabled (true), features closer to the camera will be drawn larger than those farther away. + When off (false), the size of the style is always the same size, regardless of its actual altitude, as if it were placed on the ground (altitude 0). + This attribute applies to styles of type "Rect", "Image", "Text", "Circle", "Line", "Box", or "Sphere" whose size (width, radius, strokeWidth) that are using "map" alignment only. + If the size attribute is defined in meters, scaleByAltitude is enabled by default, for pixels it is disabled.

+
+
+
defaultvalue
+

false (pixels), true (meters)

+
+
experimental
+
+
+
+
+
+ +

Optional stroke

+ + +
+
+

Sets the stroke color of the Circle.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional strokeWidth

+
strokeWidth: number | string | StyleValueFunction<number | number> | StyleZoomRange<string | number>
+ +
+
+

Sets the width of the stroke. + The unit of strokeWidth is defined in pixels.

+
+
+
example
+
// define a Circle that has a strokeWidth of 2 pixels
+{
+    zIndex: 0,
+    type: "Circle",
+    stroke: "blue",
+    strokeWidth: 2,
+    radius: "1m"
+}
+
+
+
+
+
+
+ +

type

+
type: "Circle"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.editablefeatureprovideroptions.html b/docs/interfaces/core.editablefeatureprovideroptions.html new file mode 100644 index 000000000..386eeba1d --- /dev/null +++ b/docs/interfaces/core.editablefeatureprovideroptions.html @@ -0,0 +1,336 @@ + + + + + + EditableFeatureProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface EditableFeatureProviderOptions

+
+
+
+
+
+
+
+
+
+

Configuration options of a EditableFeatureProviderOptions.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional editable

+
editable: boolean
+ +
+
+

Allow or prevent editing by the Editor module.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional enforceRandomFeatureId

+
enforceRandomFeatureId: boolean
+ +
+
+

Enforce random ids for newly created features. + If "enforceRandomFeatureId" is set to true, the ids of features created by editor.addFeature are ignored and randomly created. + If "enforceRandomFeatureId" is set to false, ids of features created by editor.addFeature can be set. Random ids are only generated if none have been set.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Add hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" option is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+
    +
  • +
    Optional Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]
    +
    +
    +

    The CoordinatesUpdateHook(s) will be called whenever the coordinates of a feature are added, updated or removed ('Coordinates.update' operation).

    +
    +
    +
  • +
  • +
    Optional Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]
    +
    +
    +

    The FeatureRemoveHook(s) will be called when a feature is being removed ('Feature.remove' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]
    +
    +
    +

    The NavlinkDisconnectHook(s) will be called whenever a Navlink is disconnected from an intersection ('Navlink.disconnect' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[]
    +
    +
    +

    The NavlinkSplitHook(s) will be called whenever a Navlink is devided into two new Navlinks. ('Navlink.split' operation).

    +
    +
    +
  • +
+
+
+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.editableremotetileprovideroptions.html b/docs/interfaces/core.editableremotetileprovideroptions.html new file mode 100644 index 000000000..28e1dc1e1 --- /dev/null +++ b/docs/interfaces/core.editableremotetileprovideroptions.html @@ -0,0 +1,548 @@ + + + + + + EditableRemoteTileProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface EditableRemoteTileProviderOptions

+
+
+
+
+
+
+
+
+
+

Options to configure an EditableRemoteTile.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional editable

+
editable: boolean
+ +
+
+

Allow or prevent editing by the editor.Editor module.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional enforceRandomFeatureId

+
enforceRandomFeatureId: boolean
+ +
+
+

Enforce random ids for newly created features. + If "enforceRandomFeatureId" is set to true, the ids of features created by editor.addFeature are ignored and randomly created. + If "enforceRandomFeatureId" is set to false, ids of features created by editor.addFeature can be set. Random ids are only generated if none have been set.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Add hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" option is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.Editor.addHook

+
+
+
+
+

Type declaration

+
    +
  • +
    Optional Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]
    +
    +
    +

    The CoordinatesUpdateHook(s) will be called whenever the coordinates of a feature are added, updated or removed ('Coordinates.update' operation).

    +
    +
    +
  • +
  • +
    Optional Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]
    +
    +
    +

    The FeatureRemoveHook(s) will be called when a feature is being removed ('Feature.remove' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]
    +
    +
    +

    The NavlinkDisconnectHook(s) will be called whenever a Navlink is disconnected from an intersection ('Navlink.disconnect' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[]
    +
    +
    +

    The NavlinkSplitHook(s) will be called whenever a Navlink is devided into two new Navlinks. ('Navlink.split' operation).

    +
    +
    +
  • +
+
+
+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional ignoreTileQueryLimit

+
ignoreTileQueryLimit: boolean
+ +
+
+

To prevent an overwhelming volume of tile requests, any requests for zoom levels lower than the provider's setting are disregarded. + Enabling "ignoreTileQueryLimit" will bypass the tile query limit but may risk browser crashes.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

level

+
level: number
+ +
+
+

The zoomlevel at which tiles should be loaded from remote and a local index gets created.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+
+

Methods

+
+ +

Optional postProcessor

+ +
    +
  • + +
    +
    +

    PostProcessor for remote data sources. + The PostProcessor will be executed just before created/modified or removed Features will be sent to the remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PostProcessorData:
    + {put: GeoJsonFeature[],remove: GeoJsonFeature[]}
    +// PostProcessor:
    + ({data: PostProcessorData, ready: (data) => void}) => PostProcessorData | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns { put: GeoJSONFeature[]; remove: GeoJSONFeature[] } | Promise<{ put: GeoJSONFeature[]; remove: GeoJSONFeature[] }>

    +
  • +
+
+
+ +

Optional preProcessor

+ +
    +
  • + +
    +
    +

    PreProcessor for remote data sources. + The PreProcessor will be executed just after Features are received from remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PreProcessor:
    + ({data: any[], ready: (GeoJsonFeature[]) => void, tile?:{x:number,y:number,z:number}) => GeoJsonFeature[] | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      input: { data: any[]; ready: (features: GeoJSONFeature[]) => void; tile?: { x: number; y: number; z: number } }
      +
        +
      • +
        data: any[]
        +
      • +
      • +
        ready: (features: GeoJSONFeature[]) => void
        + +
      • +
      • +
        Optional tile?: { x: number; y: number; z: number }
        +
          +
        • +
          x: number
          +
        • +
        • +
          y: number
          +
        • +
        • +
          z: number
          +
        • +
        +
      • +
      +
    • +
    +

    Returns GeoJSONFeature[] | Promise<GeoJSONFeature[]>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.geocoderoptions.html b/docs/interfaces/core.geocoderoptions.html new file mode 100644 index 000000000..dc0816f5c --- /dev/null +++ b/docs/interfaces/core.geocoderoptions.html @@ -0,0 +1,245 @@ + + + + + + GeoCoderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface GeoCoderOptions

+
+
+
+
+
+
+
+
+
+

Options to configure the GeoCoder.

+
+
+
+
+

Hierarchy

+
    +
  • + GeoCoderOptions +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

app_code

+
app_code: string
+ +
+
+

the app code required for authentication.

+
+
+
+
+ +

app_id

+
app_id: string
+ +
+
+

the app id required for authentication.

+
+
+
+
+ +

Optional host

+
host: string
+ +
+
+

The url to the Geocoder host.

+
+
+
defaultvalue
+

'geocoder.api.here.com'

+
+
+
+
+
+ +

Optional version

+
version: string
+ +
+
+

the used Geocoder version.

+
+
+
defaultvalue
+

'6.2'

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.geojsonfeature.html b/docs/interfaces/core.geojsonfeature.html new file mode 100644 index 000000000..c765c901c --- /dev/null +++ b/docs/interfaces/core.geojsonfeature.html @@ -0,0 +1,319 @@ + + + + + + GeoJSONFeature | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface GeoJSONFeature<GeometryType>

+
+
+
+
+
+
+
+
+
+

A GeoJSON Feature object.

+
+
+
+
+

Type parameters

+
    +
  • +

    GeometryType = string

    +
  • +
+
+
+

Hierarchy

+
    +
  • + GeoJSONFeature +
  • +
+
+
+

Implemented by

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional bbox

+ + +
+
+

The bounding box includes information on the coordinate range of the Feature. + The values of a bbox array are "[west: number, south: number, east: number, north: number]"

+
+
+
+
+ +

geometry

+
geometry: { coordinates: GeometryType extends "Point" ? GeoJSONCoordinate : GeometryType extends "MultiPoint" ? GeoJSONCoordinate[] : GeometryType extends "LineString" ? GeoJSONCoordinate[] : GeometryType extends "MultiLineString" ? GeoJSONCoordinate[][] : GeometryType extends "Polygon" ? GeoJSONCoordinate[][] : GeometryType extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]; type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | GeometryType | string }
+ +
+
+

A geometry is a object where the type member's value is one of: "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon" or "MultiPolygon". + A geometry object must have a member with the name "coordinates". + The value of the coordinates member is always an array (referred to as the coordinates array below). + The structure for the elements in this array are determined by the type of geometry.

+
+

For type "Point", each element in the coordinates array is a number representing the point coordinate in one dimension. + There must be at least two elements, and may be more. + The order of elements must follow x, y, z order (or longitude, latitude, altitude for coordinates in a geographic coordinate reference system).

+

For type "MultiPoint", each element in the coordinates array is a coordinates array as described for type "Point".

+

For type "LineString", each element in the coordinates array is a coordinates array as described for type "Point". + The coordinates array for a LineString must have two or more elements. + A LinearRing is a special case of type LineString where the first and last elements in the coordinates array are equivalent (they represent equivalent points). + Though a LinearRing is not explicitly represented as a geometry type, it is referred to in the Polygon geometry type definition.

+

For type "MultiLineString", each element in the coordinates array is a coordinates array as described for type "LineString".

+

For type "Polygon", each element in the coordinates array is a coordinates array as described for type "LineString". + Furthermore, each LineString in the coordinates array must be a LinearRing. + For Polygons with multiple LinearRings, the first must be the exterior ring and any others must be interior rings or holes.

+

For type "MultiPolygon", each element in the coordinates array is a coordinates array as described for type "Polygon".

+
Point:
+{
+    "type": "Point",
+    "coordinates": [100.0, 0.0]
+}
+
+Polygon:
+{
+    "type": "Polygon",
+    "coordinates": [
+        [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
+    ]
+}
+
+
+
+

Type declaration

+
    +
  • +
    coordinates: GeometryType extends "Point" ? GeoJSONCoordinate : GeometryType extends "MultiPoint" ? GeoJSONCoordinate[] : GeometryType extends "LineString" ? GeoJSONCoordinate[] : GeometryType extends "MultiLineString" ? GeoJSONCoordinate[][] : GeometryType extends "Polygon" ? GeoJSONCoordinate[][] : GeometryType extends "MultiPolygon" ? GeoJSONCoordinate[][][] : GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][]
    +
  • +
  • +
    type: "Point" | "MultiPoint" | "LineString" | "MultiLineString" | "Polygon" | "MultiPolygon" | GeometryType | string
    +
  • +
+
+
+
+ +

Optional id

+
id: string | number
+ +
+
+

id of the feature.

+
+
+
+
+ +

Optional properties

+
properties: {} | null
+ +
+
+

The properties associated with the feature.

+
+
+
+
+ +

type

+
type: "Feature" | string
+ +
+
+

Type of GeoJSONFeature is 'Feature'

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.geojsonfeaturecollection.html b/docs/interfaces/core.geojsonfeaturecollection.html new file mode 100644 index 000000000..548617475 --- /dev/null +++ b/docs/interfaces/core.geojsonfeaturecollection.html @@ -0,0 +1,203 @@ + + + + + + GeoJSONFeatureCollection | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface GeoJSONFeatureCollection

+
+
+
+
+
+
+
+
+
+

A GeoJSONFeatureCollection is a collection of GeoJSONFeatures.

+
+
+
+
+

Hierarchy

+
    +
  • + GeoJSONFeatureCollection +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

features

+
features: GeoJSONFeature[]
+ +
+
+

An array of GeoJSONFeatures.

+
+
+
+
+ +

type

+
type: "FeatureCollection" | string
+ +
+
+

The type of a GeoJSONFeatureCollection must be a string "FeatureCollection".

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.heatmapstyle.html b/docs/interfaces/core.heatmapstyle.html new file mode 100644 index 000000000..ff607db6d --- /dev/null +++ b/docs/interfaces/core.heatmapstyle.html @@ -0,0 +1,340 @@ + + + + + + HeatmapStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface HeatmapStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Heatmaps. + Heatmaps are particularly good at showing the density of data within a specific area.

+
+
+
+
+

Hierarchy

+
    +
  • + HeatmapStyle +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional fill

+ + +
+
+

The fill color is a linear gradient used to colorize the heatmap.

+
+
+
+
+ +

Optional intensity

+
intensity: number | StyleZoomRange<number>
+ +
+
+

The intensity of the Heatmap is a global multiplier on top of the weight. + The intensity is particularly useful for adapting the heatmap to the zoom-level of the map.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the global opacity of the heatmap. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque).

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional radius

+
radius: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The radius in pixels with which to render a single point of the heatmap.

+
+
+
defaultvalue
+

24

+
+
+
+
+
+ +

type

+
type: "Heatmap"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

Optional weight

+
weight: number | StyleValueFunction<number>
+ +
+
+

The heatmap weight defines how heavily a single data point is to be weighted and displayed within the heatmap. + The value used is equivalent to the number of actual points at that position. + The Weight is particularly useful for clustered data when combined with StyleValueFunction.

+
+
+
example
+
// the count property of a clustered point dataset defines how many points are located at the cluster position.
+{ type: "Heatmap", weight: (feature)=>feature.properties.count, fill: ... }
+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.httpprovideroptions.html b/docs/interfaces/core.httpprovideroptions.html new file mode 100644 index 000000000..eb1d767b6 --- /dev/null +++ b/docs/interfaces/core.httpprovideroptions.html @@ -0,0 +1,685 @@ + + + + + + HTTPProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface HTTPProviderOptions

+
+
+
+
+
+
+
+
+
+

Options to configuration of HTTPProvider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional editable

+
editable: boolean
+ +
+
+

Allow or prevent editing by the editor.Editor module.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional enforceRandomFeatureId

+
enforceRandomFeatureId: boolean
+ +
+
+

Enforce random ids for newly created features. + If "enforceRandomFeatureId" is set to true, the ids of features created by editor.addFeature are ignored and randomly created. + If "enforceRandomFeatureId" is set to false, ids of features created by editor.addFeature can be set. Random ids are only generated if none have been set.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional headers

+
headers: {}
+ +
+
+

Set custom url service headers. + Custom headers will be applied to all request done by provider.

+
+
+
+

Type declaration

+
    +
  • +
    [header: string]: string
    +
  • +
+
+
+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Add hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" option is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.Editor.addHook

+
+
+
+
+

Type declaration

+
    +
  • +
    Optional Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]
    +
    +
    +

    The CoordinatesUpdateHook(s) will be called whenever the coordinates of a feature are added, updated or removed ('Coordinates.update' operation).

    +
    +
    +
  • +
  • +
    Optional Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]
    +
    +
    +

    The FeatureRemoveHook(s) will be called when a feature is being removed ('Feature.remove' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]
    +
    +
    +

    The NavlinkDisconnectHook(s) will be called whenever a Navlink is disconnected from an intersection ('Navlink.disconnect' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[]
    +
    +
    +

    The NavlinkSplitHook(s) will be called whenever a Navlink is devided into two new Navlinks. ('Navlink.split' operation).

    +
    +
    +
  • +
+
+
+
+ +

Optional https

+
https: boolean
+ +
+
+

Indicates if the requests should be made with https.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional ignoreTileQueryLimit

+
ignoreTileQueryLimit: boolean
+ +
+
+

To prevent an overwhelming volume of tile requests, any requests for zoom levels lower than the provider's setting are disregarded. + Enabling "ignoreTileQueryLimit" will bypass the tile query limit but may risk browser crashes.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

level

+
level: number
+ +
+
+

The zoomlevel at which tiles should be loaded from remote and a local index gets created.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+ +

Optional params

+
params: {}
+ +
+
+

Set custom url parameters. + Custom parameters will be applied to all request done by provider.

+
+
+
+

Type declaration

+
    +
  • +
    [paramter: string]: string
    +
  • +
+
+
+
+ +

Optional url

+
url: string | ((z: number, y: number, x: number, quadkey: string) => string)
+ +
+
+

URL for requesting tiles.

+
+

It is either a string which may contain following flags that will be replaced by provider:

+
    +
  • {SUBDOMAIN_CHAR}: subdomain id(a, b, c and d) for balancing the load
  • +
  • {SUBDOMAIN_INT}: subdomain id(0,1,2 and 3) for balancing the load
  • +
  • {SUBDOMAIN_INT_1_4}: subdomain id(1,2,3 and 4) for balancing the load
  • +
  • {QUADKEY}: quadkey of the tile to be requested
  • +
  • {Z}: z of the tile to be requested
  • +
  • {X}: x of the tile to be requested
  • +
  • {Y}: y of the tile to be requested
  • +
+

or a callback function that's called with the following parameters z,y,x,quadkey and needs to return the url for the respective tile. + The callback function needs to handle custom parameters by its own.

+
+
example
+
// string
+url: 'https://xyz.api.here.com/hub/spaces/mySpace/tile/quadkey/{QUADKEY}?access_token=myAccessToken'
+// callback function
+url: (z, y, x, quadkey) => {
+    return 'https://xyz.api.here.com/hub/spaces/mySpace/tile/quadkey/' + quadkey + '?access_token=myAccessToken';
+}
+
+
+
+
+
+
+ +

Optional withCredentials

+
withCredentials: boolean
+ +
+
+

Indicates if requests are made with credentials.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+
+

Methods

+
+ +

Optional postProcessor

+ +
    +
  • + +
    +
    +

    PostProcessor for remote data sources. + The PostProcessor will be executed just before created/modified or removed Features will be sent to the remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PostProcessorData:
    + {put: GeoJsonFeature[],remove: GeoJsonFeature[]}
    +// PostProcessor:
    + ({data: PostProcessorData, ready: (data) => void}) => PostProcessorData | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns { put: GeoJSONFeature[]; remove: GeoJSONFeature[] } | Promise<{ put: GeoJSONFeature[]; remove: GeoJSONFeature[] }>

    +
  • +
+
+
+ +

Optional preProcessor

+ +
    +
  • + +
    +
    +

    PreProcessor for remote data sources. + The PreProcessor will be executed just after Features are received from remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PreProcessor:
    + ({data: any[], ready: (GeoJsonFeature[]) => void, tile?:{x:number,y:number,z:number}) => GeoJsonFeature[] | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      input: { data: any[]; ready: (features: GeoJSONFeature[]) => void; tile?: { x: number; y: number; z: number } }
      +
        +
      • +
        data: any[]
        +
      • +
      • +
        ready: (features: GeoJSONFeature[]) => void
        + +
      • +
      • +
        Optional tile?: { x: number; y: number; z: number }
        +
          +
        • +
          x: number
          +
        • +
        • +
          y: number
          +
        • +
        • +
          z: number
          +
        • +
        +
      • +
      +
    • +
    +

    Returns GeoJSONFeature[] | Promise<GeoJSONFeature[]>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.imageprovideroptions.html b/docs/interfaces/core.imageprovideroptions.html new file mode 100644 index 000000000..730b30c74 --- /dev/null +++ b/docs/interfaces/core.imageprovideroptions.html @@ -0,0 +1,363 @@ + + + + + + ImageProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ImageProviderOptions

+
+
+
+
+
+
+
+
+
+

Options to configure the ImageProvider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional errorImage

+
errorImage: string | HTMLImageElement
+ +
+
+

An Image url or Image that will be displayed for errored tile requests.

+
+
+
+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+ +

url

+
url: string | ((z: number, y: number, x: number, quadkey: string) => string)
+ +
+
+

URL for requesting tiles.

+
+

It is either a string which may contain following flags that will be replaced by provider:

+
    +
  • {SUBDOMAIN_CHAR}: subdomain id(a, b, c and d) for balancing the load
  • +
  • {SUBDOMAIN_INT}: subdomain id(0,1,2 and 3) for balancing the load
  • +
  • {SUBDOMAIN_INT_1_4}: subdomain id(1,2,3 and 4) for balancing the load
  • +
  • {QUADKEY}: quadkey of the tile to be requested
  • +
  • {Z}: z of the tile to be requested
  • +
  • {X}: x of the tile to be requested
  • +
  • {Y}: y of the tile to be requested
  • +
+

or a callback function that's called with the following parameters z,y,x,quadkey and needs to return the url for the respective tile. + The callback function needs to handle custom parameters by its own.

+
+
+
+
+

Methods

+
+ +

Optional preProcessor

+
    +
  • preProcessor(input: { data: any; ready: (data: HTMLImageElement) => void; tile?: { x: number; y: number; z: number } }): HTMLImageElement | Promise<HTMLImageElement>
  • +
+
    +
  • + +
    +
    +

    PreProcessor for remote data sources. + The PreProcessor will be executed just after data is being received from remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PreProcessor:
    + ({data: any[], ready: (HTMLImageElement) => void, tile?:{x:number,y:number,z:number}) => HTMLImageElement | Promise<HTMLImageElement>
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      input: { data: any; ready: (data: HTMLImageElement) => void; tile?: { x: number; y: number; z: number } }
      +
        +
      • +
        data: any
        +
      • +
      • +
        ready: (data: HTMLImageElement) => void
        +
          +
        • +
            +
          • (data: HTMLImageElement): void
          • +
          +
            +
          • +

            Parameters

            +
              +
            • +
              data: HTMLImageElement
              +
            • +
            +

            Returns void

            +
          • +
          +
        • +
        +
      • +
      • +
        Optional tile?: { x: number; y: number; z: number }
        +
          +
        • +
          x: number
          +
        • +
        • +
          y: number
          +
        • +
        • +
          z: number
          +
        • +
        +
      • +
      +
    • +
    +

    Returns HTMLImageElement | Promise<HTMLImageElement>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.imagestyle.html b/docs/interfaces/core.imagestyle.html new file mode 100644 index 000000000..0e1f76fd4 --- /dev/null +++ b/docs/interfaces/core.imagestyle.html @@ -0,0 +1,667 @@ + + + + + + ImageStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ImageStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Images/Icons.

+
+
+
+
+

Hierarchy

+
    +
  • + ImageStyle +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional alignment

+
alignment: "map" | "viewport" | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Alignment for styles of type "Circle". + Possible values are: "map" and "viewport". + "map" aligns to the plane of the map and "viewport" aligns to the plane of the viewport/screen. + Default alignment for Text based on point geometries is "viewport" while "map" is the default for line geometries.

+
+
+
+
+ +

Optional altitude

+
altitude: number | boolean | StyleValueFunction<number | boolean> | StyleZoomRange<number | boolean>
+ +
+
+

The altitude of the style in meters. + The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + If a number is set for altitude, the altitude of the feature's geometry is ignored and the value of "altitude" is used instead. + The height must be defined in meters.

+
+
+
defaultvalue
+

false

+
+
experimental
+
+
+
+
+
+ +

Optional anchor

+
anchor: "Line" | "Coordinate" | "Centroid"
+ +
+
+

Sets the anchor point for styles of type "Image" used with Line or Polygon geometry.

+
+

Possible values for Line geometry are "Coordinate" and "Line".

+
    +
  • "Coordinate": the respective style is displayed at each coordinate of the polyline.
  • +
  • "Line": the respective style is displayed on the shape of the polyline when there is enough space. See checkLineSpace to disable the space check.
  • +
+

Possible values for Polygon geometry are "Center" and "Centroid".

+
    +
  • "Center": the center of the bounding box of the polygon.
  • +
  • "Centroid": the geometric centroid of the polygon geometry.
  • +
+
+
defaultvalue
+

For Polygon geometry the default is "Center". For Line geometry the default is "Line".

+
+
+
+
+
+ +

Optional atlas

+
atlas: { height: number; width: number; x: number; y: number }
+ +
+
+

If specified, the Image provided by src is considered as an IconAtlas/TextureAtlas. + The clipping region for the image must be defined by x, y, width and height.

+
+
+
+

Type declaration

+
    +
  • +
    height: number
    +
  • +
  • +
    width: number
    +
  • +
  • +
    x: number
    +
  • +
  • +
    y: number
    +
  • +
+
+
+
+ +

Optional checkLineSpace

+
checkLineSpace: boolean
+ +
+
+

Enable or disable the space check for point styles on line geometries. + If check checkLineSpace is enabled the respective style is only displayed if there is enough space on the line, + otherwise it is not displayed.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional collide

+
collide: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Enable or disable collision detection. + If the collision detection is enabled for multiple Styles within the same StyleGroup, the respective Styles are + handled as a single Object ("CollisionGroup") where the combined bounding-box is determined automatically.

+
+
    +
  • true: collision are allowed, Collision detection is disabled.
  • +
  • false: avoid collisions, Collision detection is enabled.
  • +
+
+
defaultvalue
+

false for "Text", true for all other.

+
+
+
+
+
+ +

Optional collisionGroup

+
collisionGroup: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Enables collision detection and combines all styles of a StyleGroup with the same "CollisionGroup" into a single logical object for collision detection.

+
+
+
+
+ +

Optional height

+
height: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Height of the Image in pixels. + The maximum supported height for "Image" is 64 pixels. + The unit of width is defined in pixels. + If the height is not explicitly defined, the value of the width is used as the height.

+
+
+
example
+
// define an Image that has a width of 32 and height of 64 pxiels
+{
+    zIndex: 0,
+    type: "Image",
+    src: "urlToImage.png",
+    width: 32,
+    height: 64
+}
+
+
+
+
+
+
+ +

Optional offsetX

+
offsetX: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the shape in pixels on x-axis. + A positive value offsets to the right, a negative value to the left. + The default unit is pixels.

+
+
+
example
+
// offset Image by 8px to the right.
+{ type: "Image", zIndex: 0, src: '...', offsetX: 8}
+
+
+
+
+
+
+ +

Optional offsetY

+
offsetY: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Offset the shape in pixels on y-axis. + A positive value offsetY offsets downwards, a negative value upwards. + The default unit is pixels.

+
+
+
example
+
// offset Image by 8px to the bottom
+{ type: "Image", zIndex: 0, src: '...', offsetY: 8}
+
+
+
+
+
+
+ +

Optional offsetZ

+
offsetZ: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the shape in pixels on z-axis. + A positive value offsets up, a negative value down. + The default unit is pixels.

+
+
+
example
+
// offset Image by 8px to the top.
+{ type: "Image", zIndex: 0, src: '...', offsetZ: 8}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque). + It is valid for all style types.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional priority

+
priority: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

In case of label collision, Text with a higher priority (lower value) will be drawn before lower priorities (higher value). + If the collision detection is enabled for multiple Styles within the same StyleGroup, the highest priority (lowest value) + is used.

+
+
+
+
+ +

Optional repeat

+
repeat: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Minimum distance in pixels between repeated style-groups on line geometries. + Applies per tile only.

+
+
+
defaultvalue
+

256 (pixels)

+
+
+
+
+
+ +

Optional rotation

+
rotation: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Rotate the shape of the style to the angle in degrees.

+
+
+
+
+ +

Optional scaleByAltitude

+
scaleByAltitude: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Scales the size of a style based on the feature's altitude. + If it's enabled (true), features closer to the camera will be drawn larger than those farther away. + When off (false), the size of the style is always the same size, regardless of its actual altitude, as if it were placed on the ground (altitude 0). + This attribute applies to styles of type "Rect", "Image", "Text", "Circle", "Line", "Box", or "Sphere" whose size (width, {@link radius}, strokeWidth) that are using "map" alignment only. + If the size attribute is defined in meters, scaleByAltitude is enabled by default, for pixels it is disabled.

+
+
+
defaultvalue
+

false (pixels), true (meters)

+
+
experimental
+
+
+
+
+
+ +

src

+
src: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Specifies the URL of the image to render. + It can be either absolute or relative path.

+
+
+
+
+ +

type

+
type: "Image"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

width

+
width: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Width of the Image in pixels. + The maximum supported width for "Image" is 64 pixels. + The unit of width is defined in pixels.

+
+
+
example
+
// define an Image that has a width (and height) of 64 pxiels
+{
+    zIndex: 0,
+    type: "Image",
+    src: "urlToImage.png",
+    width: 64
+}
+
+
+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.imlprovideroptions.html b/docs/interfaces/core.imlprovideroptions.html new file mode 100644 index 000000000..0022dd0c3 --- /dev/null +++ b/docs/interfaces/core.imlprovideroptions.html @@ -0,0 +1,815 @@ + + + + + + IMLProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface IMLProviderOptions

+
+
+
+
+
+
+
+
+
+

Options to configure the IMLProvider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

catalog

+
catalog: string
+ +
+
+

Name of the catalog of the Interactive Map Layer.

+
+
+
+
+ +

Optional clip

+
clip: boolean
+ +
+
+

Indicates if result geometry of tile requests should be clipped.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

credentials

+
credentials: { apiKey: string; token?: string }
+ +
+
+

User credential of the provider

+
+
+
+

Type declaration

+
    +
  • +
    apiKey: string
    +
    +
    +

    apiKey for read access

    +
    +
    +
  • +
  • +
    Optional token?: string
    +
    +
    +

    token for write access

    +
    +
    +
  • +
+
+
+
+ +

Optional editable

+
editable: boolean
+ +
+
+

Allow or prevent editing by the editor.Editor module.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional enforceRandomFeatureId

+
enforceRandomFeatureId: boolean
+ +
+
+

Enforce random ids for newly created features. + If "enforceRandomFeatureId" is set to true, the ids of features created by editor.addFeature are ignored and randomly created. + If "enforceRandomFeatureId" is set to false, ids of features created by editor.addFeature can be set. Random ids are only generated if none have been set.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional headers

+
headers: {}
+ +
+
+

Set custom url service headers. + Custom headers will be applied to all request done by provider.

+
+
+
+

Type declaration

+
    +
  • +
    [header: string]: string
    +
  • +
+
+
+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Add hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" option is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.Editor.addHook

+
+
+
+
+

Type declaration

+
    +
  • +
    Optional Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]
    +
    +
    +

    The CoordinatesUpdateHook(s) will be called whenever the coordinates of a feature are added, updated or removed ('Coordinates.update' operation).

    +
    +
    +
  • +
  • +
    Optional Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]
    +
    +
    +

    The FeatureRemoveHook(s) will be called when a feature is being removed ('Feature.remove' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]
    +
    +
    +

    The NavlinkDisconnectHook(s) will be called whenever a Navlink is disconnected from an intersection ('Navlink.disconnect' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[]
    +
    +
    +

    The NavlinkSplitHook(s) will be called whenever a Navlink is devided into two new Navlinks. ('Navlink.split' operation).

    +
    +
    +
  • +
+
+
+
+ +

Optional https

+
https: boolean
+ +
+
+

Indicates if the requests should be made with https.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional ignoreTileQueryLimit

+
ignoreTileQueryLimit: boolean
+ +
+
+

To prevent an overwhelming volume of tile requests, any requests for zoom levels lower than the provider's setting are disregarded. + Enabling "ignoreTileQueryLimit" will bypass the tile query limit but may risk browser crashes.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

layer

+
layer: string
+ +
+
+

Name of the Interactive Map Layer.

+
+
+
+
+ +

level

+
level: number
+ +
+
+

The zoomlevel at which tiles should be loaded from remote and a local index gets created.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+ +

Optional params

+
params: {}
+ +
+
+

Set custom url parameters. + Custom parameters will be applied to all request done by provider.

+
+
+
+

Type declaration

+
    +
  • +
    [paramter: string]: string
    +
  • +
+
+
+
+ +

Optional propertySearch

+
propertySearch: {}
+ +
+
+

define property search query to enable remote filtering by property search.

+
+
+
see
+

https://interactive.data.api.platform.here.com/openapi/#/Read%20Features

+
+
defaultvalue
+

null

+
+
+
+
+

Type declaration

+
    +
  • +
    [name: string]: { operator: "=" | "!=" | ">" | ">=" | "<" | "<="; value: any | any[] }
    +
      +
    • +
      operator: "=" | "!=" | ">" | ">=" | "<" | "<="
      +
    • +
    • +
      value: any | any[]
      +
    • +
    +
  • +
+
+
+
+ +

Optional tags

+
tags: false | string | string[]
+ +
+
+

Indicates the tag(s) that should be set in the requests.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional url

+
url: string
+ +
+
+

URL of the Interactive Map Layer endpoint.

+
+
+
defaultvalue
+

"https://interactive.data.api.platform.here.com/interactive/v1"

+
+
+
+
+
+ +

Optional withCredentials

+
withCredentials: boolean
+ +
+
+

Indicates if requests are made with credentials.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+
+

Methods

+
+ +

Optional postProcessor

+ +
    +
  • + +
    +
    +

    PostProcessor for remote data sources. + The PostProcessor will be executed just before created/modified or removed Features will be sent to the remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PostProcessorData:
    + {put: GeoJsonFeature[],remove: GeoJsonFeature[]}
    +// PostProcessor:
    + ({data: PostProcessorData, ready: (data) => void}) => PostProcessorData | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns { put: GeoJSONFeature[]; remove: GeoJSONFeature[] } | Promise<{ put: GeoJSONFeature[]; remove: GeoJSONFeature[] }>

    +
  • +
+
+
+ +

Optional preProcessor

+ +
    +
  • + +
    +
    +

    PreProcessor for remote data sources. + The PreProcessor will be executed just after Features are received from remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PreProcessor:
    + ({data: any[], ready: (GeoJsonFeature[]) => void, tile?:{x:number,y:number,z:number}) => GeoJsonFeature[] | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      input: { data: any[]; ready: (features: GeoJSONFeature[]) => void; tile?: { x: number; y: number; z: number } }
      +
        +
      • +
        data: any[]
        +
      • +
      • +
        ready: (features: GeoJSONFeature[]) => void
        + +
      • +
      • +
        Optional tile?: { x: number; y: number; z: number }
        +
          +
        • +
          x: number
          +
        • +
        • +
          y: number
          +
        • +
        • +
          z: number
          +
        • +
        +
      • +
      +
    • +
    +

    Returns GeoJSONFeature[] | Promise<GeoJSONFeature[]>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.layerstyle.html b/docs/interfaces/core.layerstyle.html new file mode 100644 index 000000000..39e9c250b --- /dev/null +++ b/docs/interfaces/core.layerstyle.html @@ -0,0 +1,282 @@ + + + + + + LayerStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface LayerStyle

+
+
+
+
+
+
+
+
+
+

This is an interface to describe how certain features should be rendered within a layer.

+
+
+
example
+
{
+ styleGroups: {
+   "myLineStyle": [
+     {zIndex: 0, type: "Line", opacity: 1, stroke: "#BE6B65", strokeWidth: 16},
+     {zIndex: 1, type: "Line", opacity: 1, stroke: "#E6A08C", strokeWidth: 12},
+     {zIndex: 2, type: "Text", fill: "#000000", "textRef": "properties.name"}
+   ]
+ },
+ assign: function(feature: Feature, zoomlevel: number){
+   return "myLineStyle";
+ }
+}
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + LayerStyle +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

assign

+
assign: (feature: Feature, zoomlevel: number) => string | null | undefined
+ +
+
+

The function returns a key that is defined in the styleGroups map. + This function will be called for each feature being rendered by the display. + The display expects this method to return the key for the styleGroup of how the feature should be rendered for the respective zoomlevel.

+
+
+
param
+

the feature to which style is applied

+
+
param
+

the zoomlevel of the tile the feature should be rendered in

+
+
returns
+

the key/identifier of the styleGroup in the styleGroupMap, or null/undefined if the feature should not be rendered.

+
+
+
+
+

Type declaration

+
    +
  • +
      +
    • (feature: Feature, zoomlevel: number): string | null | undefined
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        feature: Feature
        +
      • +
      • +
        zoomlevel: number
        +
      • +
      +

      Returns string | null | undefined

      +
    • +
    +
  • +
+
+
+
+ +

Optional backgroundColor

+
backgroundColor: Color | StyleZoomRange<Color> | ((zoomlevel: number) => Color)
+ +
+
+

the color for the background of the layer

+
+
+
+
+ +

styleGroups

+
styleGroups: {}
+ +
+
+

This object contains key/styleGroup pairs. + A styleGroup is an array of Style, that exactly defines how a feature should be rendered.

+
+
+
+

Type declaration

+
    +
  • +
    [key: string]: Array<Style>
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.lineargradient.html b/docs/interfaces/core.lineargradient.html new file mode 100644 index 000000000..dec8579a7 --- /dev/null +++ b/docs/interfaces/core.lineargradient.html @@ -0,0 +1,228 @@ + + + + + + LinearGradient | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface LinearGradient

+
+
+
+
+
+
+
+
+
+

LinearGradient

+
+
+
example
+
{
+    type: 'LinearGradient',
+    stops: {
+        1.0: 'white',
+        0.9: '#FCFBAE',
+        0.8: '#FAD932',
+        0.7: '#F26C19',
+        0.5: '#C41D6F',
+        0.3: '#70009C',
+        0.0: '#1E0073'
+    }
+};
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + LinearGradient +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

stops

+
stops: {}
+ +
+
+

The stops of the LinearGradient

+
+
+
+

Type declaration

+
    +
  • +
    [stop: number]: string
    +
  • +
+
+
+
+ +

type

+
type: "LinearGradient"
+ +
+
+

The type is "LinearGradient".

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.linestyle.html b/docs/interfaces/core.linestyle.html new file mode 100644 index 000000000..8301ffdc2 --- /dev/null +++ b/docs/interfaces/core.linestyle.html @@ -0,0 +1,524 @@ + + + + + + LineStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface LineStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Lines.

+
+
+
+
+

Hierarchy

+
    +
  • + LineStyle +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional altitude

+
altitude: number | boolean | StyleValueFunction<number | boolean> | StyleZoomRange<number | boolean>
+ +
+
+

The altitude of the line in meters. + The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + If a number is set for altitude, the altitude of the feature's geometry is ignored and the value of "altitude" is used instead. + The height must be defined in meters.

+
+
+
defaultvalue
+

false

+
+
experimental
+
+
+
+
+
+ +

Optional from

+
from: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Define the starting position of a segment of the entire line in %. + A Segment allows to display and style parts of the entire line individually. + The value must be between 0 and 1. + The Default is 0.

+
+
+
example
+

from: 0.0 // -> 0%, the segment has the same starting point as the entire line + from: 0.5 // -> 50%, the segment starts in the middle of the entire line

+
+
+
+
+
+ +

Optional offset

+
offset: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset a line to the left or right side in pixel or meter. + A positive values offsets to the right side, a negative value offsets to the left. + The side is defined relative to the direction of the line geometry. + The default unit is pixels. + To define the offset in meters a string that contains the offset value and ends with "m" must be used. + Applies to Line style only.

+
+
+
example
+
// offset line by 8px
+{ type: "Line", zIndex: 0, stroke:'blue', strokeWidth: 4, offset: 8}
+
+// offset line by 2m
+{ type: "Line", zIndex: 0, stroke:'blue', strokeWidth: 4, offset: "2m"}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque). + It is valid for all style types.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional scaleByAltitude

+
scaleByAltitude: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Scales the size of a style based on the feature's altitude. + If it's enabled (true), features closer to the camera will be drawn larger than those farther away. + When off (false), the size of the style is always the same size, regardless of its actual altitude, as if it were placed on the ground (altitude 0). + This attribute applies to styles of type "Rect", "Image", "Text", "Circle", "Line", "Box", or "Sphere" whose size (width, {@link radius}, strokeWidth) that are using "map" alignment only. + If the size attribute is defined in meters, scaleByAltitude is enabled by default, for pixels it is disabled.

+
+
+
defaultvalue
+

false (pixels), true (meters)

+
+
experimental
+
+
+
+
+
+ +

Optional stroke

+ + +
+
+

Sets the stroke color of the Line.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional strokeDasharray

+
strokeDasharray: (number | string)[] | StyleValueFunction<(number | string)[]> | StyleZoomRange<(number | string)[]> | "none"
+ +
+
+

The strokeDasharray attribute controls the pattern of dashes and gaps used to stroke paths. + It's an array of that specify the lengths of alternating dashes and gaps. If an odd number of values is provided, + then the list of values is repeated to yield an even number of values. Thus, 5,3,2 is equivalent to 5,3,2,5,3,2. + The size of dashes and gaps can be defined in pixel or meter. + The default unit for dash and gap size is pixel. + In a pattern utilizing both meter and pixel units, only the initial "dash" and "gap" combination is utilized, with the subsequent ones being skipped. + To define the size in meters, a string containing the "dash"/"gap" size and ending with "m" must be used.

+
+
+
example
+

// dash and gap size is defined in pixel. + strokeDasharray: [20,10] + // dash and gap size is defined in meter. + strokeDasharray: ["20m","10m"] + // dash -> 10 meter, gap -> 10 pixel. + strokeDasharray: ["20m",10] || ["20m","10px"]

+
+
+
+
+
+ +

Optional strokeDashimage

+
strokeDashimage: string
+ +
+
+

Specifies the URL of the image to be rendered at the positions of the dashes. + If strokeDashimage is defined, only the first dash and gap definition of the {@link strokeDasharry} pattern is used. + The dashimage will be colored with the color defined in stroke.

+
+
+
+
+ +

Optional strokeLinecap

+
strokeLinecap: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

This controls the shape of the ends of lines. there are three possible values for strokeLinecap:

+
    +
  • "butt" closes the line off with a straight edge that's normal (at 90 degrees) to the direction of the stroke and crosses its end.
  • +
  • "square" has essentially the same appearance, but stretches the stroke slightly beyond the actual path. The distance that the stroke goes beyond the path is half the strokeWidth.
  • +
  • "round" produces a rounded effect on the end of the stroke. The radius of this curve is also controlled by the strokeWidth. + This attribute is valid for Line styles only.
  • +
+
+

If "strokeLinecap" is used in combination with "altitude", only "butt" is supported for "strokeLinecap".

+
+
+
+ +

Optional strokeLinejoin

+
strokeLinejoin: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

The joint where the two segments in a line meet is controlled by the strokeLinejoin attribute, There are three possible values for this attribute:

+
    +
  • "miter" extends the line slightly beyond its normal width to create a square corner where only one angle is used.
  • +
  • "round" creates a rounded line segment.
  • +
  • "bevel" creates a new angle to aid in the transition between the two segments. + This attribute is valid for Line styles only.
  • +
+
+

If "strokeLinejoin" is used in combination with "altitude", the use of "round" is not supported.

+
+
+
+ +

strokeWidth

+
strokeWidth: number | string | StyleValueFunction<number | number> | StyleZoomRange<string | number>
+ +
+
+

Sets the width of the line. + The unit of strokeWidth is defined in pixels. + For Polygons that are using extrude, the maximum possible strokeWidth is 1.0 pixel. + For Styles of type Line the strokeWidth can also be defined in meters by using a string: "${width}m".

+
+
+
example
+
// define a Line that has a with of 1 meter
+{
+    zIndex: 0,
+    type: "Line",
+    stroke: "blue",
+    strokeWidth: "1m"
+}
+// define a Line that has a with of 16 pixel
+{
+    zIndex: 0,
+    type: "Line",
+    stroke: "green",
+    strokeWidth: "16
+}
+
+
+
+
+
+
+ +

Optional to

+
to: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Define the end position of a segment of the entire line in %. + A Segment allows to display and style parts of the entire line individually. + The value must be between 0 and 1. + The Default is 1.

+
+
+
example
+

to: 0.5 // -> 50%, the segment ends in the middle of the entire line + to: 1.0 // -> 100%, the segment has the same end point as the entire line

+
+
+
+
+
+ +

type

+
type: "Line"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.localprovideroptions.html b/docs/interfaces/core.localprovideroptions.html new file mode 100644 index 000000000..b3402640f --- /dev/null +++ b/docs/interfaces/core.localprovideroptions.html @@ -0,0 +1,334 @@ + + + + + + LocalProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface LocalProviderOptions

+
+
+
+
+
+
+
+
+
+

Options to configure the Provider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional editable

+
editable: boolean
+ +
+
+

Allow or prevent editing by the editor.Editor module.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional enforceRandomFeatureId

+
enforceRandomFeatureId: boolean
+ +
+
+

Enforce random ids for newly created features. + If "enforceRandomFeatureId" is set to true, the ids of features created by editor.addFeature are ignored and randomly created. + If "enforceRandomFeatureId" is set to false, ids of features created by editor.addFeature can be set. Random ids are only generated if none have been set.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Add hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" option is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.addHook

+
+
+
+
+

Type declaration

+
    +
  • +
    Optional Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]
    +
    +
    +

    The CoordinatesUpdateHook(s) will be called whenever the coordinates of a feature are added, updated or removed ('Coordinates.update' operation).

    +
    +
    +
  • +
  • +
    Optional Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]
    +
    +
    +

    The FeatureRemoveHook(s) will be called when a feature is being removed ('Feature.remove' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]
    +
    +
    +

    The NavlinkDisconnectHook(s) will be called whenever a Navlink is disconnected from an intersection ('Navlink.disconnect' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[]
    +
    +
    +

    The NavlinkSplitHook(s) will be called whenever a Navlink is devided into two new Navlinks. ('Navlink.split' operation).

    +
    +
    +
  • +
+
+
+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.material.html b/docs/interfaces/core.material.html new file mode 100644 index 000000000..1eb9b0ed7 --- /dev/null +++ b/docs/interfaces/core.material.html @@ -0,0 +1,418 @@ + + + + + + Material | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Material

+
+
+
+
+
+
+
+
+
+

The Material to render the model/geometry using the Phong reflection model.

+
+
+
experimental
+
+
+
+
+
+

Hierarchy

+
    +
  • + Material +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional ambient

+
ambient: number[]
+ +
+
+

The Ambient color reflection intensity constant of the material.

+
+
+
defaultvalue
+

[1,1,1] (white)

+
+
+
+
+
+ +

Optional diffuse

+
diffuse: number[]
+ +
+
+

Diffuse color of the material.

+
+
+
defaultvalue
+

[1, 1, 1] (white)

+
+
+
+
+
+ +

Optional diffuseMap

+
diffuseMap: string
+ +
+
+

The name of the diffuse map used by the material. + The actual texture must be defined in ModelData.textures.

+
+
+
+
+ +

Optional emissive

+
emissive: number[]
+ +
+
+

The emissive color of the material. + Emissive Color is solid and unaffected by other lightning.

+
+
+
defaultvalue
+

[1,1,1] (white)

+
+
+
+
+
+ +

Optional illumination

+
illumination: number
+ +
+
+

The Illumination Mode of the material.

+
+
    +
  • mode 0: Constant color mode. Colors, no lightning, no shading
  • +
  • mode 1: Diffuse lightning mode.
  • +
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional mode

+
mode: "Triangles" | "Points"
+ +
+
+

The used primitive type to render the model geometry.

+
+
+
defaultvalue
+

"Triangles"

+
+
+
+
+
+ +

Optional normalMap

+
normalMap: string
+ +
+
+

The name of the normal map used by the material. + The actual texture must be defined in ModelData.textures.

+
+
+
+
+ +

Optional opacity

+
opacity: number
+ +
+
+

The opacity of the material determines how much this material dissolves into the background. + The value must be between 0.0 (completely transparent) and 1.0 (fully opaque).

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional pointSize

+
pointSize: number
+ +
+
+

The used pointSize in pixels to render when mode is set to "Points".

+
+
+
+
+ +

Optional shininess

+
shininess: number
+ +
+
+

The shininess of the material determines how shiny the specular highlights are rendered. + A higher value results in a sharper, more focused highlight, while lower values cause the highlight to become more blown out. + The value range is from 0 to 1000.

+
+
+
defaultvalue
+

32

+
+
+
+
+
+ +

Optional specular

+
specular: number[]
+ +
+
+

Specular defines the specular highlight color of the material.

+
+
+
defaultvalue
+

[1, 1, 1] (white)

+
+
+
+
+
+ +

Optional specularMap

+
specularMap: string
+ +
+
+

The name of the specular map used by the material. + The actual texture must be defined in ModelData.textures.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.modeldata.html b/docs/interfaces/core.modeldata.html new file mode 100644 index 000000000..f2a3ed7b9 --- /dev/null +++ b/docs/interfaces/core.modeldata.html @@ -0,0 +1,252 @@ + + + + + + ModelData | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ModelData

+
+
+
+
+
+
+
+
+
+

The data format that describes the model to display.

+
+
+
+
+

Hierarchy

+
    +
  • + ModelData +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

faces

+
faces: { count?: number; geometryIndex: number; material: string; start?: number }[]
+ +
+
+

The Faces of the Model. + The winding orientation is counter-clockwise.

+
+
+
+
+ +

geometries

+
geometries: ModelGeometry[]
+ +
+
+

The Geometries of the Model.

+
+
+
+
+ +

Optional materials

+
materials: {}
+ +
+
+

Materials referenced by ModelData.faces.

+
+
+
+

Type declaration

+ +
+
+
+ +

Optional textures

+
textures: {}
+ +
+
+

Textures used by Materials.

+
+
+
+

Type declaration

+
    +
  • +
    [name: string]: HTMLCanvasElement | HTMLImageElement | { height: number; pixels?: Uint8Array; width: number }
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.modelgeometry.html b/docs/interfaces/core.modelgeometry.html new file mode 100644 index 000000000..2e92a9a75 --- /dev/null +++ b/docs/interfaces/core.modelgeometry.html @@ -0,0 +1,251 @@ + + + + + + ModelGeometry | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ModelGeometry

+
+
+
+
+
+
+
+
+
+

ModelGeometry

+
+
+
+
+

Hierarchy

+
    +
  • + ModelGeometry +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional color

+
color: string | number[]
+ +
+
+

Per Vertex color

+
+
+
+
+ +

Optional index

+
index: Uint16Array | Uint32Array | number[]
+ +
+
+

Vertex indices

+
+
+
+
+ +

Optional normal

+
normal: TypedArray | number[]
+ +
+
+

Vertex normals

+
+
+
+
+ +

position

+
position: TypedArray | number[]
+ +
+
+

Vertex positions

+
+
+
+
+ +

Optional uv

+
uv: number[]
+ +
+
+

Texture coordinates

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.modelstyle.html b/docs/interfaces/core.modelstyle.html new file mode 100644 index 000000000..7acb84b5d --- /dev/null +++ b/docs/interfaces/core.modelstyle.html @@ -0,0 +1,347 @@ + + + + + + ModelStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface ModelStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Models. + The default orientation is with the Y axis pointing up.

+
+
+
experimental
+
+
+
+
+
+

Hierarchy

+
    +
  • + ModelStyle +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional cullFace

+
cullFace: "Front" | "Back" | false
+ +
+
+

Configure Face culling. + To enable culling set cullFace to "Front" or "Back", to disable set to false. + The used winding order is counter-clock-wise. + Face culling is disabled by default.

+
+
+
defaultvalue:
+

false

+
+
+
+
+
+ +

model

+
model: string | ModelData
+ +
+
+

The Model data that should be rendered. + In addition to passing the model directly, a string can also be provided that references a Wavefront OBJ file.

+
+
+
example
+

{zIndex: 0, type: "Model", model: "./MyModel.obj"}

+
+
+
+
+
+ +

Optional rotate

+
rotate: number[]
+ +
+
+

rotate the model by the given vector [radX,radY,radZ]. + The order of rotation is x first, then y, followed by z.

+
+
+
+
+ +

Optional scale

+
scale: number[]
+ +
+
+

Scale the model by the given vector [sx,sy,sz].

+
+
+
+
+ +

Optional transform

+
transform: number[]
+ +
+
+

4x4 transformation matrix to transform the model. + if transform is defined, scale, translate and rotate are ignored.

+
+
+
+
+ +

Optional translate

+
translate: number[]
+ +
+
+

Translate the model by the given vector [tx,ty,tz].

+
+
+
+
+ +

type

+
type: "Model"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.mvtlayeroptions.html b/docs/interfaces/core.mvtlayeroptions.html new file mode 100644 index 000000000..edd85283f --- /dev/null +++ b/docs/interfaces/core.mvtlayeroptions.html @@ -0,0 +1,417 @@ + + + + + + MVTLayerOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface MVTLayerOptions

+
+
+
+
+
+
+
+
+
+

Options to configure a MVTLayer.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional margin

+
margin: number
+ +
+
+

tileMargin that should be applied to all providers of the layer.

+
+
+
+
+ +

Optional max

+
max: number
+ +
+
+

maximum zoom level at which data from the TileLayer will be displayed.

+
+
+
+
+ +

Optional min

+
min: number
+ +
+
+

minimum zoom level at which data from the TileLayer will be displayed.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the TileLayer.

+
+
+
+
+ +

Optional pointerEvents

+
pointerEvents: boolean
+ +
+
+

enable or disable pointer-event triggering for all features of all layers.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional provider

+
provider: TileProvider | { max: number; min: number; provider: TileProvider }[]
+ +
+
+

The data provider(s) for the TileLayer.

+
+

The provider can either be a single TileProvider or an array of {min: number, max: number, provider: TileProvider}, where "min" and "max" define the minimum and maximum zoom level at which data from the "provider" should be used. + If a single provider is defined, it's data will be used for all zoom levels. + If several providers are defined for a single zoom level, only the data of the first defined is used.

+
+
+
+ +

remote

+
remote: { max?: number; min?: number; tileSize?: number; url: string | ((z: number, y: number, x: number, quadkey: string) => string) }
+ +
+
+

options to configure the remote MVT datasource

+
+
+
+

Type declaration

+
    +
  • +
    Optional max?: number
    +
    +
    +

    The maximum zoom level for loading map tiles

    +
    +
    +
    defaultvalue
    +

    16

    +
    +
    +
    +
  • +
  • +
    Optional min?: number
    +
    +
    +

    The minimum zoom level for loading map tiles

    +
    +
    +
    defaultvalue
    +

    1

    +
    +
    +
    +
  • +
  • +
    Optional tileSize?: number
    +
    +
    +

    defines the size of the mvt tile data in pixel.

    +
    +
    +
    defaultvalue
    +

    512

    +
    +
    +
    +
  • +
  • +
    url: string | ((z: number, y: number, x: number, quadkey: string) => string)
    +
    +
    +

    URL to the remote MVT endpoint.

    +
    +

    It is either a string which may contain the following flags that will be replaced:

    +
      +
    • {SUBDOMAIN_CHAR}: subdomain id(a, b, c and d) for balancing the load
    • +
    • {SUBDOMAIN_INT}: subdomain id(0, 1, 2 and 3) for balancing the load
    • +
    • {SUBDOMAIN_INT_1_4}: subdomain id(1, 2, 3 and 4) for balancing the load
    • +
    • {QUADKEY}: quadkey of the tile to be requested
    • +
    • {Z}: z of the tile to be requested
    • +
    • {X}: x of the tile to be requested
    • +
    • {Y}: y of the tile to be requested
    • +
    +

    or a callback function that's called with the following parameters z,y,x,quadkey and needs to return the url for the respective tile. + The callback function needs to handle custom parameters by its own.

    +
    +
    example
    +
    // string
    +url: 'https://xyz.api.here.com/tiles/osmbase/512/all/{z}/{x}/{y}.mvt?access_token=YOUR_ACCESS_TOKEN'
    +
    +// callback function
    +url: (z, y, x, quadkey) => {
    +    return `https://xyz.api.here.com/tiles/osmbase/512/all/${z}/${x}/${y}.mvt?access_token=YOUR_ACCESS_TOKEN`
    +}
    +
    +
    +
    +
    +
  • +
+
+
+
+ +

Optional style

+
style: LayerStyle
+ +
+
+

Style for rendering features in this layer.

+
+
+
+
+ +

Optional tileSize

+
tileSize: number
+ +
+
+

the size of the tile data in pixel.

+
+
+
defaultvalue
+

512

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.polygonstyle.html b/docs/interfaces/core.polygonstyle.html new file mode 100644 index 000000000..bd9df82a8 --- /dev/null +++ b/docs/interfaces/core.polygonstyle.html @@ -0,0 +1,553 @@ + + + + + + PolygonStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface PolygonStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Polygons.

+
+
+
+
+

Hierarchy

+
    +
  • + PolygonStyle +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional altitude

+
altitude: number | boolean | StyleValueFunction<number | boolean> | StyleZoomRange<number | boolean>
+ +
+
+

The altitude of the style in meters. + The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + If a number is set for altitude, the altitude of the feature's geometry is ignored and the value of "altitude" is used instead. + The height must be defined in meters. + This attribute is valid for styles of type "Rect", "Image", "Text", "Circle", "Line", "Box" or "Sphere".

+
+
+
defaultvalue
+

false

+
+
experimental
+
+
+
+
+
+ +

Optional extrude

+
extrude: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Extrude a Polygon or MultiPolygon geometry in meters.

+
+
+
+
+ +

Optional extrudeBase

+
extrudeBase: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The base of the Extrude in meters. + The extrudeBase is defined from the ground to the bottom of the extruded Polygon in meters. + The extrudeBase must be less or equal then extrude.

+
+
+
defaultvalue
+

0

+
+
+
+
+
+ +

Optional fill

+ + +
+
+

Sets the color to fill the polygon.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional from

+
from: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Define the starting position of a segment of the entire line in %. + A Segment allows to display and style parts of the entire line individually. + The value must be between 0 and 1. + The Default is 0.

+
+
+
example
+

from: 0.0 // -> 0%, the segment has the same starting point as the entire line + from: 0.5 // -> 50%, the segment starts in the middle of the entire line

+
+
+
+
+
+ +

Optional offset

+
offset: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset a line to the left or right side in pixel or meter. + A positive values offsets to the right side, a negative value offsets to the left. + The side is defined relative to the direction of the line geometry. + The default unit is pixels. + To define the offset in meters a string that contains the offset value and ends with "m" must be used. + Applies to Line style only.

+
+
+
example
+
// offset line by 8px
+{ type: "Line", zIndex: 0, stroke:'blue', strokeWidth: 4, offset: 8}
+
+// offset line by 2m
+{ type: "Line", zIndex: 0, stroke:'blue', strokeWidth: 4, offset: "2m"}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque). + It is valid for all style types.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional stroke

+ + +
+
+

Sets the stroke color of the polygon.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional strokeDasharray

+
strokeDasharray: number[] | StyleValueFunction<number[]> | StyleZoomRange<number[]> | "none"
+ +
+
+

The strokeDasharray attribute controls the pattern of dashes and gaps used to stroke paths. + It's an array of that specify the lengths of alternating dashes and gaps. If an odd number of values is provided, + then the list of values is repeated to yield an even number of values. Thus, 5,3,2 is equivalent to 5,3,2,5,3,2. + The size of dashes and gaps can be defined in pixel or meter. + The default unit for dash and gap size is pixel. + In a pattern utilizing both meter and pixel units, only the initial "dash" and "gap" combination is utilized, with the subsequent ones being skipped. + To define the size in meters, a string containing the "dash"/"gap" size and ending with "m" must be used.

+
+
+
example
+

// dash and gap size is defined in pixel. + strokeDasharray: [20,10] + // dash and gap size is defined in meter. + strokeDasharray: ["20m","10m"] + // dash -> 10 meter, gap -> 10 pixel. + strokeDasharray: ["20m",10] || ["20m","10px"]

+
+
+
+
+
+ +

Optional strokeLinecap

+
strokeLinecap: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

This controls the shape of the ends of lines. there are three possible values for strokeLinecap:

+
    +
  • "butt" closes the line off with a straight edge that's normal (at 90 degrees) to the direction of the stroke and crosses its end.
  • +
  • "square" has essentially the same appearance, but stretches the stroke slightly beyond the actual path. The distance that the stroke goes beyond the path is half the strokeWidth.
  • +
  • "round" produces a rounded effect on the end of the stroke. The radius of this curve is also controlled by the strokeWidth. + This attribute is valid for Line styles only.
  • +
+
+

If "strokeLinecap" is used in combination with "altitude", only "butt" is supported for "strokeLinecap".

+
+
+
+ +

Optional strokeLinejoin

+
strokeLinejoin: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

The joint where the two segments in a line meet is controlled by the strokeLinejoin attribute, There are three possible values for this attribute:

+
    +
  • "miter" extends the line slightly beyond its normal width to create a square corner where only one angle is used.
  • +
  • "round" creates a rounded line segment.
  • +
  • "bevel" creates a new angle to aid in the transition between the two segments. + This attribute is valid for Line styles only.
  • +
+
+

If "strokeLinejoin" is used in combination with "altitude", the use of "round" is not supported.

+
+
+
+ +

Optional strokeWidth

+
strokeWidth: number | string | StyleValueFunction<number | number> | StyleZoomRange<string | number>
+ +
+
+

Sets the width of the stroke of the polygon (outline). + The unit of strokeWidth is defined in pixels. + For Polygons that are using extrude, the maximum possible strokeWidth is 1.0 pixel. + For Styles of type Line the strokeWidth can also be defined in meters by using a string: "${width}m".

+
+
+
example
+
// define a red colored polygon with a 2 pixel blue stroke (outline).
+{
+    zIndex: 0,
+    type: "Line",
+    fill: "red",
+    stroke: "blue",
+    strokeWidth: 2
+}
+
+
+
+
+
+
+ +

Optional to

+
to: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Define the end position of a segment of the entire line in %. + A Segment allows to display and style parts of the entire line individually. + The value must be between 0 and 1. + The Default is 1.

+
+
+
example
+

to: 0.5 // -> 50%, the segment ends in the middle of the entire line + to: 1.0 // -> 100%, the segment has the same end point as the entire line

+
+
+
+
+
+ +

type

+
type: "Polygon"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.remotetileprovideroptions.html b/docs/interfaces/core.remotetileprovideroptions.html new file mode 100644 index 000000000..72944b408 --- /dev/null +++ b/docs/interfaces/core.remotetileprovideroptions.html @@ -0,0 +1,441 @@ + + + + + + RemoteTileProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface RemoteTileProviderOptions

+
+
+
+
+
+
+
+
+
+

Configuration options of a RemoteTileProvider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional ignoreTileQueryLimit

+
ignoreTileQueryLimit: boolean
+ +
+
+

To prevent an overwhelming volume of tile requests, any requests for zoom levels lower than the provider's setting are disregarded. + Enabling "ignoreTileQueryLimit" will bypass the tile query limit but may risk browser crashes.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

level

+
level: number
+ +
+
+

The zoomlevel at which tiles should be loaded from remote and a local index gets created.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+
+

Methods

+
+ +

Optional postProcessor

+ +
    +
  • + +
    +
    +

    PostProcessor for remote data sources. + The PostProcessor will be executed just before created/modified or removed Features will be sent to the remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PostProcessorData:
    + {put: GeoJsonFeature[],remove: GeoJsonFeature[]}
    +// PostProcessor:
    + ({data: PostProcessorData, ready: (data) => void}) => PostProcessorData | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns { put: GeoJSONFeature[]; remove: GeoJSONFeature[] } | Promise<{ put: GeoJSONFeature[]; remove: GeoJSONFeature[] }>

    +
  • +
+
+
+ +

Optional preProcessor

+ +
    +
  • + +
    +
    +

    PreProcessor for remote data sources. + The PreProcessor will be executed just after Features are received from remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PreProcessor:
    + ({data: any[], ready: (GeoJsonFeature[]) => void, tile?:{x:number,y:number,z:number}) => GeoJsonFeature[] | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      input: { data: any[]; ready: (features: GeoJSONFeature[]) => void; tile?: { x: number; y: number; z: number } }
      +
        +
      • +
        data: any[]
        +
      • +
      • +
        ready: (features: GeoJSONFeature[]) => void
        + +
      • +
      • +
        Optional tile?: { x: number; y: number; z: number }
        +
          +
        • +
          x: number
          +
        • +
        • +
          y: number
          +
        • +
        • +
          z: number
          +
        • +
        +
      • +
      +
    • +
    +

    Returns GeoJSONFeature[] | Promise<GeoJSONFeature[]>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.spaceprovideroptions.html b/docs/interfaces/core.spaceprovideroptions.html new file mode 100644 index 000000000..151bafe10 --- /dev/null +++ b/docs/interfaces/core.spaceprovideroptions.html @@ -0,0 +1,794 @@ + + + + + + SpaceProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SpaceProviderOptions

+
+
+
+
+
+
+
+
+
+

Options to configure the XYZ SpaceProvider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional clip

+
clip: boolean
+ +
+
+

Indicates if result geometry of tile requests should be clipped.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

credentials

+
credentials: { access_token: string }
+ +
+
+

User credential of the provider, a valid credential needs to contain the "access_token".

+
+
+
+

Type declaration

+
    +
  • +
    access_token: string
    +
    +
    +

    the token to access the space of XYZ Hub endpoint. + You can get a token by following the instructions in this guide.

    +
    +
    +
  • +
+
+
+
+ +

Optional editable

+
editable: boolean
+ +
+
+

Allow or prevent editing by the editor.Editor module.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional enforceRandomFeatureId

+
enforceRandomFeatureId: boolean
+ +
+
+

Enforce random ids for newly created features. + If "enforceRandomFeatureId" is set to true, the ids of features created by editor.addFeature are ignored and randomly created. + If "enforceRandomFeatureId" is set to false, ids of features created by editor.addFeature can be set. Random ids are only generated if none have been set.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional headers

+
headers: {}
+ +
+
+

Set custom url service headers. + Custom headers will be applied to all request done by provider.

+
+
+
+

Type declaration

+
    +
  • +
    [header: string]: string
    +
  • +
+
+
+
+ +

Optional hooks

+
hooks: { Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]; Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]; Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]; Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[] }
+ +
+
+

Add hook functions that will be called during the execution of the corresponding "editing operation". + The "hooks" option is a map with the "editing operation" as its key and the corresponding Hook or Array of Hook function(s) as its value.

+
+

Available editing operations are 'Navlink.disconnect', 'Navlink.split', 'Feature.remove', 'Coordinates.remove'.

+
+
see
+

editor.Editor.addHook

+
+
+
+
+

Type declaration

+
    +
  • +
    Optional Coordinates.update?: CoordinatesUpdateHook | CoordinatesUpdateHook[]
    +
    +
    +

    The CoordinatesUpdateHook(s) will be called whenever the coordinates of a feature are added, updated or removed ('Coordinates.update' operation).

    +
    +
    +
  • +
  • +
    Optional Feature.remove?: FeatureRemoveHook | FeatureRemoveHook[]
    +
    +
    +

    The FeatureRemoveHook(s) will be called when a feature is being removed ('Feature.remove' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.disconnect?: NavlinkDisconnectHook | NavlinkDisconnectHook[]
    +
    +
    +

    The NavlinkDisconnectHook(s) will be called whenever a Navlink is disconnected from an intersection ('Navlink.disconnect' operation).

    +
    +
    +
  • +
  • +
    Optional Navlink.split?: NavlinkSplitHook | NavlinkSplitHook[]
    +
    +
    +

    The NavlinkSplitHook(s) will be called whenever a Navlink is devided into two new Navlinks. ('Navlink.split' operation).

    +
    +
    +
  • +
+
+
+
+ +

Optional https

+
https: boolean
+ +
+
+

Indicates if the requests should be made with https.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional ignoreTileQueryLimit

+
ignoreTileQueryLimit: boolean
+ +
+
+

To prevent an overwhelming volume of tile requests, any requests for zoom levels lower than the provider's setting are disregarded. + Enabling "ignoreTileQueryLimit" will bypass the tile query limit but may risk browser crashes.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

level

+
level: number
+ +
+
+

The zoomlevel at which tiles should be loaded from remote and a local index gets created.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+ +

Optional params

+
params: {}
+ +
+
+

Set custom url parameters. + Custom parameters will be applied to all request done by provider.

+
+
+
+

Type declaration

+
    +
  • +
    [paramter: string]: string
    +
  • +
+
+
+
+ +

Optional propertySearch

+
propertySearch: {}
+ +
+
+

define property search query to enable remote filtering by property search.

+
+
+
see
+

https://www.here.xyz/api/devguide/propertiessearch/

+
+
defaultvalue
+

null

+
+
+
+
+

Type declaration

+
    +
  • +
    [name: string]: { operator: "=" | "!=" | ">" | ">=" | "<" | "<="; value: any | any[] }
    +
      +
    • +
      operator: "=" | "!=" | ">" | ">=" | "<" | "<="
      +
    • +
    • +
      value: any | any[]
      +
    • +
    +
  • +
+
+
+
+ +

space

+
space: string
+ + +
+
+ +

Optional tags

+
tags: false | string | string[]
+ +
+
+

Indicates the tag(s) that should be set in the requests.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional url

+
url: string
+ +
+
+

Base URL of the SpaceProvider. + It should point to a XYZ-Hub space endpoint.

+
+
+
defaultvalue
+

"https://xyz.api.here.com/hub/spaces"

+
+
+
+
+
+ +

Optional withCredentials

+
withCredentials: boolean
+ +
+
+

Indicates if requests are made with credentials.

+
+
+
defaultvalue
+

false

+
+
+
+
+
+
+

Methods

+
+ +

Optional postProcessor

+ +
    +
  • + +
    +
    +

    PostProcessor for remote data sources. + The PostProcessor will be executed just before created/modified or removed Features will be sent to the remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PostProcessorData:
    + {put: GeoJsonFeature[],remove: GeoJsonFeature[]}
    +// PostProcessor:
    + ({data: PostProcessorData, ready: (data) => void}) => PostProcessorData | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    + +

    Returns { put: GeoJSONFeature[]; remove: GeoJSONFeature[] } | Promise<{ put: GeoJSONFeature[]; remove: GeoJSONFeature[] }>

    +
  • +
+
+
+ +

Optional preProcessor

+ +
    +
  • + +
    +
    +

    PreProcessor for remote data sources. + The PreProcessor will be executed just after Features are received from remote backend. + If the processor function is returning the processed data then its treated as a synchronous processor. + If the processor function does not return any value (undefined) or a Promise then its treated as asynchronous processor. + An asynchronous processor that's not using a Promise MUST call the input.ready(..) callback when data processing is finished.

    +
    +

    Due to the execution of the processor in a separate worker thread the processor function must be scope independent. + The processor must be a "standalone function/class" that only depends on its own scope and only accesses its own local variables. + No references to the outer scope of the processor function are allowed.

    +
    +
    example
    +
    // PreProcessor:
    + ({data: any[], ready: (GeoJsonFeature[]) => void, tile?:{x:number,y:number,z:number}) => GeoJsonFeature[] | Promise<GeoJsonFeature[]>
    +
    +
    +
    +
    +

    Parameters

    +
      +
    • +
      input: { data: any[]; ready: (features: GeoJSONFeature[]) => void; tile?: { x: number; y: number; z: number } }
      +
        +
      • +
        data: any[]
        +
      • +
      • +
        ready: (features: GeoJSONFeature[]) => void
        + +
      • +
      • +
        Optional tile?: { x: number; y: number; z: number }
        +
          +
        • +
          x: number
          +
        • +
        • +
          y: number
          +
        • +
        • +
          z: number
          +
        • +
        +
      • +
      +
    • +
    +

    Returns GeoJSONFeature[] | Promise<GeoJSONFeature[]>

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.spherestyle.html b/docs/interfaces/core.spherestyle.html new file mode 100644 index 000000000..74b3acb90 --- /dev/null +++ b/docs/interfaces/core.spherestyle.html @@ -0,0 +1,434 @@ + + + + + + SphereStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface SphereStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Rectangles.

+
+
+
+
+

Hierarchy

+
    +
  • + SphereStyle +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional altitude

+
altitude: number | boolean | StyleValueFunction<number | boolean> | StyleZoomRange<number | boolean>
+ +
+
+

The altitude of the style in meters. + The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + If a number is set for altitude, the altitude of the feature's geometry is ignored and the value of "altitude" is used instead. + The height must be defined in meters.

+
+
+
defaultvalue
+

false

+
+
experimental
+
+
+
+
+
+ +

Optional fill

+ + +
+
+

Sets the color to fill the Sphere. + This attribute is valid for Circle, Rect, Text and Polygon.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional offsetX

+
offsetX: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the shape in pixels on x-axis. + A positive value offsets to the right, a negative value to the left. + The default unit is pixels.

+
+
+
example
+
// offset Sphere by 1m to the left
+{ type: "Sphere", zIndex: 0, fill:'blue', radius: 24, offsetX: "-1m"}
+
+
+
+
+
+
+ +

Optional offsetY

+
offsetY: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Offset the shape in pixels on y-axis. + A positive value offsetY offsets downwards, a negative value upwards. + The default unit is pixels.

+
+
+
example
+
// offset Sphere by 1m to the top
+{ type: "Sphere", zIndex: 0, fill:'blue', radius: 24, offsetY: "-1m"}
+
+
+
+
+
+
+ +

Optional offsetZ

+
offsetZ: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the shape in pixels on z-axis. + A positive value offsets up, a negative value down. + The default unit is pixels.

+
+
+
example
+
// offset Sphere by 1m to the top
+{ type: "Sphere", zIndex: 0, fill:'blue', radius: 24, offsetZ: "1m"}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque). + It is valid for all style types.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional radius

+
radius: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The Radius of the Sphere. + The default unit is pixels. + The radius of "Sphere" must be defined in pixels.

+
+
+
example
+
// define a Sphere with a radius of 32 pixel.
+{
+    zIndex: 0,
+    type: "Sphere",
+    fill: "red",
+    radius: 32
+}
+
+
+
+
+
+
+ +

Optional scaleByAltitude

+
scaleByAltitude: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Scales the size of a style based on the feature's altitude. + If it's enabled (true), features closer to the camera will be drawn larger than those farther away. + When off (false), the size of the style is always the same size, regardless of its actual altitude, as if it were placed on the ground (altitude 0). + This attribute applies to styles of type "Rect", "Image", "Text", "Circle", "Line", "Box", or "Sphere" whose size (width, radius, strokeWidth) that are using "map" alignment only. + If the size attribute is defined in meters, scaleByAltitude is enabled by default, for pixels it is disabled.

+
+
+
defaultvalue
+

false (pixels), true (meters)

+
+
experimental
+
+
+
+
+
+ +

type

+
type: "Sphere"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.style.html b/docs/interfaces/core.style.html new file mode 100644 index 000000000..0a31ad0d1 --- /dev/null +++ b/docs/interfaces/core.style.html @@ -0,0 +1,1212 @@ + + + + + + Style | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Style

+
+
+
+
+
+
+
+
+
+

The Style object defines how certain features should be rendered. + A style object must always contain the attributes "zIndex" and "type" as well as the mandatory attributes of the corresponding "type":

+
    +
  • Circle: "radius" must be included and either "fill" or "stroke" should be included.
  • +
  • Rect: "width" must be included and "height" will be set with the same value as "width" if only "width" is present. Either "fill" or "stroke" should be included
  • +
  • Text: "text" or "textRef" should be included and "fill" or "stroke" should also be included for text color
  • +
  • Image: "src" and "width" must be included. "height" will be set with the same value as "width" if only "width" is present.
  • +
  • Line: "stroke" must be included.
  • +
  • Polygon: "fill" or "stroke" must be included.
  • +
  • Box: "width" must be included, while "height" and "depth" will be set with the same value as "width" if only "width" is present. Either "fill" or "stroke" should be included
  • +
  • Sphere: A style of type Sphere must include "radius" and "fill".
  • +
  • VerticalLine: "stroke" must be included.
  • +
+
+
+
example
+
// example of Circle:
+{zIndex: 0, type: "Circle", radius: 16, fill: "#FFFF00"}
+
+// example of Rect:
+{zIndex: 0, type: "Rect", fill: "#4C9EEF", stroke: "#0156BB", width: 20, height: 20}
+
+// example of Text:
+{zIndex:1, type: "Text", fill: "#FFFFFF", text: "HERE", font: "normal 12px Arial"}
+
+// example of Image:
+{zIndex: 0, type: "Image", src: "./xyz.png", width: 20, height: 20}
+
+// example of Line:
+{zIndex: 0, type: "Line", opacity: 0.5, stroke: "#BE6B65", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 16}
+
+// example of Polygon:
+{zIndex: 0, type: "Polygon", opacity: 0.5, stroke: "#BE6B65", fill: "#FFFFFF"}
+
+// example of Box:
+{zIndex: 0, type: "Box", width: 16, height: 16, depth: 16, stroke: "#BE6B65", fill: "#FFFFFF"}
+
+// example of Sphere:
+{zIndex: 0, type: "Sphere", radius: 16, fill: "#FFFFFF"}
+
+
+
+
+
+
+

Hierarchy

+
    +
  • + Style +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional alignment

+
alignment: "map" | "viewport" | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Alignment for styles of type "Circle", "Rect", "Image" and "Text". + Possible values are: "map" and "viewport". + "map" aligns to the plane of the map and "viewport" aligns to the plane of the viewport/screen. + Default alignment for Text based on point geometries is "viewport" while "map" is the default for line geometries.

+
+
+
+
+ +

Optional altitude

+
altitude: number | boolean | StyleValueFunction<number | boolean> | StyleZoomRange<number | boolean>
+ +
+
+

The altitude of the style in meters. + The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + If a number is set for altitude, the altitude of the feature's geometry is ignored and the value of "altitude" is used instead. + The height must be defined in meters. + This attribute is valid for styles of type "Rect", "Image", "Text", "Circle", "Line", "Box" or "Sphere".

+
+
+
defaultvalue
+

false

+
+
experimental
+
+
+
+
+
+ +

Optional anchor

+
anchor: "Line" | "Coordinate" | "Centroid"
+ +
+
+

Sets the anchor point for styles of type "Circle", "Rect", "Image" and "Text" used with Line or Polygon geometry.

+
+

Possible values for Line geometry are "Coordinate" and "Line".

+
    +
  • "Coordinate": the respective style is displayed at each coordinate of the polyline.
  • +
  • "Line": the respective style is displayed on the shape of the polyline when there is enough space. See checkLineSpace to disable the space check.
  • +
+

Possible values for Polygon geometry are "Center" and "Centroid".

+
    +
  • "Center": the center of the bounding box of the polygon.
  • +
  • "Centroid": the geometric centroid of the polygon geometry.
  • +
+
+
defaultvalue
+

For Polygon geometry the default is "Center". For Line geometry the default for styles of type "Text" is "Line", while "Coordinate" is the default for styles of type "Circle", "Rect" or "Image".

+
+
+
+
+
+ +

Optional checkLineSpace

+
checkLineSpace: boolean
+ +
+
+

Enable or disable the space check for point styles on line geometries. + Only applies to "Circle", "Rect", "Image" and "Text" styles with anchor set to "Line". + If check checkLineSpace is enabled the respective style is only displayed if there is enough space on the line, + otherwise it is not displayed.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional collide

+
collide: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Enable or disable collision detection. + Works for styles of type "Circle", "Rect", "Image" and "Text". + If the collision detection is enabled for multiple Styles within the same StyleGroup, the respective Styles are + handled as a single Object ("CollisionGroup") where the combined bounding-box is determined automatically.

+
+
    +
  • true: collision are allowed, Collision detection is disabled.
  • +
  • false: avoid collisions, Collision detection is enabled.
  • +
+
+
defaultvalue
+

false for "Text", true for all other.

+
+
+
+
+
+ +

Optional collisionGroup

+
collisionGroup: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Enables collision detection and combines all styles of a StyleGroup with the same "CollisionGroup" into a single logical object for collision detection.

+
+
+
+
+ +

Optional depth

+
depth: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The depth of the style in pixels. + The depth defines the length of the edges of a "Box" parallel to the Z axis. + The unit of depth is defined in pixels and only required by styles of type "Box".

+
+
+
example
+
// define a Box that has a width, height and depth of 16px
+{
+    zIndex: 0,
+    type: "Box",
+    stroke: "blue",
+    fill: "red",
+    width: 16,
+    height: 16,
+    depth: 16
+}
+
+
+
+
+
+
+ +

Optional extrude

+
extrude: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Extrude a Polygon or MultiPolygon geometry in meters. + This attribute is validate for styles of type "Polygon" only.

+
+
+
+
+ +

Optional extrudeBase

+
extrudeBase: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The base of the Extrude in meters. + The extrudeBase is defined from the ground to the bottom of the extruded Polygon in meters. + The extrudeBase must be less or equal then extrude. + This attribute applies only to styles of type "Polygon".

+
+
+
defaultvalue
+

0

+
+
+
+
+
+ +

Optional fill

+ + +
+
+

Sets the color to fill the shape. + This attribute is valid for Circle, Rect, Text and Polygon.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional font

+
font: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

CSS font string for texts. + It is only valid for Text.

+
+
+
defaultvalue
+

“normal 12px Arial”

+
+
+
+
+
+ +

Optional from

+
from: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Define the starting position of a segment of the entire line in %. + A Segment allows to display and style parts of the entire line individually. + The value must be between 0 and 1. + The Default is 0.

+
+
+
example
+

from: 0.0 // -> 0%, the segment has the same starting point as the entire line + from: 0.5 // -> 50%, the segment starts in the middle of the entire line

+
+
+
+
+
+ +

Optional height

+
height: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Height of the style in pixels. + It is only required by Rect and Image. + The maximum supported height for "Image" is 64 pixels. + The unit of height is defined in pixels. + For styles of type "Rect" the height can also be defined in meters by using a string: "${width}m".

+
+
+
example
+
// define a Rect that has a width of 2 meter and a height of 1 meter.
+{
+    zIndex: 0,
+    type: "Line",
+    stroke: "blue",
+    width: "2m",
+    height: "1m"
+}
+
+
+
example
+
// define a Rect that has a width of 20 pixel and a height of 28 pixel.
+{
+    zIndex: 0,
+    type: "Line",
+    stroke: "green",
+    width: 20,
+    height: 28
+}
+
+
+
example
+
// define a Image/Icon style with/height of 32pixel
+{
+    zIndex: 0,
+    type: "Image",
+    src: "urlToMyImageResource",
+    width: 32
+}
+
+
+
+
+
+
+ +

Optional lineWrap

+
lineWrap: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Enable oder Disable line wrapping for styles of type "Text". + The line wrapping for text on (Multi)Linestring geometry with anchor set to "Line" is disabled by default, + otherwise it's 14 characters.

+
+
    +
  • number: Maximum number of characters per line [Default 14 characters]
  • +
  • false: disable line wrapping
  • +
  • true: enable line wrapping [Default 14 characters]
  • +
+
+
defaultvalue
+

14

+
+
+
+
+
+ +

Optional offset

+
offset: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset a line to the left or right side in pixel or meter. + A positive values offsets to the right side, a negative value offsets to the left. + The side is defined relative to the direction of the line geometry. + The default unit is pixels. + To define the offset in meters a string that contains the offset value and ends with "m" must be used. + Applies to Line style only.

+
+
+
example
+
// offset line by 8px
+{ type: "Line", zIndex: 0, stroke:'blue', strokeWidth: 4, offset: 8}
+
+// offset line by 2m
+{ type: "Line", zIndex: 0, stroke:'blue', strokeWidth: 4, offset: "2m"}
+
+
+
+
+
+
+ +

Optional offsetX

+
offsetX: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the shape in pixels on x-axis. + It is valid for Circle, Rect, Text, Image, Box and Sphere. + A positive value offsets to the right, a negative value to the left. + The default unit is pixels.

+
+
+
example
+
// offset Image by 8px to the right.
+{ type: "Image", zIndex: 0, src: '...', offsetX: 8}
+
+// offset Circle by 1m to the left
+{ type: "Circle", zIndex: 0, fill:'blue', radius: 4, offsetX: "-1m"}
+
+
+
+
+
+
+ +

Optional offsetY

+
offsetY: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Offset the shape in pixels on y-axis. + It is valid for Circle, Rect, Text, Image, Box and Sphere. + A positive value offsetY offsets downwards, a negative value upwards. + The default unit is pixels.

+
+
+
example
+
// offset Image by 8px to the bottom
+{ type: "Image", zIndex: 0, src: '...', offsetY: 8}
+
+// offset Circle by 1m to the top
+{ type: "Circle", zIndex: 0, fill:'blue', radius: 4, offsetY: "-1m"}
+
+
+
+
+
+
+ +

Optional offsetZ

+
offsetZ: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the shape in pixels on z-axis. + It is valid for Circle, Rect, Text, Image, Box and Sphere. + A positive value offsets up, a negative value down. + The default unit is pixels.

+
+
+
example
+
// offset Image by 8px to the top.
+{ type: "Image", zIndex: 0, src: '...', offsetZ: 8}
+
+// offset Circle by 1m to the top
+{ type: "Circle", zIndex: 0, fill:'blue', radius: 4, offsetZ: "1m"}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque). + It is valid for all style types.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional priority

+
priority: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

In case of label collision, Text with a higher priority (lower value) will be drawn before lower priorities (higher value). + If the collision detection is enabled for multiple Styles within the same StyleGroup, the highest priority (lowest value) + is used.

+
+
+
+
+ +

Optional radius

+
radius: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

The Radius of the Circle and Sphere. + It is required by styles of type "Circle" and "Sphere". + The default unit is pixels. + To define the radius of a Circle in meters a string can be used: "${width}m". + The radius of "Sphere" must be defined in pixels.

+
+
+
example
+
// define a Sphere with a radius of 32 pixel.
+{
+    zIndex: 0,
+    type: "Sphere",
+    fill: "red",
+    radius: 32
+}
+
+
+
example
+
// define a Circle with a radius of 1 meter
+{
+    zIndex: 0,
+    type: "Circle",
+    fill: "red",
+    radius: "1m"
+}
+// define a Circle with a radius of 16 pixel
+{
+    zIndex: 0,
+    type: "Circle",
+    fill: "red",
+    radius: 16
+}
+
+
+
+
+
+
+ +

Optional repeat

+
repeat: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Minimum distance in pixels between repeated style-groups on line geometries. + Applies per tile only.

+
+
+
defaultvalue
+

256 (pixels)

+
+
+
+
+
+ +

Optional rotation

+
rotation: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Rotate the shape of the style to the angle in degrees. + This attribute is validate for Rect and Image.

+
+
+
+
+ +

Optional scaleByAltitude

+
scaleByAltitude: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Scales the size of a style based on the feature's altitude. + If it's enabled (true), features closer to the camera will be drawn larger than those farther away. + When off (false), the size of the style is always the same size, regardless of its actual altitude, as if it were placed on the ground (altitude 0). + This attribute applies to styles of type "Rect", "Image", "Text", "Circle", "Line", "Box", or "Sphere" whose size (width, radius, strokeWidth) that are using "map" alignment only. + If the size attribute is defined in meters, scaleByAltitude is enabled by default, for pixels it is disabled.

+
+
+
defaultvalue
+

false (pixels), true (meters)

+
+
experimental
+
+
+
+
+
+ +

Optional src

+
src: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Specifies the URL of an image. + It can be either absolute or relative path. + It is only required by "Image".

+
+
+
+
+ +

Optional stroke

+ + +
+
+

Sets the stroke color of the shape. + This attribute is valid for Circle, Rect, Line, Text and Polygon.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional strokeDasharray

+
strokeDasharray: (number | string)[] | StyleValueFunction<(number | string)[]> | StyleZoomRange<(number | string)[]> | "none"
+ +
+
+

The strokeDasharray attribute controls the pattern of dashes and gaps used to stroke paths. + It's an array of that specify the lengths of alternating dashes and gaps. If an odd number of values is provided, + then the list of values is repeated to yield an even number of values. Thus, 5,3,2 is equivalent to 5,3,2,5,3,2. + The size of dashes and gaps can be defined in pixel or meter. + The default unit for dash and gap size is pixel. + In a pattern utilizing both meter and pixel units, only the initial "dash" and "gap" combination is utilized, with the subsequent ones being skipped. + To define the size in meters, a string containing the "dash"/"gap" size and ending with "m" must be used. + This attribute is valid for Line and Polygon styles only.

+
+
+
example
+

// dash and gap size is defined in pixel. + strokeDasharray: [20,10] + // dash and gap size is defined in meter. + strokeDasharray: ["20m","10m"] + // dash -> 10 meter, gap -> 10 pixel. + strokeDasharray: ["20m",10] || ["20m","10px"]

+
+
+
+
+
+ +

Optional strokeLinecap

+
strokeLinecap: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

This controls the shape of the ends of lines. there are three possible values for strokeLinecap:

+
    +
  • "butt" closes the line off with a straight edge that's normal (at 90 degrees) to the direction of the stroke and crosses its end.
  • +
  • "square" has essentially the same appearance, but stretches the stroke slightly beyond the actual path. The distance that the stroke goes beyond the path is half the strokeWidth.
  • +
  • "round" produces a rounded effect on the end of the stroke. The radius of this curve is also controlled by the strokeWidth. + This attribute is valid for Line styles only.
  • +
+
+

If "strokeLinecap" is used in combination with "altitude", only "butt" is supported for "strokeLinecap".

+
+
+
+ +

Optional strokeLinejoin

+
strokeLinejoin: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

The joint where the two segments in a line meet is controlled by the strokeLinejoin attribute, There are three possible values for this attribute:

+
    +
  • "miter" extends the line slightly beyond its normal width to create a square corner where only one angle is used.
  • +
  • "round" creates a rounded line segment.
  • +
  • "bevel" creates a new angle to aid in the transition between the two segments. + This attribute is valid for Line styles only.
  • +
+
+

If "strokeLinejoin" is used in combination with "altitude", the use of "round" is not supported.

+
+
+
+ +

Optional strokeWidth

+
strokeWidth: number | string | StyleValueFunction<number | number> | StyleZoomRange<string | number>
+ +
+
+

Sets the width of the stroke. + This attribute is valid for Circle, Rect, Line, Text and Polygon. + The unit of strokeWidth is defined in pixels. + For Polygons that are using extrude, the maximum possible strokeWidth is 1.0 pixel. + For Styles of type Line the strokeWidth can also be defined in meters by using a string: "${width}m".

+
+
+
example
+
// define a Line that has a with of 1 meter
+{
+    zIndex: 0,
+    type: "Line",
+    stroke: "blue",
+    strokeWidth: "1m"
+}
+// define a Line that has a with of 16 pixel
+{
+    zIndex: 0,
+    type: "Line",
+    stroke: "green",
+    strokeWidth: "16
+}
+
+
+
example
+
// define a Text style with a strokeWidth of 8px
+{
+    zIndex: 0,
+    type: "Text",
+    text: "doc",
+    fill: "white",
+    stroke: "black,
+    strokeWidth: 8
+}
+
+
+
+
+
+
+ +

Optional text

+
text: string | number | boolean | StyleValueFunction<string | number | boolean> | StyleZoomRange<string | number | boolean>
+ +
+
+

Text is either a string or a function that generates the string that should be displayed. + It is valid for Text style only.

+
+
+
example
+
// display the name property of a feature in uppercase
+...
+text: function(feature){
+  return feature.properties.name.toUpperCase();
+}
+
+
+
+
+
+
+ +

Optional textRef

+
textRef: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

"textRef" Reference to an attribute of an feature that's value should be displayed as text. + If both "text" and "textRef" are set, "text" prevails. + It is only required by Text.

+
+
+
example
+
// display the property "name" of the feature's properties
+...
+textRef: "properties.name"
+
+
+
example
+
// display the id of the featurre
+...
+textRef: "id"
+
+
+
+
+
+
+ +

Optional to

+
to: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Define the end position of a segment of the entire line in %. + A Segment allows to display and style parts of the entire line individually. + The value must be between 0 and 1. + The Default is 1.

+
+
+
example
+

to: 0.5 // -> 50%, the segment ends in the middle of the entire line + to: 1.0 // -> 100%, the segment has the same end point as the entire line

+
+
+
+
+
+ +

type

+
type: "Circle" | "Rect" | "Image" | "Text" | "Line" | "Polygon" | "VerticalLine" | "Box" | "Sphere" | string
+ +
+
+

Indicates type of the shape to render. + Its value must be one of the following: "Circle", "Rect", "Text", "Image", "Line", "Polygon", "VerticalLine", "Box" or "Sphere",

+
+
+
+
+ +

Optional width

+
width: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Width of the style in pixels. + It is only required by Rect, Image and Box. + The maximum supported width for "Image" is 64 pixels. + The unit of width is defined in pixels. + For styles of type "Rect" the width can also be defined in meters by using a string: "${width}m".

+
+
+
example
+
// define a Rect that has a width (and height) of 2.2 meter
+{
+    zIndex: 0,
+    type: "Line",
+    stroke: "blue",
+    width: "2.2m"
+}
+
+
+
example
+
// define a Rect that has a width (and height) of 16 pixel
+{
+    zIndex: 0,
+    type: "Line",
+    stroke: "green",
+    width: 16
+}
+
+
+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.textstyle.html b/docs/interfaces/core.textstyle.html new file mode 100644 index 000000000..ba6400911 --- /dev/null +++ b/docs/interfaces/core.textstyle.html @@ -0,0 +1,770 @@ + + + + + + TextStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TextStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of Text.

+
+
+
+
+

Hierarchy

+
    +
  • + TextStyle +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional alignment

+
alignment: "map" | "viewport" | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Alignment for styles of type "Text". + Possible values are: "map" and "viewport". + "map" aligns to the plane of the map and "viewport" aligns to the plane of the viewport/screen. + Default alignment for Text based on point geometries is "viewport" while "map" is the default for line geometries.

+
+
+
+
+ +

Optional altitude

+
altitude: number | boolean | StyleValueFunction<number | boolean> | StyleZoomRange<number | boolean>
+ +
+
+

The altitude of the style in meters. + The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + If a number is set for altitude, the altitude of the feature's geometry is ignored and the value of "altitude" is used instead. + The height must be defined in meters.

+
+
+
defaultvalue
+

false

+
+
experimental
+
+
+
+
+
+ +

Optional anchor

+
anchor: "Line" | "Coordinate" | "Centroid" | "Center"
+ +
+
+

Sets the anchor point for styles of type "Text" used with Line or Polygon geometry.

+
+

Possible values for Line geometry are "Coordinate" and "Line".

+
    +
  • "Coordinate": the respective style is displayed at each coordinate of the polyline.
  • +
  • "Line": the respective style is displayed on the shape of the polyline when there is enough space. See checkLineSpace to disable the space check.
  • +
+

Possible values for Polygon geometry are "Center" and "Centroid".

+
    +
  • "Center": the center of the bounding box of the polygon.
  • +
  • "Centroid": the geometric centroid of the polygon geometry.
  • +
+
+
defaultvalue
+

For Polygon geometry the default is "Center". For Line geometry the default for styles of type "Text" is "Line".

+
+
+
+
+
+ +

Optional checkLineSpace

+
checkLineSpace: boolean
+ +
+
+

Enable or disable the space check for point styles on line geometries. + Only applies to "Text" styles with anchor set to "Line". + If check checkLineSpace is enabled the respective style is only displayed if there is enough space on the line, + otherwise it is not displayed.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional collide

+
collide: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Enable or disable collision detection. + If the collision detection is enabled for multiple Styles within the same StyleGroup, the respective Styles are + handled as a single Object ("CollisionGroup") where the combined bounding-box is determined automatically.

+
+
    +
  • true: collision are allowed, Collision detection is disabled.
  • +
  • false: avoid collisions, Collision detection is enabled.
  • +
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional collisionGroup

+
collisionGroup: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

Enables collision detection and combines all styles of a StyleGroup with the same "CollisionGroup" into a single logical object for collision detection.

+
+
+
+
+ +

Optional fill

+ + +
+
+

Sets the color to fill the text.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional font

+
font: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

CSS font string for texts. + It is only valid for Text.

+
+
+
defaultvalue
+

“normal 12px Arial”

+
+
+
+
+
+ +

Optional lineWrap

+
lineWrap: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Enable oder Disable line wrapping for styles of type "Text". + The line wrapping for text on (Multi)Linestring geometry with anchor set to "Line" is disabled by default, + otherwise it's 14 characters.

+
+
    +
  • number: Maximum number of characters per line [Default 14 characters]
  • +
  • false: disable line wrapping
  • +
  • true: enable line wrapping [Default 14 characters]
  • +
+
+
defaultvalue
+

14

+
+
+
+
+
+ +

Optional offsetX

+
offsetX: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the text in pixels on x-axis. + A positive value offsets to the right, a negative value to the left. + The default unit is pixels.

+
+
+
example
+
// offset Text by 1m to the left
+{ type: "Text", zIndex: 0, fill:'blue', offsetX: "-1m", text: 'XYZ'}
+
+
+
+
+
+
+ +

Optional offsetY

+
offsetY: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Offset the text in pixels on y-axis. + A positive value offsetY offsets downwards, a negative value upwards. + The default unit is pixels.

+
+
+
example
+
// offset Text by 1m to the left
+{ type: "Text", zIndex: 0, fill:'blue', offsetY: "-1m", text: 'XYZ'}
+
+
+
+
+
+
+ +

Optional offsetZ

+
offsetZ: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the text in pixels on z-axis. + A positive value offsets up, a negative value down. + The default unit is pixels.

+
+
+
example
+
// offset Text by 1m to the top
+{ type: "Text", zIndex: 0, fill:'blue', text: 'XYZ', offsetZ: "1m"}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque). + It is valid for all style types.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional priority

+
priority: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

In case of label collision, Text with a higher priority (lower value) will be drawn before lower priorities (higher value). + If the collision detection is enabled for multiple Styles within the same StyleGroup, the highest priority (lowest value) + is used.

+
+
+
+
+ +

Optional repeat

+
repeat: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Minimum distance in pixels between repeated style-groups on line geometries. + Applies per tile only.

+
+
+
defaultvalue
+

256 (pixels)

+
+
+
+
+
+ +

Optional rotation

+
rotation: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Rotate text around it's center in degrees.

+
+
+
+
+ +

Optional scaleByAltitude

+
scaleByAltitude: boolean | StyleValueFunction<boolean> | StyleZoomRange<boolean>
+ +
+
+

Scales the size of a style based on the feature's altitude. + If it's enabled (true), features closer to the camera will be drawn larger than those farther away. + When off (false), the size of the style is always the same size, regardless of its actual altitude, as if it were placed on the ground (altitude 0). + This attribute applies to styles of type "Rect", "Image", "Text", "Circle", "Line", "Box", or "Sphere" whose size (width, {@link radius}, strokeWidth) that are using "map" alignment only. + If the size attribute is defined in meters, scaleByAltitude is enabled by default, for pixels it is disabled.

+
+
+
defaultvalue
+

false (pixels), true (meters)

+
+
experimental
+
+
+
+
+
+ +

Optional stroke

+ + +
+
+

Sets the stroke color of the text (outline).

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

Optional strokeWidth

+
strokeWidth: number | string | StyleValueFunction<number | number> | StyleZoomRange<string | number>
+ +
+
+

Sets the width of the stroke (outline) to display the text with. + The unit of strokeWidth is defined in pixels.

+
+
+
example
+
// define a Text style with a strokeWidth of 8px
+{
+    zIndex: 0,
+    type: "Text",
+    text: "doc",
+    fill: "white",
+    stroke: "black,
+    strokeWidth: 8
+}
+
+
+
+
+
+
+ +

Optional text

+
text: string | number | boolean | StyleValueFunction<string | number | boolean> | StyleZoomRange<string | number | boolean>
+ +
+
+

Text is either a string or a function that generates the string that should be displayed. + It is valid for Text style only.

+
+
+
example
+
// display the name property of a feature in uppercase
+...
+text: function(feature){
+  return feature.properties.name.toUpperCase();
+}
+
+
+
+
+
+
+ +

Optional textAnchor

+
textAnchor: "Left" | "Center" | "Right" | "Top" | "TopLeft" | "TopRight" | "Bottom" | "BottomLeft" | "BottomRight"
+ +
+
+

The "textAnchor" attribute is used to align the text relative to the anchor point.

+
+

Possible values:

+
    +
  • "Left": The text is aligned left to the anchor.
  • +
  • "Right": The text is aligned right to the anchor.
  • +
  • "Center": The center of the Text is placed at the anchor point.
  • +
  • "Top": The top of the Text is placed closest the anchor point.
  • +
  • "TopLeft": The top left side of the Text is placed closest the anchor point.
  • +
  • "TopRight": The top right side of the Text is placed closest the anchor point.
  • +
  • "Bottom": The bottom of the Text is placed closest to the anchor point.
  • +
  • "BottomLeft": The bottom left side of the Text is placed closest the anchor point.
  • +
  • "BottomRight": The bottom right side of the Text is placed closest the anchor point.
  • +
+
+
defaultvalue
+

"Center"

+
+
+
+
+
+ +

Optional textRef

+
textRef: string | StyleValueFunction<string> | StyleZoomRange<string>
+ +
+
+

"textRef" Reference to an attribute of an feature that's value should be displayed as text. + If both "text" and "textRef" are set, "text" prevails. + It is only required by Text.

+
+
+
example
+
// display the property "name" of the feature's properties
+...
+textRef: "properties.name"
+
+
+
example
+
// display the id of the feature
+...
+textRef: "id"
+
+
+
+
+
+
+ +

type

+
type: "Text"
+ +
+
+

Specifies the type of style to render.

+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.tilelayeroptions.html b/docs/interfaces/core.tilelayeroptions.html new file mode 100644 index 000000000..46a669cea --- /dev/null +++ b/docs/interfaces/core.tilelayeroptions.html @@ -0,0 +1,317 @@ + + + + + + TileLayerOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TileLayerOptions

+
+
+
+
+
+
+
+
+
+

Configuration options for a TileLayer.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional margin

+
margin: number
+ +
+
+

tileMargin that should be applied to all providers of the layer.

+
+
+
+
+ +

Optional max

+
max: number
+ +
+
+

maximum zoom level at which data from the TileLayer will be displayed.

+
+
+
+
+ +

Optional min

+
min: number
+ +
+
+

minimum zoom level at which data from the TileLayer will be displayed.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the TileLayer.

+
+
+
+
+ +

Optional pointerEvents

+
pointerEvents: boolean
+ +
+
+

enable or disable pointer-event triggering for all features of all layers.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional provider

+
provider: TileProvider | { max: number; min: number; provider: TileProvider }[]
+ +
+
+

The data provider(s) for the TileLayer.

+
+

The provider can either be a single TileProvider or an array of {min: number, max: number, provider: TileProvider}, where "min" and "max" define the minimum and maximum zoom level at which data from the "provider" should be used. + If a single provider is defined, it's data will be used for all zoom levels. + If several providers are defined for a single zoom level, only the data of the first defined is used.

+
+
+
+ +

Optional style

+
style: LayerStyle
+ +
+
+

Style for rendering features in this layer.

+
+
+
+
+ +

Optional tileSize

+
tileSize: number
+ +
+
+

the size of the tile data in pixel.

+
+
+
defaultvalue
+

512

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.tileprovideroptions.html b/docs/interfaces/core.tileprovideroptions.html new file mode 100644 index 000000000..51af4b8e3 --- /dev/null +++ b/docs/interfaces/core.tileprovideroptions.html @@ -0,0 +1,230 @@ + + + + + + TileProviderOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TileProviderOptions

+
+
+
+
+
+
+
+
+
+

Options to configure the Provider.

+
+
+
+
+

Hierarchy

+ +
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional id

+
id: string
+ +
+
+

optional id to identify the provider.

+
+
+
+
+ +

Optional margin

+
margin: number
+ +
+
+

Tile margin of the provider.

+
+
+
+
+ +

Optional name

+
name: string
+ +
+
+

Name of the provider.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/core.verticallinestyle.html b/docs/interfaces/core.verticallinestyle.html new file mode 100644 index 000000000..3ef723a31 --- /dev/null +++ b/docs/interfaces/core.verticallinestyle.html @@ -0,0 +1,302 @@ + + + + + + VerticalLineStyle | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface VerticalLineStyle

+
+
+
+
+
+
+
+
+
+

Interface for configuring the visual appearance of VerticalLines.

+
+
+
+
+

Hierarchy

+
    +
  • + VerticalLineStyle +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional offsetZ

+
offsetZ: number | string | StyleValueFunction<number | string> | StyleZoomRange<number | string>
+ +
+
+

Offset the shape in pixels on z-axis. + A positive value offsets up, a negative value down. + The default unit is pixels.

+
+
+
example
+
// offset VerticalLine by 8px to the top.
+{ type: "VerticalLine", zIndex: 0, stoke: 'black', offsetZ: 8}
+
+// offset VerticalLine by 1m to the top
+{  type: "VerticalLine", zIndex: 0, stoke: 'black', offsetZ: "1m"}
+
+
+
+
+
+
+ +

Optional opacity

+
opacity: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Defines the opacity of the style. + The value must be between 0.0 (fully transparent) and 1.0 (fully opaque). + It is valid for all style types.

+
+
+
defaultvalue
+

1

+
+
+
+
+
+ +

Optional stroke

+ + +
+
+

Sets the stroke color of the shape.

+
+
+
see
+

Color for a detailed list of possible supported formats.

+
+
+
+
+
+ +

type

+
type: "VerticalLine"
+ +
+
+

Indicates type of the shape to render.

+
+
+
+
+ +

zIndex

+
zIndex: number | StyleValueFunction<number> | StyleZoomRange<number>
+ +
+
+

Indicates the drawing order within a layer. + Styles with larger zIndex value are rendered above those with smaller values. + The zIndex is defined relative to the "zLayer" property. + If "zLayer" is defined all zIndex values are relative to the "zLayer" value.

+
+
+
+
+ +

Optional zLayer

+
zLayer: number | StyleValueFunction<number>
+ +
+
+

Indicates drawing order across multiple layers. + Styles using zLayer with a high value are rendered on top of zLayers with a low value. + If no zLayer is defined the zLayer depends on the display layer order. + The first (lowest) layer has a zLayer value of 1.

+
+
+
example
+

{...zLayer: 2, zIndex: 5} will be rendered on top of {...zLayer: 1, zIndex: 10}

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/display.mapoptions.html b/docs/interfaces/display.mapoptions.html new file mode 100644 index 000000000..7c8a33975 --- /dev/null +++ b/docs/interfaces/display.mapoptions.html @@ -0,0 +1,570 @@ + + + + + + MapOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface MapOptions

+
+
+
+
+
+
+
+
+
+

Options to configure the map display.

+
+
+
+
+

Hierarchy

+
    +
  • + MapOptions +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional backgroundColor

+
backgroundColor: Color
+ +
+
+

The default background color of the map is white. + To achieve a transparent map background, you can set it to "rgba(0, 0, 0, 0)" or simply use the keyword "transparent".

+
+
+
defaultvalue
+

"white"

+
+
+
+
+
+ +

Optional behavior

+
behavior: { drag?: boolean; pitch?: boolean; rotate?: boolean; zoom?: true | false | "fixed" | "float" }
+ +
+
+

Behavior options of the map. + Allow user to "drag" / "rotate" / "pitch" or "zoom" the map by mouse/touch interaction.

+
+

"drag" / "rotate" and "pitch" are booleans indicating if user interaction is possible or not. + Possible values for "zoom" property are

+
+
+

Type declaration

+
    +
  • +
    Optional drag?: boolean
    +
    +
    +

    enable or disable dragging the map

    +
    +
    +
    defaultvalue
    +

    true

    +
    +
    +
    +
  • +
  • +
    Optional pitch?: boolean
    +
    +
    +

    enable or disable pitching the map

    +
    +
    +
    defaultvalue
    +

    false

    +
    +
    +
    +
  • +
  • +
    Optional rotate?: boolean
    +
    +
    +

    enable or disable rotating the map

    +
    +
    +
    defaultvalue
    +

    falses

    +
    +
    +
    +
  • +
  • +
    Optional zoom?: true | false | "fixed" | "float"
    +
    +
    +

    configure map zoom behavior:

    +
      +
    • false: disable zoom
    • +
    • true: enable zoom ("float")
    • +
    • "fixed": fixed zoom animation to next integer zoomlevel. floating zoomlevels are not allowed (eg 14.4)
    • +
    • "float": allow floating zoomlevels [default]
    • +
    +
    +
    +
    defaultvalue
    +

    'float'

    +
    +
    +
    +
  • +
+
+
+
+ +

Optional center

+
center: GeoPoint
+ +
+
+

Center coordinate of the map.

+
+
+
defaultvalue
+

{longitude: 8.534, latitude: 50.162}

+
+
+
+
+
+ +

Optional debug

+
debug: boolean
+ +
+
+

enable or disable debug tile grid

+
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional layers

+
layers: TileLayer[]
+ +
+
+

add layers to display.

+
+
+
+
+ +

Optional maxLevel

+
maxLevel: number
+ +
+
+

the maximum zoom level the map can be zoomed in

+
+
+
defaultvalue
+

20

+
+
+
+
+
+ +

Optional maxPitch

+
maxPitch: number
+ +
+
+

The maximum angle in degrees the map can be pitched

+
+
+
defaultvalue
+

50

+
+
+
+
+
+ +

Optional minLevel

+
minLevel: number
+ +
+
+

the minimum zoom level the map can be zoomed out

+
+
+
defaultvalue
+

2

+
+
+
+
+
+ +

Optional minPanMapThreshold

+
minPanMapThreshold: number
+ +
+
+

The minimum threshold in pixels to enable the pan map gesture.

+
+
+
defaultvalue
+

4

+
+
+
+
+
+ +

Optional minPitchMapThreshold

+
minPitchMapThreshold: number
+ +
+
+

The minimum threshold in pixels to enable the pitch map gesture.

+
+
+
defaultvalue
+

4

+
+
+
+
+
+ +

Optional minRotateMapThreshold

+
minRotateMapThreshold: number
+ +
+
+

The minimum threshold in pixels to enable the rotate map gesture.

+
+
+
defaultvalue
+

4

+
+
+
+
+
+ +

Optional pitch

+
pitch: number
+ +
+
+

initial pitch (tilt) of the map in degree.

+
+
+
defaultvalue
+

0

+
+
+
+
+
+ +

Optional rotate

+
rotate: number
+ +
+
+

initial rotation of the map in degree.

+
+
+
defaultvalue
+

0

+
+
+
+
+
+ +

Optional ui

+
ui: {}
+ +
+
+

Configure visibility and position of ui components

+
+
+
+

Type declaration

+
    +
+
+
+
+ +

Optional zoomAnimationMs

+
zoomAnimationMs: number
+ +
+
+

duration of a zoom level change animation in milliseconds.

+
+
+
defaultvalue
+

100

+
+
+
+
+
+ +

Optional zoomlevel

+
zoomlevel: number
+ +
+
+

zoomlevel of the map.

+
+
+
defaultvalue
+

18

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/editor.editorfeatureproperties.html b/docs/interfaces/editor.editorfeatureproperties.html new file mode 100644 index 000000000..4d30b950e --- /dev/null +++ b/docs/interfaces/editor.editorfeatureproperties.html @@ -0,0 +1,349 @@ + + + + + + EditorFeatureProperties | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface EditorFeatureProperties

+
+
+
+
+
+
+
+
+
+

The Editor Properties give a more detailed insight into the current state of the feature.

+
+
+
+
+

Hierarchy

+
    +
  • + EditorFeatureProperties +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

created

+
created: number | boolean
+ +
+
+

Creation timestamp of the feature, in milliseconds.

+
+
+
+
+ +

hovered

+
hovered: boolean
+ +
+
+

True if this feature is currently hovered, otherwise false.

+
+
+
+
+ +

modified

+
modified: number | boolean
+ +
+
+

Timestamp when the feature has been modified/updated, otherwise false.

+
+
+
+
+ +

removed

+
removed: number | boolean
+ +
+
+

Timestamp when the feature has been removed, otherwise false.

+
+
+
+
+ +

selected

+
selected: boolean
+ +
+
+

True if this feature is currently selected, otherwise false.

+
+
+
+
+ +

split

+
split: number | boolean
+ +
+
+

Timestamp when the feature has been split, otherwise false. + The property is on relevant for "Navlink" features.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/editor.editoroptions.html b/docs/interfaces/editor.editoroptions.html new file mode 100644 index 000000000..5e8b773de --- /dev/null +++ b/docs/interfaces/editor.editoroptions.html @@ -0,0 +1,596 @@ + + + + + + EditorOptions | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface EditorOptions

+
+
+
+
+
+
+
+
+
+

Options to configure the map editor (editor.Editor).

+
+
+
+
+

Hierarchy

+
    +
  • + EditorOptions +
  • +
+
+
+

Index

+
+ +
+
+
+

Properties

+
+ +

Optional disconnectShapeDistance

+
disconnectShapeDistance: number
+ +
+
+

The distance in meters between the two shape-points when two Navlink Features get disconnected.

+
+
+
defaultvalue
+

3

+
+
+
+
+
+ +

Optional editRestrictions

+
editRestrictions: (feature: Feature, restrictionMask: number) => boolean
+ +
+
+

Callback that's being called before certain edit-operations are executed. + A operation can be restricted or allowed, controlled by the respective return value.

+
+
+
param
+

the map feature

+
+
param
+

restrictionMask represents a bitmask for the desired edit operations. + 1 -> GEOMETRY CHANGE + 2 -> REMOVE

+
+
returns
+

true -> Allow operation(s) and execute edits. false -> forbid operation(s). No edit gets executed.

+
+
defaultvalue
+
+
+
+
+

Type declaration

+
    +
  • +
      +
    • (feature: Feature, restrictionMask: number): boolean
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        feature: Feature
        +
      • +
      • +
        restrictionMask: number
        +
      • +
      +

      Returns boolean

      +
    • +
    +
  • +
+
+
+
+ +

Optional featureSelectionByDefault

+
featureSelectionByDefault: boolean
+ +
+
+

Select a feature by default on tap/pointerup event.

+
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional geoFence

+
geoFence: number | false
+ +
+
+

Define the pixel radius of the area within a shape point of a Navlink Feature can be moved by mouse/touch interaction.

+
+
+
deprecated
+

geoFence not supported.

+
+
defaultvalue
+

false - deactivated by default.

+
+
+
+
+
+ +

Optional intersectionScale

+
intersectionScale: number
+ +
+
+

Defines the coordinate precision for the automatic intersection detection. + Number of decimal points of the WGS coordinates that must match.

+
+
+
defaultvalue
+

5

+
+
+
+
+
+ +

Optional keepFeatureSelection

+
keepFeatureSelection: string | boolean
+ +
+
+

Keep features selected after mapview-change or click on the "ground" of the map. + if set to false -> will be cleared after viewport change and click on ground. + if set to "viewportChange" -> will only be cleared on ground click. + if set to true -> no clear at all.

+
+
+
defaultvalue
+

"viewportChange"

+
+
+
+
+
+ +

Optional layers

+
layers: TileLayer[]
+ +
+
+

define the TileLayers that should be edited with the editor.Editor

+
+
+
+
+ +

Optional maxRoutingPointDistance

+
maxRoutingPointDistance: number
+ +
+
+

The maximum allowed distance of the "Routing Point" to the Address/Place itself in meters.

+
+
+
defaultvalue
+

1000 - 1000 meters

+
+
+
+
+
+ +

Optional routingPointPrecision

+
routingPointPrecision: number
+ +
+
+

The "routingPointPrecision" defines the number of decimal places of the position of a routing point when it is changed.

+
+
+
defaultvalue
+

5

+
+
+
+
+
+ +

Optional services

+
services: { reverseGeocoder?: { getISOCC?: any } }
+ +
+
+

Optional service settings.

+
+
+
+

Type declaration

+
    +
  • +
    Optional reverseGeocoder?: { getISOCC?: any }
    +
    +
    +

    define reverseGeocoder service/functionality to request the address for a geographical position.

    +
    +
    +
      +
    • +
      getISOCC: function
      +
        +
      • getISOCC(longitude: number, latitude: number, callback: (isoCC: string) => void): string | undefined
      • +
      +
        +
      • + +
        +
        +

        Get the iso country code for a geographical position. + If "getISOCC" is defined, the iso country code will be attached to all newly created features before sending to remote datasource.

        +
        +
        +
        example
        +
        {
        +    reverseGeocoder:
        +    {
        +        getISOCC(lon: number, lat: number, callback:(isocc:string)=>void){
        +            // do a reverse geocode request to get the isocc value
        +            const isocc = "theIsoCountryCode";
        +
        +            callback(isocc);
        +        }
        +    }
        +}
        +
        +
        +
        +
        +

        Parameters

        +
          +
        • +
          longitude: number
          +
        • +
        • +
          latitude: number
          +
        • +
        • +
          callback: (isoCC: string) => void
          +
            +
          • +
              +
            • (isoCC: string): void
            • +
            +
              +
            • +

              Parameters

              +
                +
              • +
                isoCC: string
                +
              • +
              +

              Returns void

              +
            • +
            +
          • +
          +
        • +
        +

        Returns string | undefined

        +
      • +
      +
    • +
    +
  • +
+
+
+
+ +

Optional snapTolerance

+
snapTolerance: number
+ +
+
+

The distance in meters between each of two coordinates/shape-points where snapping occurs. + Two coordinates/shape-points closer than this parameter will be joined to a single point.

+
+
+
defaultvalue
+

2

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/editor.featurecontainer.html b/docs/interfaces/editor.featurecontainer.html new file mode 100644 index 000000000..f94780df1 --- /dev/null +++ b/docs/interfaces/editor.featurecontainer.html @@ -0,0 +1,525 @@ + + + + + + FeatureContainer | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FeatureContainer

+
+
+
+
+
+
+
+
+
+

A FeatureContainer is a array-like collection of Features. + It enables editing operations to be carried out for all features of the FeatureContainer at the same time.

+
+
+
+
+

Hierarchy

+
    +
  • + FeatureContainer +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+

Methods

+ +
+
+
+
+
+

Properties

+
+ +

length

+
length: number
+ +
+
+

The number of features in the container

+
+
+
+
+ +

type

+
type: "CONTAINER"
+ +
+
+

The type of the container is 'CONTAINER'

+
+
+
+
+
+

Methods

+
+ +

forEach

+
    +
  • forEach(fnc: (feature: Feature, index: number) => void): any
  • +
+
    +
  • + +
    +
    +

    Executes a provided function once per container feature

    +
    +
    +

    Parameters

    +
      +
    • +
      fnc: (feature: Feature, index: number) => void
      +
      +

      function to be called for the objects in container

      +
      +
        +
      • +
          +
        • (feature: Feature, index: number): void
        • +
        +
          +
        • +

          Parameters

          +
            +
          • +
            feature: Feature
            +
          • +
          • +
            index: number
            +
          • +
          +

          Returns void

          +
        • +
        +
      • +
      +
    • +
    +

    Returns any

    +
  • +
+
+
+ +

highlight

+
    +
  • highlight(): any
  • +
+
    +
  • + +
    +
    +

    Highlights all features in the container

    +
    +
    +

    Returns any

    +
  • +
+
+
+ +

pop

+ +
    +
  • + +
    +
    +

    Pops out the last feature that has been added to the container

    +
    +
    +

    Returns Feature

    +

    the last added Feature

    +
  • +
+
+
+ +

push

+ +
    +
  • + +
    +
    +

    Add the given feature(s) to the container.

    +
    +
    +

    Parameters

    +
      +
    • +
      feature: Feature | Feature[]
      +
      +

      The feature(s) to add to the end of the container.

      +
      +
    • +
    • +
      Optional layer: TileLayer
      +
      +

      layer the feature(s) should be added.

      +
      +
    • +
    +

    Returns number

    +

    length of the containing features

    +
  • +
+
+
+ +

remove

+
    +
  • remove(): any
  • +
+
    +
  • + +
    +
    +

    Removes all features of the container from the map.

    +
    +
    +

    Returns any

    +
  • +
+
+
+ +

toArray

+ +
    +
  • + +
    +
    +

    Receive all Features of the Container as a native Array

    +
    +
    +

    Returns Feature[]

    +
  • +
+
+
+ +

transform

+
    +
  • transform(): any
  • +
+
    +
  • + +
    +
    +

    Enable the Transform Utility to allow easy geometry transformations (move/scale/rotate) of all the feature of the container by mouse/touch interaction.

    +
    +
    +

    Returns any

    +
  • +
+
+
+ +

unHighlight

+
    +
  • unHighlight(): any
  • +
+
    +
  • + +
    +
    +

    UnHighlight all features of the container

    +
    +
    +

    Returns any

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
  • Method
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/editor.featureproperties.html b/docs/interfaces/editor.featureproperties.html new file mode 100644 index 000000000..16a4811e8 --- /dev/null +++ b/docs/interfaces/editor.featureproperties.html @@ -0,0 +1,277 @@ + + + + + + FeatureProperties | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface FeatureProperties

+
+
+
+
+
+
+
+
+
+

The properties of a editable Features.

+
+
+
+
+

Hierarchy

+
    +
  • + FeatureProperties +
  • +
+
+
+

Indexable

+
[name: string]: any
+
+
+

generic key - value map / object literal.

+
+
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Readonly @ns:com:here:editor

+
@ns:com:here:editor: EditorFeatureProperties
+ +
+
+

Properties to indicate current state of this feature.

+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/editor.range.html b/docs/interfaces/editor.range.html new file mode 100644 index 000000000..86a143d70 --- /dev/null +++ b/docs/interfaces/editor.range.html @@ -0,0 +1,602 @@ + + + + + + Range | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface Range

+
+
+
+
+
+
+
+
+
+

A Range represents a part/subsegment on a line geometry or multiple line geometries. + It's used by the RangeSelector utility. editor.RangeSelector

+
+
+
+
+

Hierarchy

+
    +
  • + Range +
  • +
+
+
+

Index

+
+
+
+

Properties

+ +
+
+
+
+
+

Properties

+
+ +

Optional allowOverlap

+
allowOverlap: "L" | "R" | "B" | ("L" | "R" | "B")[] | true | false
+ +
+
+

Allow overlapping of ranges on the desired side(s).

+
+
    +
  • 'L' : allow overlapping with all Ranges on the left side.
  • +
  • 'R' : allow overlapping with all Ranges on the right side.
  • +
  • 'B' : allow overlapping with all Ranges on the both side.
  • +
  • true : allow overlapping with all Ranges regardless of its side, equals: ['L','R','B']
  • +
  • false : disabled, do not allow overlapping at all.
  • +
+
+
defaultvalue
+

true

+
+
+
+
+
+ +

Optional dragMove

+
dragMove: (event: EditorEvent) => void
+ +
+
+

Set an event listener that will be called when a range is dragged.

+
+
+
param
+

The respective event. + The Range is provided in the detail property of the event. (event.detail.range)

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional dragStart

+
dragStart: (event: EditorEvent) => void
+ +
+
+

Set an event listener that will be called when a range drag starts.

+
+
+
param
+

The respective event. + The Range is provided in the detail property of the event. (event.detail.range)

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional dragStop

+
dragStop: (event: EditorEvent) => void
+ +
+
+

Set an event listener that will be called when a range drag has been finished.

+
+
+
param
+

The respective event. + The Range is provided in the detail property of the event. (event.detail.range)

+
+
+
+
+

Type declaration

+ +
+
+
+ +

Optional from

+
from: number
+ +
+
+

Relative start position on the line geometry. + 0 -> 0% -> start, 0.5 -> 50% -> middle, 1 -> 100% -> end

+
+
+
defaultvalue
+

0.0

+
+
+
+
+
+ +

Optional id

+
id: string | number
+ +
+
+

Optional identifier of the Range

+
+
+
+
+ +

Optional locked

+
locked: boolean
+ +
+
+

lock the range and prevent dragging/editing of the Range.

+
+
+
+
+ +

Optional Readonly segments

+
segments: RangeSegment[]
+ +
+
+

A range can consist of several segments. + A Segment provides detailed information on the affected GeoJSONFeatures/Navlinks:

+
+
+
example
+
{
+ feature: GeoJSONFeature;
+ from: number;
+ to: number;
+ reversed: boolean;
+}
+
+
+
+
+
+
+ +

Optional side

+
side: "L" | "R" | "B"
+ +
+
+

Side of the Range. Relative to the direction of travel of the line geometry. + "L" | "R" | "B" -> Left, Right or Both sides.

+
+
+
defaultvalue
+

"B"

+
+
+
+
+
+ +

Optional snap

+
snap: "L" | "R" | "B" | ("L" | "R" | "B")[] | true | false
+ +
+
+

Automatically snap to Markers of Ranges on the desired side(s) within a given threshold.

+
+
    +
  • 'L' : snap to RangeMarkers on the left side
  • +
  • 'R' : snap to RangeMarkers on the right side
  • +
  • 'B' : snap to RangeMarkers on both sides.
  • +
  • true : snap to RangeMarkers regardless of its side, equals: ['L','R','B']
  • +
  • false : disabled, do not snap automatically.
  • +
+
+
defaultvalue
+

false

+
+
+
+
+
+ +

Optional snapTolerance

+
snapTolerance: number
+ +
+
+

The threshold in meters for automatic range snapping.

+
+
+
default
+

1 (meter)

+
+
+
+
+
+ +

Optional style

+
style: any
+ +
+
+

Apply custom styling of Range. + Objects of key value pairs.

+
+
+
+
+ +

Optional to

+
to: number
+ +
+
+

Relative end position on the line geometry. + 0.5 -> 50% -> middle, 1 -> 100% -> end

+
+
+
defaultvalue
+

1.0

+
+
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Property
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/interfaces/editor.turnrestrictioneditor.html b/docs/interfaces/editor.turnrestrictioneditor.html new file mode 100644 index 000000000..686da3e7f --- /dev/null +++ b/docs/interfaces/editor.turnrestrictioneditor.html @@ -0,0 +1,321 @@ + + + + + + TurnRestrictionEditor | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Interface TurnRestrictionEditor

+
+
+
+
+
+
+
+
+
+

The TurnRestrictionEditor allows to visualize and edit all TurnRestrictions of an intersection.

+
+
+
+
+

Hierarchy

+
    +
  • + TurnRestrictionEditor +
  • +
+
+
+

Index

+
+
+
+

Methods

+ +
+
+
+
+
+

Methods

+
+ +

hide

+
    +
  • hide(): any
  • +
+
    +
  • + +
    +
    +

    Hide all turn restrictions of the road intersection.

    +
    +
    +

    Returns any

    +
  • +
+
+
+ +

isActive

+
    +
  • isActive(): boolean
  • +
+
    +
  • + +
    +
    +

    Indicates if TurnRestrictionEditor are displayed and editing by user interaction is enabled.

    +
    +
    +

    Returns boolean

    +
  • +
+
+
+ +

show

+
    +
  • show(): any
  • +
+
    +
  • + +
    +
    +

    Show all turn restrictions of the road intersection.

    +
    +
    +

    Returns any

    +
  • +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
  • Method
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/modules/core.html b/docs/modules/core.html new file mode 100644 index 000000000..e231966f9 --- /dev/null +++ b/docs/modules/core.html @@ -0,0 +1,700 @@ + + + + + + core | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Package core

+
+
+
+
+
+
+
+
+ +

XYZ Maps JS: Core

+
+

XYZ Maps is an experimental and work in progress open-source map editor written in TypeScript/JavaScript. + The core module of XYZ Maps provides the most basic functionality and is used by all other modules of xyz-maps. + Main functionalities of the module are: DataProviders, TileLayers, Geometric Classes and Styling definitions.

+ +

Links

+
+ + +

Installation

+
+

Install XYZ Map Core by using

+
# install using npm
+npm install @here/xyz-maps-core
+
+

or

+
# install using yarn
+yarn add @here/xyz-maps-core
+
+ +

Example Usage:

+
+

Create a MVTLayer

+
import {MVTLayer} from '@here/xyz-maps-core';
+
+// create a MVT Layer
+const myLayer = new MVTLayer({
+    remote: {
+        url: 'https://xyz.api.here.com/tiles/osmbase/512/all/{z}/{x}/{y}.mvt?access_token=' + YOUR_ACCESS_TOKEN
+        tileSize : 512
+    },
+    min: 1,
+    max: 20
+})
+// and add it to the map display
+display.addLayer(myLayer);
+
+ +

Start developing

+
+
    +
  1. Install node module dependencies

    +
    yarn install
    +
    +

    In case yarn is not installed already: install yarn

    +
  2. +
  3. watch for source code changes and build dev version

    +
    yarn run watch-dev
    +
    +

    Builds are located in located in ./dist/

    +
  4. +
+ +

Other

+
+
    +
  • build dev version once yarn run build-dev (located in packages/*/dist/)

    +
  • +
  • build release version only yarn run build-release (minified...)

    +
  • +
+ +

License

+
+

Copyright (C) 2019-2022 HERE Europe B.V.

+

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details

+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

Color

+
Color: string | number | [number, number, number, number]
+ +
+
+

The Color is an RGBA color value representing RED, GREEN, and BLUE light sources with an optional alpha channel. + Colors can be specified in the following ways:

+
    +
  • CSS color names: "red"
  • +
  • RGB colors: "rgb(255,0,0)"
  • +
  • RGBA colors: "rgba(255,0,0,1.0)"
  • +
  • Hexadecimal colors: "#ff0000" | "#f00"
  • +
  • Hexadecimal colors with transparency: "#ff0000ff"
  • +
  • hexadecimal numbers: 0xff0000
  • +
  • RGBA Color Array: [1.0, 0.0, 0.0, 1.0]
  • +
+
+
+
+
+ +

GeoJSONBBox

+
GeoJSONBBox: [number, number, number, number]
+ +
+
+

Defines a geographical rectangle. + The values of a GeoJSONBBox array are "[west: number, south: number, east: number, north: number]"

+
+
+
+
+ +

GeoJSONCoordinate

+
GeoJSONCoordinate: number[]
+ +
+
+

A GeoJSON Geometry coordinate is a array of coordinates. + The array must contain two or three elements [longitude, latitude, altitude?] / [x, y, z?].

+
+
+
+
+ +

StyleValueFunction

+
StyleValueFunction<Type>: (feature: Feature, zoom: number) => Type | undefined
+ +
+
+

A StyleValueFunction is a function that returns the desired value for the respective style property. + It's especially useful for data driven styling.

+
+
+
param
+

the feature for which the style is to be obtained

+
+
param
+

the zoomlevel of the style

+
+
example
+
text: (feature, zoom) => feature.properties.name
+
+
+
+
+

Type parameters

+
    +
  • +

    Type

    +
  • +
+
+

Type declaration

+
    +
  • +
      +
    • (feature: Feature, zoom: number): Type | undefined
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        feature: Feature
        +
      • +
      • +
        zoom: number
        +
      • +
      +

      Returns Type | undefined

      +
    • +
    +
  • +
+
+
+
+ +

StyleZoomRange

+
StyleZoomRange<Type>: {}
+ +
+
+

A StyleZoomRange is a Map<number,any> with zoomlevel as its keys and the value for the respective Style Property at the respective zoomlevel. + Values for intermediate zoom levels are interpolated linearly.

+
+
+
example
+
strokeWidth: {
+    // 2px for zoomlevel 1 to 12
+    13: 2,  // 2px at zoomlevel 13
+    // 10px for zoomlevel 14 (linear interpolation)
+    15: 18, // 18px at zoomlevel 15
+    // 27px for zoomlevel 16 (linear interpolation)
+    17: 36  // 36px at zoomlevel 20
+    // 36px for zoomlevels 18 to 20
+}
+
+
+
+
+

Type parameters

+
    +
  • +

    Type

    +
  • +
+
+

Type declaration

+
    +
  • +
    [zoom: number]: Type
    +
  • +
+
+
+
+
+

Variables

+
+ +

Const webMercator

+
webMercator: { alt2z: alt2z; earthCircumference: earthCircumference; geoToPixel: geoToPixel; getGroundResolution: getGroundResolution; lat2y: lat2y; lon2x: lon2x; mapSizePixel: mapSizePixel; meterToPixel: meterToPixel; pixelToGeo: pixelToGeo; pixelToMeter: pixelToMeter; x2lon: x2lon; y2lat: y2lat } = webMercatorPrj
+ +
+
+

WebMercator projection utilities.

+
+
+
+

Type declaration

+
    +
  • +
    alt2z: alt2z
    +
  • +
  • +
    earthCircumference: earthCircumference
    +
  • +
  • +
    geoToPixel: geoToPixel
    +
  • +
  • +
    getGroundResolution: getGroundResolution
    +
  • +
  • +
    lat2y: lat2y
    +
  • +
  • +
    lon2x: lon2x
    +
  • +
  • +
    mapSizePixel: mapSizePixel
    +
  • +
  • +
    meterToPixel: meterToPixel
    +
  • +
  • +
    pixelToGeo: pixelToGeo
    +
  • +
  • +
    pixelToMeter: pixelToMeter
    +
  • +
  • +
    x2lon: x2lon
    +
  • +
  • +
    y2lat: y2lat
    +
  • +
+
+
+
+
+

Object literals

+
+ +

Const build

+
build: object
+ +
+
+

Detailed Information about the build.

+
+
+
+ +

name

+
name: string = "xyz-maps"
+ +
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/modules/display.html b/docs/modules/display.html new file mode 100644 index 000000000..0bf0d3639 --- /dev/null +++ b/docs/modules/display.html @@ -0,0 +1,238 @@ + + + + + + display | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Package display

+
+
+
+
+
+
+
+
+ +

XYZ Maps JS: Display

+
+

XYZ Maps is an experimental and work in progress open-source map editor written in TypeScript/JavaScript. + The display module of XYZ Maps is a highly customizable vector map display that's optimized for map + editing, larger raw datasets and frequently changing data.

+ +

Links

+
+ + +

Installation

+
+

Install XYZ Map Display by using

+
# install using npm
+npm install @here/xyz-maps-display
+
+

or

+
# install using yarn
+yarn add @here/xyz-maps-display
+
+ +

Example Usage:

+
+

Create a map display

+
import MapDisplay from '@here/xyz-maps-display';
+
+const display = new MapDisplay( mapDiv, {
+    zoomLevel : 18,
+    center: {
+        longitude: 8.53422,
+        latitude: 50.16212
+    },
+    // add layers to the display
+    layers: layerSetup
+});
+
+ +

Start developing

+
+
    +
  1. Install node module dependencies

    +
    yarn install
    +
    +

    In case yarn is not installed already: install yarn

    +
  2. +
  3. watch for source code changes and build dev version

    +
    yarn run watch-dev
    +
    +

    Builds are located in located in ./dist/

    +
  4. +
+ +

Other

+
+
    +
  • build dev version once yarn run build-dev (located in packages/*/dist/)

    +
  • +
  • build release version only yarn run build-release (minified...)

    +
  • +
+ +

Contributing

+
+

Your contributions are always welcome! Please have a look at the contribution guidelines first.

+ +

License

+
+

Copyright (C) 2019-2022 HERE Europe B.V.

+

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details

+
+
+
+

Index

+
+
+
+

Classes

+ +
+
+

Interfaces

+ +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/docs/modules/editor.html b/docs/modules/editor.html new file mode 100644 index 000000000..4fd67b86e --- /dev/null +++ b/docs/modules/editor.html @@ -0,0 +1,624 @@ + + + + + + editor | XYZ Maps Documentation + + + + + +
+
+
+
+ +
+
+ Options +
+
+ All +
    +
  • Public
  • +
  • Public/Protected
  • +
  • All
  • +
+
+ + +
+
+ Menu +
+
+
+
+
+
+ +

Package editor

+
+
+
+
+
+
+
+
+ +

XYZ Maps JS: Editor

+
+

XYZ Maps is an experimental and work in progress open-source map editor written in TypeScript/JavaScript. + The editor module provides an API for editing map data that can be used to easily access, add, remove and edit various types of map data. + Changes can be automatically synchronized with various remote backends services.

+ +

Links

+
+ + +

Installation

+
+

Install XYZ Map Editor by using

+
# install using npm
+npm install @here/xyz-maps-editor
+
+

or

+
# install using yarn
+yarn add @here/xyz-maps-editor
+
+ +

Example Usage:

+
+

Create a map editor

+
import MapDisplay from '@here/xyz-maps-display';
+import {Editor} from '@here/xyz-maps-editor';
+
+const map = new MapDisplay( display, {
+    zoomLevel : 18,
+    center: {
+        longitude: 8.53422,
+        latitude: 50.16212
+    },
+    // add layers to the display
+    layers: layerSetup
+});
+
+const editor = new Editor( map, {
+    // add the layers that should be edited
+    layers: layerSetup
+});
+
+ +

Start developing

+
+
    +
  1. Install node module dependencies

    +
    yarn install
    +
    +

    In case yarn is not installed already: install yarn

    +
  2. +
  3. watch for source code changes and build dev version

    +
    yarn run watch-dev
    +
    +

    Builds are located in located in ./dist/

    +
  4. +
+ +

Other

+
+
    +
  • build dev version once yarn run build-dev (located in packages/*/dist/)

    +
  • +
  • build release version only yarn run build-release (minified...)

    +
  • +
+ +

License

+
+

Copyright (C) 2019-2022 HERE Europe B.V.

+

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details

+
+
+
+

Index

+
+ +
+
+
+

Type aliases

+
+ +

CoordinatesUpdateHook

+
CoordinatesUpdateHook: (data: { feature: Feature; previousCoordinates: GeoJSONCoordinate | GeoJSONCoordinate[] | GeoJSONCoordinate[][] | GeoJSONCoordinate[][][] }) => void
+ +
+
+

The CoordinatesUpdateHook will be called whenever the coordinates of a feature are added, updated or removed ('Coordinates.update' operation).

+
+
+
+

Type declaration

+ +
+
+
+ +

EditorEventTypes

+
EditorEventTypes: "tap" | "dbltap" | "pointerup" | "pointerdown" | "pointerenter" | "pointerleave" | "featureUnselected" | "error" | "dragStart" | "dragStop"
+ +
+
+

The Possible types of an EditorEvent

+
+
+
+
+ +

FeatureRemoveHook

+
FeatureRemoveHook: (data: { feature: Feature }) => void
+ +
+
+

The FeatureRemoveHook will be called when a feature is being removed ('Feature.remove' operation).

+
+
+
+

Type declaration

+
    +
  • +
      +
    • (data: { feature: Feature }): void
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        data: { feature: Feature }
        +
          +
        • +
          feature: Feature
          +
          +
          +

          the feature that is going to be removed

          +
          +
          +
        • +
        +
      • +
      +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

NavlinkDisconnectHook

+
NavlinkDisconnectHook: (data: { index: number; link: Navlink }) => void
+ +
+
+

The NavlinkDisconnectHook is called whenever a Navlink is disconnected from an intersection ('Navlink.disconnect' operation).

+
+
+
+

Type declaration

+
    +
  • +
      +
    • (data: { index: number; link: Navlink }): void
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        data: { index: number; link: Navlink }
        +
          +
        • +
          index: number
          +
          +
          +

          The index of the coordinate that will be offset to "disconnect" the Navlink from the intersection

          +
          +
          +
        • +
        • +
          link: Navlink
          +
          +
          +

          The Navlink that will be "disconnected" from the intersection

          +
          +
          +
        • +
        +
      • +
      +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

NavlinkSplitHook

+
NavlinkSplitHook: (data: { children: [Navlink, Navlink]; index: number; link: Navlink; relativePosition: number }) => void
+ +
+
+

The NavlinkSplitHook is called whenever a Navlink is devided into two new Navlinks. ('Navlink.split' operation).

+
+
+
+

Type declaration

+
    +
  • +
      +
    • (data: { children: [Navlink, Navlink]; index: number; link: Navlink; relativePosition: number }): void
    • +
    +
      +
    • +

      Parameters

      +
        +
      • +
        data: { children: [Navlink, Navlink]; index: number; link: Navlink; relativePosition: number }
        +
          +
        • +
          children: [Navlink, Navlink]
          +
          +
          +

          The two newly created Navlinks that are replacing the original Navlink.

          +
          +
          +
        • +
        • +
          index: number
          +
          +
          +

          The index of the coordinate in which the split takes place and the new navlinks are connected to one another.

          +
          +
          +
        • +
        • +
          link: Navlink
          +
          +
          +

          The Navlink that will be split.

          +
          +
          +
        • +
        • +
          relativePosition: number
          +
          +
          +

          The relative position on the Navlink's geometry where the split happened. + The range of values is from 0.0 to 1.0, where 0 represents the position on the first and 1 on the last coordinate.

          +
          +
          +
        • +
        +
      • +
      +

      Returns void

      +
    • +
    +
  • +
+
+
+
+ +

RangeSegment

+
RangeSegment: { feature: GeoJSONFeature | Navlink; from: number; reversed: boolean; to: number }
+ +
+
+

A RangeSegment is the part of a "Range" that's located at a specific LineString geometry or Navlink feature.

+
+
+
+

Type declaration

+
    +
  • +
    feature: GeoJSONFeature | Navlink
    +
    +
    +

    The GeoJSONFeature or Navlink the RangeSegment is located at.

    +
    +
    +
  • +
  • +
    from: number
    +
    +
    +

    Relative start position on the geometry of the Navlink. + 0 -> 0% -> start, 0.5 -> 50% -> middle, 1 -> 100% -> end

    +
    +
    +
  • +
  • +
    reversed: boolean
    +
    +
    +

    The indicates if the direction of travel of the Navlink is in reverse order, compared to the direction of travel of the first Navlink that's has been added of the RangeSelector.

    +
    +
    +
  • +
  • +
    to: number
    +
    +
    +

    Relative end position on the geometry of the Navlink. + 0.5 -> 50% -> middle, 1 -> 100% -> end

    +
    +
    +
  • +
+
+
+
+
+ +
+
+
+
+

Legend

+
+
    +
  • Object literal
  • +
  • Variable
  • +
  • Type alias
  • +
  • Type alias with type parameter
  • +
+
    +
  • Interface
  • +
  • Interface with type parameter
  • +
+
    +
  • Class
  • +
  • Class with type parameter
  • +
+
+
+
+
+

Generated using TypeDoc

+
+
+ + + \ No newline at end of file diff --git a/playground/assets/icon/favicon.png b/playground/assets/icon/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..83cec43890ea9735fb852d39c02dbb21e5615a9e GIT binary patch literal 1971 zcmV;k2Tb^hP)EfUvj45Fg0Ml4>oOaNZs2JqUqA)E~q0j|{4RB`soWpTn# zEtXvTMEvl=8F8rUhPYH-CNeTI1Yie>fy~DVERFD81MC7`R;$(8KkRy!v>7ufwB2WG zW;WYzl~dc@1%Or+!cxr`y6YQRzv>Mv7K<4;53B{chY|=H;=Ka+E%2UPE}ye<&6?0Z zAJ|Xj=n#&ZTd?={vv6E8;fi2NE$smGc)eVA*bp%~wy#}}HcA~{UV1IV=kqNEbifrr zJPyD@;1IAhZ{9r3ky9s8WM#0gwFy&i4*-4yQA!na#>R7|uYOg0IvY8K;vMs!7WG!b_4q4$&#eaTee8Oz|{^jF0TiGW~YP7P7CKv&73ecaMjXA zgWZNwCMPaz6bs@KY43H>;&KKAPzD8&6El{XSyN~=8kLomm3M&s0P?|(R;yJiy4!@! z?`2zNHWqiU*k!mSJs6aoPY8?-J4T0{^QLCBsu13ul*Q(ZY5d!CkA1b(xP3kVRB}1_ z<5R@=@Ca#J$tBdmN;*0^WP>%o_VAV6bJ{svS52#0UF^!5PKmKeT2y$Hf7aa&xIQ2NKx&kZ1>=(WsKJ26>6G^7 ze3y-BnL;jmbcqmx6UGMClzfI#lGv@E$t_beXPWBRJS&gA-~Yi-G6YTwFuCl=WilqJ zHB?yIG1#n3(L_ssn=zLw_uKfO!GM2||H6bM@?xIhY-1hOrWRID$&p4YRR9#$8=f4X zyRVNHhn>mVXeuo2c>I2@ciu;?P!OwBiUTv|N~c?m^!a_f6dTXA)@BY=RkC*KbabI% z6d0;dhlDUQE|I@i-y9NP$QA%pTP=(U4M!Ie3c$RCBxa3Gpv&Wt3Yuzp@tFitRAJ0L zdXV@?HQQ#-=Z3kB><{;_?))drj7#Lm7q_tY_dR(90BXBBnV*ovBuzAy9v4}Hq zsypxF6N3BhUJ7cfX?Hq!zw#QtDZWTa>pcM0OvxcUIGDXR%Z8H}9-z=;Z##CKJmyeol}GQEFrP-`Dt7QhEMoM^dAx+anxvLk4@l#yO+W{^~hy1Qq-Ce1Fp)NhTH4q zQ1y)g0ZHOVY3b-=<3VTxdWGC7N5 zhAO(;z35}(xcvGr`0$m*EJ%8mC{-xpp$$A3Kwey2OiO7wb0V~uoDNRkX`tiFA*9-B zAuc?EC{@Ui04pYC5~);CP*cUOyq73?J)hX{QEd9`EYGRJh%Z+Km!psc zv9t6FZkLM}BX#`x&9^AKR^|b|0Dcvy0-po3feke^HHNvlx#Hc8o0u0G$)pH1Zm*X{ zTNjfwx`5fgkT8xkZ8R#moD0S#Hk>=n>_{!fV<*YW&Y|pDSq-oim#_y}P{@L~+Io*S&z&a1<0Gl5g$3EuIehS-SqSkF zkOS<1ubp8-PQ@PJQ{aTp=bLb~xOmLR$B(OW(=&+HMbqi?(C71!92rGLTMJbdGd*4p zX(8dHdtvqR*Ems7;OOt~{~TD%!1Ocpf$$i%04N3e^m@H0si+X=>kQ(i#Vp?Vv{1bL zuT$bu#dVSU!YuJ6d?m2xX#@kA4A=fyXf(ZAt=0v!0mt}1-;&c9xTyXInEXwH{1@Af^w8EgY;phq002ovPDHLk FV1oG+sU!dZ literal 0 HcmV?d00001 diff --git a/playground/assets/icon/logo.svg b/playground/assets/icon/logo.svg new file mode 100644 index 000000000..891ba6187 --- /dev/null +++ b/playground/assets/icon/logo.svg @@ -0,0 +1,13 @@ + + + + Group 3 + Created with Sketch. + + + + + + + + \ No newline at end of file diff --git a/playground/examples/display/add_remove_layer.html b/playground/examples/display/add_remove_layer.html new file mode 100644 index 000000000..ebe8d86cc --- /dev/null +++ b/playground/examples/display/add_remove_layer.html @@ -0,0 +1,39 @@ + + + + + XYZ Maps Example: Add and remove Layers + + + +
+ Add MyLines + Add MyPlaces + + diff --git a/playground/examples/display/add_remove_layer.ts b/playground/examples/display/add_remove_layer.ts new file mode 100644 index 000000000..0e80c17a1 --- /dev/null +++ b/playground/examples/display/add_remove_layer.ts @@ -0,0 +1,88 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +// configure layers +var layers = [ + new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) +]; +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.226136, latitude: 37.777699 + }, + + // add layers to display + layers: layers +}); +/** **/ + +// Create a TileLayer with my line data +var myNavlinkLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) +}); + +// Create a TileLayer with my place data +var myPlaceLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) +}); + +let navlinkLayerAdded = false; + +// add a onclick event handler to the myLinesButton +let lineButton = document.querySelector('#myLinesButton'); +lineButton.onclick = function() { + if (!navlinkLayerAdded) { + display.addLayer(myNavlinkLayer); + lineButton.innerText = 'Remove MyLines'; + navlinkLayerAdded = true; + } else { + display.removeLayer(myNavlinkLayer); + lineButton.innerText = 'Add MyLines'; + navlinkLayerAdded = false; + } +}; + +let placeLayerAdded = false; +// add a onclick event handler to the myPlacesButton +let placeButton = document.querySelector('#myPlacesButton'); +placeButton.onclick = function() { + if (!placeLayerAdded) { + display.addLayer(myPlaceLayer); + + placeButton.innerText = 'Remove MyPlaces'; + + placeLayerAdded = true; + } else { + display.removeLayer(myPlaceLayer); + + placeButton.innerText = 'Add MyPlaces'; + + placeLayerAdded = false; + } +}; + diff --git a/playground/examples/display/animate_road.html b/playground/examples/display/animate_road.html new file mode 100644 index 000000000..276f42335 --- /dev/null +++ b/playground/examples/display/animate_road.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Animate a Road + + + +
+ + diff --git a/playground/examples/display/animate_road.ts b/playground/examples/display/animate_road.ts new file mode 100644 index 000000000..ca235a350 --- /dev/null +++ b/playground/examples/display/animate_road.ts @@ -0,0 +1,67 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let myLayer = new TileLayer({ + min: 2, + max: 20, + provider: new SpaceProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 2 + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 15, + center: { + longitude: -122.366168, latitude: 37.814324 + }, + + // add layers to display + layers: [backgroundLayer, myLayer] +}); +/** **/ + +let startTs; + +const startAnimation = (e) => { + // get the line we want to animate + let line = myLayer.search('zyrABIMLWLaSHIkz'); + + myLayer.setStyleGroup(line, [{ + zIndex: 1, + type: 'Line', + stroke: 'blue', + strokeWidth: 8, + from: 0.0, + to: (feature) => { + let duration = 10_000; + let now = Date.now(); + let elapsed = (now - startTs) % duration; + return elapsed / duration; + } + }]); + + startTs = Date.now(); + animationLoop(); + + myLayer.removeEventListener('viewportReady', startAnimation); +}; + +// when the layer is ready we start the animation +myLayer.addEventListener('viewportReady', startAnimation); + +const animationLoop = () => { + display.refresh(myLayer); + requestAnimationFrame(animationLoop); +}; diff --git a/playground/examples/display/behavior_set.html b/playground/examples/display/behavior_set.html new file mode 100644 index 000000000..30e5e2585 --- /dev/null +++ b/playground/examples/display/behavior_set.html @@ -0,0 +1,51 @@ + + + + + XYZ Maps Example: Change the map behavior settings + + + + +
+
+ + Disable Drag + Disable Zoom + Enable Pitch + + diff --git a/playground/examples/display/behavior_set.ts b/playground/examples/display/behavior_set.ts new file mode 100644 index 000000000..d4f412412 --- /dev/null +++ b/playground/examples/display/behavior_set.ts @@ -0,0 +1,80 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.48024, latitude: 37.77326 + }, + // add layers to the display + layers: [ + new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) + ] +}); +/** **/ + +let dragButton = document.querySelector('#drag'); +let zoomButton = document.querySelector('#zoom'); +let pitchButton = document.querySelector('#pitch'); +let infoElement = document.querySelector('#info'); + + +let currentBehavior; + +const showMapBehavior = () => { + // get the current behavior settings. + currentBehavior = display.getBehavior(); + // and display it in the infoElement + infoElement.innerText = 'Current Behavior settings:' + JSON.stringify(currentBehavior, undefined, 4); +}; + +showMapBehavior(); + + +// click the drag button to toggle the "drag" behavior setting. +// when drag is set to true, dragging the map by user interaction is allowed, otherwise false. +dragButton.onclick = function() { + // toggle drag behavior setting + display.setBehavior('drag', !currentBehavior.drag); + + // display the updated behavior settings + showMapBehavior(); + + // update the button text + dragButton.innerText = currentBehavior.drag ? 'Disable Drag' : 'Enable Drag'; +}; + +// click the zoom button to toggle the "zoom" behavior setting. +// when zoom is set to true, changing the map zoom by user interaction is allowed, otherwise false. +zoomButton.onclick = function() { + // toggle zoom behavior setting + display.setBehavior('zoom', !currentBehavior.zoom); + + // display the updated behavior settings + showMapBehavior(); + + // update the button text + zoomButton.innerText = currentBehavior.zoom ? 'Disable Zoom' : 'Enable Zoom'; +}; + + +// click the zoom button to toggle the "pitch" behavior setting. +// when pitch is set to true, pitching the map zoom by user interaction is allowed, otherwise false. +pitchButton.onclick = function() { + // toggle pitch behavior setting + display.setBehavior('pitch', !currentBehavior.pitch); + + // display the updated behavior settings + showMapBehavior(); + + // update the button text + pitchButton.innerText = currentBehavior.pitch ? 'Disable Pitch' : 'Enable Pitch'; +}; diff --git a/playground/examples/display/click_feature_show_properties.html b/playground/examples/display/click_feature_show_properties.html new file mode 100644 index 000000000..4ae11e281 --- /dev/null +++ b/playground/examples/display/click_feature_show_properties.html @@ -0,0 +1,30 @@ + + + + + XYZ Maps Example: Show Feature Properties on click + + + +
+
No feature is clicked!
+ + diff --git a/playground/examples/display/click_feature_show_properties.ts b/playground/examples/display/click_feature_show_properties.ts new file mode 100644 index 000000000..48c06a472 --- /dev/null +++ b/playground/examples/display/click_feature_show_properties.ts @@ -0,0 +1,66 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +var layers = [ + new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }), + new TileLayer({ + name: 'myLayer', + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) + }), + new TileLayer({ + name: 'mySecondLayer', + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) + }) +]; +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.227791, + latitude: 37.781058 + }, + + // add layers to display + layers: layers +}); +/** **/ + +const infoElement = document.querySelector('#info'); + +// create a pointerup event listener and add it to the display +display.addEventListener('pointerup', function(ev) { + // Click on a feature + if (ev.target) { + var properties = ev.target.properties; + + // update the info element with the properties of the feature + infoElement.innerText = JSON.stringify(properties, undefined, 4); + } else { + // in case no feature hast been clicked, we clear the info element + infoElement.innerText = 'No feature is clicked!'; + } +}); diff --git a/playground/examples/display/click_feature_to_center_map.html b/playground/examples/display/click_feature_to_center_map.html new file mode 100644 index 000000000..748514633 --- /dev/null +++ b/playground/examples/display/click_feature_to_center_map.html @@ -0,0 +1,31 @@ + + + + + XYZ Maps Example: Center the map on a selected feature + + + +
+
Click on a feature to center the map
+ + diff --git a/playground/examples/display/click_feature_to_center_map.ts b/playground/examples/display/click_feature_to_center_map.ts new file mode 100644 index 000000000..3f038b796 --- /dev/null +++ b/playground/examples/display/click_feature_to_center_map.ts @@ -0,0 +1,76 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +var myLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }), + style: { + styleGroups: { + myStyle: [{ + zIndex: 2, + type: 'Circle', + radius: 12, + strokeWidth: 2, + stroke: '#FFFFFF', + fill: '#1188DD' + }] + }, + assign: function(feature) { + return 'myStyle'; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.227791, latitude: 37.781058 + }, + // add layers to display + layers: [ + new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }), + myLayer + ] +}); + +/** **/ + +let selectedFeature; + +// create a pointerup event listener and add it to the display +display.addEventListener('pointerup', (ev) => { + // check if a feature has been clicked + if (ev.target) { + // in case a feature has already been highlighted by a previous click, we reset it's style + if (selectedFeature) { + myLayer.setStyleGroup(selectedFeature); + } + const bbox = ev.target.bbox; + // center the map on the feature ( center of features bounding box ) + display.setCenter((bbox[0] + bbox[2]) / 2, (bbox[1] + bbox[3]) / 2); + + selectedFeature = ev.target; + // highlight the feature + myLayer.setStyleGroup(selectedFeature, [ + {'zIndex': 2, 'type': 'Circle', 'radius': 12, 'strokeWidth': 2, 'stroke': '#FFFFFF', 'fill': '#DD8811'} + ]); + } +}); + + diff --git a/playground/examples/display/click_highlight_line.html b/playground/examples/display/click_highlight_line.html new file mode 100644 index 000000000..f9bb59ca6 --- /dev/null +++ b/playground/examples/display/click_highlight_line.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Highlight a Line on click + + + +
+ + diff --git a/playground/examples/display/click_highlight_line.ts b/playground/examples/display/click_highlight_line.ts new file mode 100644 index 000000000..d4128958f --- /dev/null +++ b/playground/examples/display/click_highlight_line.ts @@ -0,0 +1,66 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const backgroundLayer = new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +const spaceLayer = new TileLayer({ + name: 'myLayer', + min: 14, + max: 20, + provider: new SpaceProvider({ + name: 'SpaceProvider', + level: 14, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.254537, latitude: 37.796982 + }, + + // add layers to display + layers: [backgroundLayer, spaceLayer] +}); +/** **/ + +let clickedFeature; +// the style to highlight the clicked line +const selectedStyle = [{ + zIndex: 0, + type: 'Line', + opacity: 0.7, + strokeWidth: 16, + stroke: '#FFFFFF' +}]; + + +// add an pointerup event listener to the map +display.addEventListener('pointerup', (ev)=>{ + // make sure to restore the default style of the previously clicked feature + if (clickedFeature) { + spaceLayer.setStyleGroup(clickedFeature); + } + + // If a feature is clicked + if (ev.target) { + clickedFeature = ev.target; + + // Set new feature style if mouse clicks on a feature + spaceLayer.setStyleGroup(clickedFeature, selectedStyle); + } +}); + + diff --git a/playground/examples/display/custom_layer.html b/playground/examples/display/custom_layer.html new file mode 100644 index 000000000..c77a58cd3 --- /dev/null +++ b/playground/examples/display/custom_layer.html @@ -0,0 +1,23 @@ + + + + + XYZ Maps Example: Custom Layer + + + + + + +
+ + diff --git a/playground/examples/display/custom_layer.ts b/playground/examples/display/custom_layer.ts new file mode 100644 index 000000000..46f67b1e9 --- /dev/null +++ b/playground/examples/display/custom_layer.ts @@ -0,0 +1,230 @@ +import {MVTLayer, CustomLayer, webMercator} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + + +/** setup the map and "basemap" layer **/ +const baseMapLayer = new MVTLayer({ + name: 'mvt-world-layer', + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + }, + style: { + backgroundColor: '#ECE0CA', + + styleGroups: { + 'landuse': [{zIndex: 0, type: 'Polygon', fill: '#ECE0CA'}], + 'pier': [{zIndex: 1, type: 'Polygon', fill: '#ECE0CA', stroke: '#c8b89d', strokeWidth: 2}], + 'park': [{zIndex: 1, type: 'Polygon', fill: '#c8dd97'}], + 'nature_reserve': [{zIndex: 1, type: 'Polygon', fill: '#dadeb0'}], + 'hospital': [{zIndex: 1, type: 'Polygon', fill: '#f3d3d3'}], + 'water': [{zIndex: 2, type: 'Polygon', fill: 'rgb(120,188,237)'}], + 'path': [{zIndex: 3, type: 'Line', stroke: '#c8b89d', strokeWidth: '1m'}], + 'tunnel': [{zIndex: 3, type: 'Line', stroke: '#ffffff', strokeWidth: {15: 4, 20: 16}, strokeDasharray: [4, 4]}], + 'ferry': [{zIndex: 4, type: 'Line', stroke: '#164ac8', strokeWidth: 1}], + 'highway': [{zIndex: 5, type: 'Line', stroke: 'white', repeat: 128, strokeWidth: {10: 1.5, 15: 4, 16: '12m'}}], + 'boundaries': [{zIndex: 6, type: 'Line', stroke: '#b3b1ad', strokeWidth: {10: 0.5, 20: 2}}], + 'buildings': [{ + zIndex: 7, type: 'Polygon', fill: 'rgba(170,170,170,0.7)', stroke: 'rgba(30,30,30,0.7)', + // define extrude in meters to display polygons with extrusion + extrude: (feature) => feature.properties.height || 0, + // define the base of the extrusion in meters offset from the ground + extrudeBase: (feature) => feature.properties.min_height || 0 + }], + 'roads': [{zIndex: 4, type: 'Line', stroke: '#ffffff', strokeWidth: {15: 1, 16: '5m'}}, { + zIndex: 6, type: 'Text', fill: '#222222', + font: '12px sans-serif', + strokeWidth: 4, + stroke: 'white', text: (f) => f.properties.name, + // Minimum distance in pixel between repeated text labels on line geometries. + // Applies per tile only. Default is 256 pixel. + repeat: 128, + // Alignment for Text. "map" aligns to the plane of the map. + alignment: 'map', + // Text with a higher priority (lower value) will be drawn before lower priorities (higher value) + // make sure "road labels" are drawn after "place labels". + priority: 2 + }], + 'places': [{ + zIndex: 8, + type: 'Text', + text: (f) => f.properties.name, + stroke: 'black', + fill: 'white', + font: '18px sans-serif', + strokeWidth: 4, + // set collide property to false to enable label collision detection [default] + collide: false, + // Alignment for Text. "viewport" aligns to the plane of the viewport/screen. + alignment: 'viewport', + // Text with a higher priority (lower value) will be drawn before lower priorities (higher value) + // In case of "place label" and "road label" are colliding "place label" will be draw + // because priority 1 is smaller than priority 2 + priority: 1 + }] + }, + + assign: (feature, zoom) => { + const props = feature.properties; + const kind = props.kind; + const layer = props.$layer; // the name of the layer in the mvt datasource. + const geom = feature.geometry.type; + + if (layer == 'landuse') { + switch (kind) { + case 'pier': + return 'pier'; + case 'nature_reserve': + return 'nature_reserve'; + case 'park': + case 'garden': + case 'pedestrian': + case 'forrest': + return 'park'; + case 'hospital': + return 'hospital'; + default: + return 'landuse'; + } + } + + if (layer == 'water') { + if (geom == 'LineString' || geom == 'MultiLineString') { + return; + } + } else if (layer == 'roads') { + if (kind == 'rail' || kind == 'ferry') { + return; + } + if (props.is_tunnel && zoom > 13) { + return 'tunnel'; + } + if (kind == 'highway' || kind == 'path') { + return kind; + } + } + return layer; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: {longitude: -80.62089, latitude: 28.627275}, + behavior: { + // allow map pitch by user interaction (mouse/touch) + pitch: true, + // allow map rotation by user interaction (mouse/touch) + rotate: true + }, + // set initial map pitch in degrees + pitch: 50, + // set initial map rotation in degrees + rotate: 30, + + layers: [baseMapLayer] +}); + +declare const THREE: any; +/** **/ + +const mapCenter = display.getCenter(); + +// place the model in the center of the map +const modelPosition = [mapCenter.longitude, mapCenter.latitude, 0]; + +// project to webMercator coordinates with a world size of 1. +const modelPositionProjected = { + x: webMercator.lon2x(modelPosition[0], 1), + y: webMercator.lat2y(modelPosition[1], 1), + z: webMercator.alt2z(modelPosition[2], modelPosition[1]) +}; +// get the scale to convert from meters to pixel in webMercator space +const scaleMeterToPixel = 1 / webMercator.earthCircumference(mapCenter.latitude); + +// transform the model to fit map +const modelTransformation = { + translateX: modelPositionProjected.x, + translateY: modelPositionProjected.y, + translateZ: modelPositionProjected.z, + rotateX: Math.PI / 2, + scale: scaleMeterToPixel +}; + + +// Use Threejs as an example of a custom renderer that's being integrated into the map by using the "CustomLayer" functionality. +class MyCustomLayer extends CustomLayer { + min = 10; + max = 20; + + renderOptions = { + mode: '3d', + zLayer: 1, + zIndex: 7 + }; + + onLayerAdd(ev) { + const {detail} = ev; + const {canvas, context} = detail; + + this.camera = new THREE.Camera(); + this.scene = new THREE.Scene(); + + // load the model + const loader = new THREE.GLTFLoader(); + loader.load( + 'https://xyz-maps.mapeditor.here.com/playground/assets/models/ML_HP/ML_HP.gltf', + (gltf) =>{ + this.scene.add(gltf.scene); + display.refresh(this); + } + ); + + // Use two Directional lights to illuminate the model + const light1 = new THREE.DirectionalLight(0xffffff); + light1.position.set(200, 150, 50); + this.scene.add(light1); + + const light2 = new THREE.DirectionalLight(0xffffff); + this.scene.add(light2); + + this.renderer = new THREE.WebGLRenderer({canvas, context}); + this.renderer.autoClear = false; + }; + + render(context: WebGLRenderingContext, matrix) { + const rotX = new THREE.Matrix4().makeRotationAxis( + new THREE.Vector3(1, 0, 0), + modelTransformation.rotateX + ); + + const modelMatrix = new THREE.Matrix4() + .makeTranslation( + modelTransformation.translateX, + modelTransformation.translateY, + modelTransformation.translateZ + ) + .scale( + new THREE.Vector3( + modelTransformation.scale, + -modelTransformation.scale, + modelTransformation.scale + ) + ) + .multiply(rotX); + + + this.camera.projectionMatrix = new THREE.Matrix4().fromArray(matrix).multiply(modelMatrix); + this.renderer.resetState(); + this.renderer.render(this.scene, this.camera); + } + + camera: any; + scene: any; + renderer: any; +}; + + +const myCustomLayer = new MyCustomLayer(); + +display.addLayer(myCustomLayer); diff --git a/playground/examples/display/hello_world.html b/playground/examples/display/hello_world.html new file mode 100644 index 000000000..ad64ad677 --- /dev/null +++ b/playground/examples/display/hello_world.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Hello World + + + +
+ + diff --git a/playground/examples/display/hello_world.ts b/playground/examples/display/hello_world.ts new file mode 100644 index 000000000..d614f5fef --- /dev/null +++ b/playground/examples/display/hello_world.ts @@ -0,0 +1,24 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.48024, + latitude: 37.77326 + }, + // add layers to the map + layers: [ + new MVTLayer({ + name: 'background layer', + // the minimum zoom level the layer is displayed + min: 1, + // the maximum zoom level the layer is displayed + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) + ] +}); diff --git a/playground/examples/display/hover_hightlight_line.html b/playground/examples/display/hover_hightlight_line.html new file mode 100644 index 000000000..a29acfb00 --- /dev/null +++ b/playground/examples/display/hover_hightlight_line.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Highlight a Line on hover + + + +
+ + diff --git a/playground/examples/display/hover_hightlight_line.ts b/playground/examples/display/hover_hightlight_line.ts new file mode 100644 index 000000000..b554d87a6 --- /dev/null +++ b/playground/examples/display/hover_hightlight_line.ts @@ -0,0 +1,71 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const backgroundLayer = new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +const lineLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }), + style: { + styleGroups: { + myStyle: [ + {zIndex: 0, type: 'Line', stroke: '#A88E71', strokeWidth: 18}, + {zIndex: 1, type: 'Line', stroke: '#FEAD9D', strokeWidth: 12}, + {zIndex: 2, type: 'Text', fill: '#000000', textRef: 'properties.name'} + ] + }, + assign: function(feature) { + return 'myStyle'; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.254537, latitude: 37.796982 + }, + // add the layers to the display + layers: [backgroundLayer, lineLayer] +}); +/** **/ + + +// the style to highlight a currently hovered line +const hoverStyle = [ + {zIndex: 3, type: 'Line', stroke: '#CB668E', strokeWidth: 24}, + {zIndex: 4, type: 'Line', stroke: '#F090B3', strokeWidth: 18}, + {zIndex: 5, type: 'Text', fill: '#000000', text: 'hovered'} +]; + +// add a pointerenter event-listener to the display +display.addEventListener('pointerenter', function(evt) { + if (evt.target) { + // set the highlight style for the feature + lineLayer.setStyleGroup(evt.target, hoverStyle); + } +}); + +// add a pointerleave event-listener to the display +display.addEventListener('pointerleave', function(evt) { + if (evt.target) { + // restore the default style of the feature + lineLayer.setStyleGroup(evt.target); + } +}); + diff --git a/playground/examples/display/mapview_listener.html b/playground/examples/display/mapview_listener.html new file mode 100644 index 000000000..94cb5a997 --- /dev/null +++ b/playground/examples/display/mapview_listener.html @@ -0,0 +1,30 @@ + + + + + XYZ Maps Example: Listen for mapview change events + + + +
+
Event Info
+ + diff --git a/playground/examples/display/mapview_listener.ts b/playground/examples/display/mapview_listener.ts new file mode 100644 index 000000000..9a4321bae --- /dev/null +++ b/playground/examples/display/mapview_listener.ts @@ -0,0 +1,44 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.48024, latitude: 37.77326 + }, + + // add layers to display + layers: [ + new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) + ] +}); +/** **/ + +let eventHistory = []; + +// create an event handler to display the last 16 mapviewchagnge events +function eventHandler(ev) { + eventHistory.push(ev.type); + // just keep the last 16 events + eventHistory = eventHistory.slice(-16); + + document.querySelector('#info').innerText = JSON.stringify(eventHistory, undefined, 4); +} + +// add mapviewchange event listener to the map +display.addEventListener('mapviewchange', eventHandler); + +// add mapviewchangestart event listener to the map +display.addEventListener('mapviewchangestart', eventHandler); + +// add mapviewchangeend event listener to the map +display.addEventListener('mapviewchangeend', eventHandler); + diff --git a/playground/examples/display/observer.html b/playground/examples/display/observer.html new file mode 100644 index 000000000..d00a3355f --- /dev/null +++ b/playground/examples/display/observer.html @@ -0,0 +1,30 @@ + + + + + XYZ Maps Example: Observe the map center + + + +
+
pan the map to change the center
+ + diff --git a/playground/examples/display/observer.ts b/playground/examples/display/observer.ts new file mode 100644 index 000000000..eee94d5fd --- /dev/null +++ b/playground/examples/display/observer.ts @@ -0,0 +1,35 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.48024, latitude: 37.77326 + }, + // add layers to display + layers: [ + new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) + ] +}); +/** **/ + + +let infoTag = document.querySelector('#info'); + +// add an center observer to the map +display.addObserver('center', (name, newValue, oldValue) => { + infoTag.innerText = name + ' new: ' + JSON.stringify(newValue, null, 4) + ' old:' + JSON.stringify(oldValue, null, 4); +}); + +// add an zoomlevel observer to the map +display.addObserver('zoomlevel', (name, newValue, oldValue) => { + infoTag.innerText = name + ' new: ' + newValue + ' old:' + oldValue; +}); diff --git a/playground/examples/display/pitch_rotate_map.html b/playground/examples/display/pitch_rotate_map.html new file mode 100644 index 000000000..306cd6349 --- /dev/null +++ b/playground/examples/display/pitch_rotate_map.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Pitch and Rotate Map + + + +
+ + diff --git a/playground/examples/display/pitch_rotate_map.ts b/playground/examples/display/pitch_rotate_map.ts new file mode 100644 index 000000000..5f03af0b5 --- /dev/null +++ b/playground/examples/display/pitch_rotate_map.ts @@ -0,0 +1,129 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the basemap layer **/ +const baseMapLayer = new MVTLayer({ + name: 'mvt-world-layer', + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + }, + style: { + backgroundColor: '#ECE0CA', + + styleGroups: { + 'landuse': [{zIndex: 0, type: 'Polygon', fill: '#ECE0CA'}], + 'pier': [{zIndex: 1, type: 'Polygon', fill: '#ECE0CA', stroke: '#c8b89d', strokeWidth: 2}], + 'park': [{zIndex: 1, type: 'Polygon', fill: '#c8dd97'}], + 'nature_reserve': [{zIndex: 1, type: 'Polygon', fill: '#dadeb0'}], + 'hospital': [{zIndex: 1, type: 'Polygon', fill: '#f3d3d3'}], + 'water': [{zIndex: 2, type: 'Polygon', fill: 'rgb(120,188,237)'}], + 'path': [{zIndex: 3, type: 'Line', stroke: '#c8b89d', strokeWidth: '1m'}], + 'tunnel': [{zIndex: 3, type: 'Line', stroke: '#ffffff', strokeWidth: {15: 4, 20: 16}, strokeDasharray: [4, 4]}], + 'ferry': [{zIndex: 4, type: 'Line', stroke: '#164ac8', strokeWidth: 1}], + 'highway': [{zIndex: 5, type: 'Line', stroke: 'white', repeat: 128, strokeWidth: {10: 1.5, 15: 4, 16: '12m'}}], + 'boundaries': [{zIndex: 6, type: 'Line', stroke: '#b3b1ad', strokeWidth: {10: 0.5, 20: 2}}], + 'buildings': [{ + zIndex: 7, type: 'Polygon', fill: 'rgba(170,170,170,0.7)', stroke: 'rgba(30,30,30,0.7)', + // define extrude in meters to display polygons with extrusion + extrude: (feature) => feature.properties.height || 0, + // define the base of the extrusion in meters offset from the ground + extrudeBase: (feature) => feature.properties.min_height || 0 + }], + 'roads': [{zIndex: 4, type: 'Line', stroke: '#ffffff', strokeWidth: {15: 1, 16: '5m'}}, { + zIndex: 6, type: 'Text', fill: '#222222', + font: '12px sans-serif', + strokeWidth: 4, + stroke: 'white', text: (f) => f.properties.name, + // Minimum distance in pixel between repeated text labels on line geometries. + // Applies per tile only. Default is 256 pixel. + repeat: 128, + // Alignment for Text. "map" aligns to the plane of the map. + alignment: 'map', + // Text with a higher priority (lower value) will be drawn before lower priorities (higher value) + // make sure "road labels" are drawn after "place labels". + priority: 2 + }], + 'places': [{ + zIndex: 8, + type: 'Text', + text: (f) => f.properties.name, + stroke: 'black', + fill: 'white', + font: '18px sans-serif', + strokeWidth: 4, + // set collide property to false to enable label collision detection [default] + collide: false, + // Alignment for Text. "viewport" aligns to the plane of the viewport/screen. + alignment: 'viewport', + // Text with a higher priority (lower value) will be drawn before lower priorities (higher value) + // In case of "place label" and "road label" are colliding "place label" will be draw + // because priority 1 is smaller than priority 2 + priority: 1 + }] + }, + + assign: (feature, zoom) => { + const props = feature.properties; + const kind = props.kind; + const layer = props.$layer; // the name of the layer in the mvt datasource. + const geom = feature.geometry.type; + + if (layer == 'landuse') { + switch (kind) { + case 'pier': + return 'pier'; + case 'nature_reserve': + return 'nature_reserve'; + case 'park': + case 'garden': + case 'pedestrian': + case 'forrest': + return 'park'; + case 'hospital': + return 'hospital'; + default: + return 'landuse'; + } + } + + if (layer == 'water') { + if (geom == 'LineString' || geom == 'MultiLineString') { + return; + } + } else if (layer == 'roads') { + if (kind == 'rail' || kind == 'ferry') { + return; + } + if (props.is_tunnel && zoom > 13) { + return 'tunnel'; + } + if (kind == 'highway' || kind == 'path') { + return kind; + } + } + return layer; + } + } +}); +/** **/ + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -74.01137, + latitude: 40.70613 + }, + behavior: { + // allow map pitch by user interaction (mouse/touch) + pitch: true, + // allow map rotation by user interaction (mouse/touch) + rotate: true + }, + // set initial map pitch in degrees + pitch: 50, + // set initial map rotation in degrees + rotate: 30, + + layers: [baseMapLayer] +}); diff --git a/playground/examples/display/pointer_listener.html b/playground/examples/display/pointer_listener.html new file mode 100644 index 000000000..0f35254e9 --- /dev/null +++ b/playground/examples/display/pointer_listener.html @@ -0,0 +1,30 @@ + + + + + XYZ Maps Example: Listen for pointer events + + + +
+
Pointer event:
+ + diff --git a/playground/examples/display/pointer_listener.ts b/playground/examples/display/pointer_listener.ts new file mode 100644 index 000000000..2d6172c93 --- /dev/null +++ b/playground/examples/display/pointer_listener.ts @@ -0,0 +1,71 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.283467, + latitude: 37.819543 + }, + + // add layers to display + layers: [ + backgroundLayer, + new TileLayer({ + name: 'myLayer', + min: 14, + max: 20, + provider: new SpaceProvider({ + name: 'MyProvider', + level: 14, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) + }) + ] +}); +/** **/ +// We are just interested in pointerevents of the Layer that contains data from a SpaceProvider, +// therefore we disable pointer-event triggering for the "background Layer" +backgroundLayer.pointerEvents(false); + + +function eventHandler(ev) { + // create basic event information + let evtInfo = { + type: ev.type, + target: ev.target ? '{...}' : null, + mapX: ev.mapX, + mapY: ev.mapY + }; + // display basic event information + document.querySelector('#info').innerText = 'Event: ' + JSON.stringify(evtInfo, null, 4); +} + +// add a pointerdown event listener to the map +display.addEventListener('pointerdown', eventHandler); + +// add a pointerup event listener to the map +display.addEventListener('pointerup', eventHandler); + +// add a pointerenter event listener to the map +display.addEventListener('pointerenter', eventHandler); + +// add a pointerleave event listener to the map +display.addEventListener('pointerleave', eventHandler); + +// add a pressmove event listener to the map +display.addEventListener('pressmove', eventHandler); diff --git a/playground/examples/display/switch_layers_display_order.html b/playground/examples/display/switch_layers_display_order.html new file mode 100644 index 000000000..daf616c21 --- /dev/null +++ b/playground/examples/display/switch_layers_display_order.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: Modify the layer display order + + + +
+
layer order:
+ Switch + + diff --git a/playground/examples/display/switch_layers_display_order.ts b/playground/examples/display/switch_layers_display_order.ts new file mode 100644 index 000000000..9bec2d0ee --- /dev/null +++ b/playground/examples/display/switch_layers_display_order.ts @@ -0,0 +1,98 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +// configure layers +var layers = [ + new MVTLayer({ + name: 'BackgroundLayer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }), + new TileLayer({ + name: 'MyBuildingLayer', + min: 15, + max: 20, + provider: new SpaceProvider({ + level: 15, + space: 'XhxKLZGL', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }), + style: { + styleGroups: { + style: [ + {zIndex: 1, type: 'Polygon', fill: '#008800', opacity: 0.8} + ] + }, + assign: function(feature) { + return 'style'; + } + } + }), + new TileLayer({ + name: 'MyPlaceLayer', + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }), + style: { + styleGroups: { + style: [ + { + 'zIndex': 0, + 'type': 'Circle', + 'radius': 12, + 'strokeWidth': 2, + 'stroke': '#FFFFFF', + 'fill': '#1188DD' + } + ] + }, + assign: function(feature) { + return 'style'; + } + } + }) +]; +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: -122.227145, latitude: 37.779873 + }, + // add layers to display + layers: layers +}); +/** **/ + +const updateLayerInfo = () => { + document.querySelector('#info').innerText = 'layer order:\n\n' + + display.getLayers().map((layer, i) => i + ': ' + layer.name).join('\n'); +}; +// show the current layer order +updateLayerInfo(); + +// add a onclick event handler to the switchlayerbutton +document.querySelector('#switchlayerbutton').onclick = function() { + // Get the layer at layer index 1 (middle layer in this layer configuration) + let layer = display.getLayers(1); + // remove this layer from current map + display.removeLayer(layer); + // add the layer to the map again to add and display it on top of all other layers + display.addLayer(layer); + + // show updated layer order + updateLayerInfo(); +}; + + diff --git a/playground/examples/display/take_a_screenshot.html b/playground/examples/display/take_a_screenshot.html new file mode 100644 index 000000000..2bfb97f9f --- /dev/null +++ b/playground/examples/display/take_a_screenshot.html @@ -0,0 +1,55 @@ + + + + + XYZ Maps Example: Capture a Screenshot + + + +
+
+
+ Take a snapshot + +
+ +
+ + diff --git a/playground/examples/display/take_a_screenshot.ts b/playground/examples/display/take_a_screenshot.ts new file mode 100644 index 000000000..0ff75fa98 --- /dev/null +++ b/playground/examples/display/take_a_screenshot.ts @@ -0,0 +1,37 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +var layers = [ + new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) +]; +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.227791, + latitude: 37.781058 + }, + // add layers to display + layers: layers +}); +/** **/ + +const captureButton = document.querySelector('#capture'); +// add an event handler to the capture button to take a snapshot on click +captureButton.onclick = function() { + display.snapshot((snapshot: HTMLCanvasElement) => { + const previewImage = document.querySelector('#preview'); + previewImage.src = snapshot.toDataURL(); + // handle high-dpi devices + previewImage.style.width = `${snapshot.width / devicePixelRatio}px`; + previewImage.style.height = `${snapshot.height / devicePixelRatio}px`; + }, 64, 64, 480, 360); +}; diff --git a/playground/examples/display/visualize_space_layer.html b/playground/examples/display/visualize_space_layer.html new file mode 100644 index 000000000..283090d20 --- /dev/null +++ b/playground/examples/display/visualize_space_layer.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Visualize a XYZ Space + + + +
+ + diff --git a/playground/examples/display/visualize_space_layer.ts b/playground/examples/display/visualize_space_layer.ts new file mode 100644 index 000000000..b6af8b703 --- /dev/null +++ b/playground/examples/display/visualize_space_layer.ts @@ -0,0 +1,42 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.229621, latitude: 37.7820641 + }, + // add layers to the display + layers: [ + // create a MVTLayer to act as the "basemap" (background layer) + new MVTLayer({ + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) + ] +}); +/** done **/ + +// create a TileLayer using a SpaceProvider that's providing the map-data we want to display +var myLayer = new TileLayer({ + // the minimum zoom level the layer should be visible + min: 14, + // the maximum zoom level the layer should be visible + max: 20, + // create the SpaceProvider + provider: new SpaceProvider({ + // zoom level at which tiles are loaded and a local tile index gets created + level: 14, + // id of the space + space: '6HMU19KY', + // user credentials required by the xyz-hub remote service + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) +}); + +// Add the layer to the display +display.addLayer(myLayer); diff --git a/playground/examples/editor/add_contextmenu.html b/playground/examples/editor/add_contextmenu.html new file mode 100644 index 000000000..10d46daf8 --- /dev/null +++ b/playground/examples/editor/add_contextmenu.html @@ -0,0 +1,39 @@ + + + + + XYZ Maps Example: Create a Context Menu + + + +
+
    + + diff --git a/playground/examples/editor/add_contextmenu.ts b/playground/examples/editor/add_contextmenu.ts new file mode 100644 index 000000000..5e79c7db9 --- /dev/null +++ b/playground/examples/editor/add_contextmenu.ts @@ -0,0 +1,197 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +/** setup the Map **/ + +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this examle, we expect all features are Navlinks. + detectFeatureClass(feature) { + return 'NAVLINK'; + } + + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let navlinkLayer = new TileLayer({ + name: 'Navlink Layer', + min: 14, + max: 20, + // provider to provide navlink + provider: new MyProvider({ + id: 'Navlinks', + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); +/** **/ + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + latitude: 37.796478, + longitude: -122.25392 + }, + // add layers to display + layers: [backgroundLayer, navlinkLayer] +}); + +// setup the editor +const editor = new Editor(display, { + // enable editing of the navlink layer + layers: [navlinkLayer] +}); + +// listen for pointerup events to update and display or hide the context menu on map click. +editor.addEventListener('pointerup', (event) => { + const contextMenuContainer = document.querySelector('.contextmenu'); + + // hide, in case context menu is already displayed + contextMenuContainer.style.display = 'none'; + + // check if left mouse button is pressed + if (event.button == 2) { + // the target of the event is the clicked feature. + let feature = event.target; + + // if a feature is clicked we update and display the context menu + if (feature) { + // display the context menu + contextMenuContainer.style.display = 'block'; + + let contextMenuHtml = ''; + let labels = { + remove: 'Delete Feature', + splitLink: 'Split...', + disconnect: 'Disconnect', + addShape: 'Add shape point' + }; + + // create the contextmenu entries + for (var i in labels) { + if (feature && feature[i] && i != 'constructor') { + contextMenuHtml += '
  • ' + labels[i] + '
  • '; + } + } + // add a "Show coordinates" entry to the contextmenu + contextMenuHtml += '
  • Show Coordinates
  • '; + + // update the context menu + contextMenuContainer.innerHTML = contextMenuHtml; + + // position the context menu to the clicked position + contextMenuContainer.style.left = event.mapX + 'px'; + contextMenuContainer.style.top = event.mapY + 'px'; + + // add eventlisteners to list entries to execute the respective action on click + contextMenuContainer.childNodes.forEach((entry) => { + entry.addEventListener('click', (e) => { + const methodName = e.target.attributes.rel.value; + + switch (methodName) { + case 'showCoords': + // display the geographical position of the click + alert(JSON.stringify(editor.pixelToGeo({x: event.mapX, y: event.mapY}))); + break; + case 'addShape': + // add the clicked position as a shape point to the line geometry + feature[methodName]({x: event.mapX, y: event.mapY}); + break; + default: + // by default we call the method of the feature + feature[methodName](); + } + // hide the context menu + contextMenuContainer.style.display = 'none'; + }); + }); + } + } +}); diff --git a/playground/examples/editor/add_remove_object_layer.html b/playground/examples/editor/add_remove_object_layer.html new file mode 100644 index 000000000..699c13a79 --- /dev/null +++ b/playground/examples/editor/add_remove_object_layer.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: En-/Disable editing of layers + + + +
    +
    MyPlaceLayer is NOT editable.
    + Toggle Editing + + diff --git a/playground/examples/editor/add_remove_object_layer.ts b/playground/examples/editor/add_remove_object_layer.ts new file mode 100644 index 000000000..f82405281 --- /dev/null +++ b/playground/examples/editor/add_remove_object_layer.ts @@ -0,0 +1,193 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + // ######################## Address, Place ######################## + // Following functions are only necessary if you want to edit Address or Place. + + // In addition to a simple Marker, a Place CAN, while an Address MUST have a routing point. + // A routing point of a Place or Address is a geo position (routingPosition) intended for routing purposes and references + // to a navlink (routingLink). + // In this example, we get routingPosition from features's properties 'routingPoint' and routingLink from 'routingLink'. + + // Get coordinate of routing point, its format is: [longitude, latitude, altitude]. + // This position should always be on the geometry of referenced Navlink. + readRoutingPosition(feature) { + return feature.prop('routingPoint'); + } + // Get id of referenced Navlink for Address or Place. Place becomes floating if this function does not return a Navlink id properly. + readRoutingLink(feature) { + return feature.prop('routingLink'); + } + // This function is called to write updated coordinate on referenced Navlink when routing position is changed. + // Format of routing position: [longitude, latitude, altitude]. + writeRoutingPosition(feature, position) { + feature.prop('routingPoint', position); + } + // This function is called to write new Navlink reference when routingLink is changed. + // For example, drag routing point from one Navlink to another will change routingLink. + // In this example, Navlink id is updated when routingLink changes. + writeRoutingLink(feature, navlink) { + feature.prop('routingLink', navlink ? navlink.id : navlink); + } + // In this examle, all Navlinks are provided by provider "navlinkProvider" + readRoutingProvider(location) { + return 'navlinkProvider'; + } + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +let myNavlinkLayer = new TileLayer({ + min: 14, + max: 20, + // Customized provider to provide Navlinks + provider: new MyProvider({ + id: 'navlinkProvider', + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: -122.37451, latitude: 37.823067 + }, + // add layers to display + layers: [backgroundLayer, myNavlinkLayer] +}); + +// setup the editor +const editor = new Editor(display); + +// add the navlink layer to enable editing by default +editor.addLayer(myNavlinkLayer); +/** **/ + +let myPlaceLayer = new TileLayer({ + min: 14, + max: 20, + // Customized provider to provide Places + provider: new MyProvider({ + id: 'Place', + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +// Add place layer to display, makes it visible +display.addLayer(myPlaceLayer); + + +const button = document.querySelector('#addlayer'); +button.onclick = function() { + const infoTag = document.querySelector('#info'); + // if there is no layer + if (editor.getLayers().length == 1) { + // make place layer editable + editor.addLayer(myPlaceLayer); + + button.innerText = 'Disable Editing'; + infoTag.innerText = 'MyPlaceLayer is editable.'; + } else { + // make place layer not editable + editor.removeLayer(myPlaceLayer); + + button.innerText = 'Enable Editing'; + infoTag.innerText = 'MyPlaceLayer is NOT editable.'; + } +}; diff --git a/playground/examples/editor/add_road.html b/playground/examples/editor/add_road.html new file mode 100644 index 000000000..48998f001 --- /dev/null +++ b/playground/examples/editor/add_road.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: Draw a Road + + + +
    +
    Click Start button to draw new road
    + Start + + diff --git a/playground/examples/editor/add_road.ts b/playground/examples/editor/add_road.ts new file mode 100644 index 000000000..63b9ffa3e --- /dev/null +++ b/playground/examples/editor/add_road.ts @@ -0,0 +1,80 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, LineShape} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let lineLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + latitude: 37.76620, longitude: -122.159958 + }, + + // add layers to display + layers: [backgroundLayer, lineLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [lineLayer]}); + +/** **/ + +/** + * add a new navlink by clicking on map, double click to finish drawing + */ +let infoTag = document.querySelector('#info'); +let createButton = document.querySelector('#newroad'); + +// get the drawing board util of the editor +let drawingBoard = editor.getDrawingBoard(); + +// start the "drawing mode" on button click +createButton.onclick = function() { + drawingBoard.start({ + mode: 'Line' // we want to draw a "Line" Feature. + }); + // hide this button + createButton.style.display = 'none'; + infoTag.innerText = 'Click map to add shape points, double click to finish drawing'; +}; + +// listen the editor for pointerup events so we can recognize when the last drawn shape is clicked +// to automatically create a new line feature with the drawn geometry +editor.addEventListener('pointerup', function(event) { + // make sure its a left click + if (drawingBoard.isActive() && event.button == 0) { + let feature = event.target; + + if (feature.class == 'LINE_SHAPE') { + // get the number of shape points + let length = feature.getLength(); + + // create the line if last shape is clicked + if (length > 1 && feature.getIndex() == length - 1) { + // create the line + let line = drawingBoard.create({properties: {optional: 'just drawn'}}); + } + createButton.style.display = 'block'; + infoTag.innerText = 'Click Start button to draw new road'; + } + } +}); diff --git a/playground/examples/editor/change_road_name.html b/playground/examples/editor/change_road_name.html new file mode 100644 index 000000000..34980f5a4 --- /dev/null +++ b/playground/examples/editor/change_road_name.html @@ -0,0 +1,39 @@ + + + + + XYZ Maps Example: Change road name + + + +
    + + + diff --git a/playground/examples/editor/change_road_name.ts b/playground/examples/editor/change_road_name.ts new file mode 100644 index 000000000..90f064397 --- /dev/null +++ b/playground/examples/editor/change_road_name.ts @@ -0,0 +1,214 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Navlink} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + + + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let navlinkLayer = new TileLayer({ + min: 14, + max: 20, + // Customized provider to provide features + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + // customize layer style + style: { + // define a set of styles by navlink feature attributes + styleGroups: { + // highway + highway: [ + {zIndex: 0, type: 'Line', stroke: '#AA84A4', strokeWidth: 18}, + {zIndex: 1, type: 'Line', stroke: '#C799E8', strokeWidth: 16}, + { + zIndex: 2, + type: 'Text', + textRef: 'properties.name', + fill: '#d6abf5', + strokeWidth: 5, + stroke: '#51414f', + font: '14px sans-serif' + } + ], + // primary road + primary: [ + {zIndex: 0, type: 'Line', stroke: '#AA84A4', strokeWidth: 18}, + {zIndex: 1, type: 'Line', stroke: '#C799E8', strokeWidth: 14}, + { + zIndex: 2, + type: 'Text', + textRef: 'properties.name', + fill: '#d6abf5', + strokeWidth: 5, + stroke: '#51414f', + font: '14px sans-serif' + } + ], + // Residential road + residential: [ + {zIndex: 0, type: 'Line', stroke: '#F4F288', strokeWidth: 11}, + {zIndex: 1, type: 'Line', stroke: '#CD8353', strokeWidth: 8}, + { + zIndex: 2, + type: 'Text', + textRef: 'properties.name', + fill: '#CD8353', + strokeWidth: 5, + stroke: '#F4F288', + font: '14px sans-serif' + } + ], + // Trail + path: [ + {zIndex: 0, type: 'Line', stroke: '#FFFFFF', strokeWidth: 8}, + { + zIndex: 2, + type: 'Text', + textRef: 'properties.name', + fill: 'black', + strokeWidth: 5, + stroke: 'white', + font: '14px sans-serif' + } + ] + }, + + assign: function(feature, zoomlevel) { + let prop = feature.properties; + return prop.type; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: {longitude: -122.2281, latitude: 37.778747}, + // add layers to the display + layers: [backgroundLayer, navlinkLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [navlinkLayer]}); +/** **/ + + +let roadNameInput = document.querySelector('#roadname'); +let navlink; + +// add a pointerup event listener to initialize the input field when a navlink gets clicked +editor.addEventListener('pointerup', function(event) { + let feature = event.target; + + if (feature && feature.geometry.type == 'LineString') { + // update the input field with the roadname + roadNameInput.value = feature.prop('name'); + + navlink = feature; + } +}); + +// update the name of the feature on input change +roadNameInput.addEventListener('input', function() { + if (navlink) { + // update the name property of the feature + navlink.prop('name', this.value); + } +}); diff --git a/playground/examples/editor/create_address.html b/playground/examples/editor/create_address.html new file mode 100644 index 000000000..093beaf0a --- /dev/null +++ b/playground/examples/editor/create_address.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: Create an Address + + + +
    +Create (geo) +Create (pixel) + + diff --git a/playground/examples/editor/create_address.ts b/playground/examples/editor/create_address.ts new file mode 100644 index 000000000..354dce496 --- /dev/null +++ b/playground/examples/editor/create_address.ts @@ -0,0 +1,228 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + + + // ######################## Address, Place ######################## + // Following functions are only necessary if you want to edit Address or Place. + + // In addition to a simple Marker, a Place CAN, while an Address MUST have a routing point. + // A routing point of a Place or Address is a geo position (routingPosition) intended for routing purposes and references + // to a navlink (routingLink). + // In this example, we get routingPosition from features's properties 'routingPoint' and routingLink from 'routingLink'. + + // Get coordinate of routing point, its format is: [longitude, latitude, altitude]. + // This position should always be on the geometry of referenced Navlink. + readRoutingPosition(feature) { + return feature.prop('routingPoint'); + } + + // Get id of referenced Navlink for Address or Place. Place becomes floating if this function does not return a Navlink id properly. + readRoutingLink(feature) { + return feature.prop('routingLink'); + } + + // This function is called to write updated coordinate on referenced Navlink when routing position is changed. + // Format of routing position: [longitude, latitude, altitude]. + writeRoutingPosition(feature, position) { + feature.prop('routingPoint', position); + } + + // This function is called to write new Navlink reference when routingLink is changed. + // For example, drag routing point from one Navlink to another will change routingLink. + // In this example, Navlink id is updated when routingLink changes. + writeRoutingLink(feature, navlink) { + feature.prop('routingLink', navlink ? navlink.id : navlink); + } + + // In this example places, addresses and navlinks are stored in the same provider. + readRoutingProvider(location) { + return this.id; + } + + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +var myLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + style: { + styleGroups: { + Point: [{ + zIndex: 2, type: 'Rect', width: 32, height: 16, strokeWidth: 1, stroke: '#FFFFFF', fill: '#1188DD' + }, { + zIndex: 2, type: 'Text', fill: 'white', font: '14px sans-serif', text: (feature) => feature.properties.houseNumber + }], + LineString: [{ + zIndex: 0, type: 'Line', strokeWidth: 14, stroke: '#660808' + }, { + zIndex: 1, type: 'Line', strokeWidth: 10, stroke: '#ef683e' + }] + }, + assign: function(feature, zoomlevel) { + return feature.geometry.type; + } + } +}); + +var myPlaceLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) + + +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.214304, latitude: 37.798005 + }, + // add layers to the display + layers: [backgroundLayer, myLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [myLayer]}); +/** **/ + +// add points to random position within the current screen +document.querySelector('#createButtonPixel').onclick = function() { + var x = display.getWidth() * Math.random(); + var y = display.getHeight() * Math.random(); + + // create the Address feature using a pixel coordinate + createAddress({x: x, y: y}); +}; + +// add points to random position within the current screen +document.querySelector('#createButtonGeo').onclick = function() { + var viewBounds = display.getViewBounds(); + var lon = viewBounds.minLon + (viewBounds.maxLon - viewBounds.minLon) * Math.random(); + var lat = viewBounds.minLat + (viewBounds.maxLat - viewBounds.minLat) * Math.random(); + + // create the Address feature using a geographical coordinate + createAddress({longitude: lon, latitude: lat}); +}; + +function createAddress(coordinate) { + // Add an Address feature to the editor + let address = editor.addFeature({ + type: 'Feature', + geometry: { + type: 'Point', + coordinates: editor.toGeoJSONCoordinates(coordinate) + }, + properties: { + featureClass: 'ADDRESS', + houseNumber: Math.random() * 100 ^ 0 + } + }); + // select the address + address.select(); +} diff --git a/playground/examples/editor/create_navlink.html b/playground/examples/editor/create_navlink.html new file mode 100644 index 000000000..cd3d0c66f --- /dev/null +++ b/playground/examples/editor/create_navlink.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: Create Navlinks + + + +
    + Create (geo) + Create (pixel) + + diff --git a/playground/examples/editor/create_navlink.ts b/playground/examples/editor/create_navlink.ts new file mode 100644 index 000000000..0cee00ee5 --- /dev/null +++ b/playground/examples/editor/create_navlink.ts @@ -0,0 +1,174 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let navlinkLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + latitude: 52.50512864669059, longitude: 13.276881159541091 + }, + + // add layers to display + layers: [backgroundLayer, navlinkLayer] +}); + +// setup the editor +const editor = new Editor(display); + +// add navlink layer to editor, make layers editable +editor.addLayer(navlinkLayer); +/** **/ + + +document.querySelector('#createButtonGeo').onclick = function() { + // create a Navlink feature with geographical coordinates + let navlink = editor.addFeature({ + type: 'Feature', + geometry: { + type: 'LineString', + // Geographical Coordinates in GeoJSON format + coordinates: [ + [13.278050, 52.504436], + [13.277975, 52.504583], + [13.277803, 52.504675], + [13.277374, 52.504799], + [13.277229, 52.504871], + [13.277455, 52.505635], + [13.277621, 52.505716], + [13.278662, 52.505759], + [13.278780, 52.505648] + ] + }, + properties: { + // The featureClass needs to be set to 'NAVLINK' to indicate that we want to create a Navlink. + // (The feature class detection can be configured in the provider setup). + featureClass: 'NAVLINK', + type: 'path' + } + }); +}; + + +document.querySelector('#createButtonPixel').onclick = function() { +// create a Navlink feature with pixel coordinates + editor.addFeature({ + type: 'Feature', + geometry: { + type: 'LineString', + // converts pixelCoordinates on screen to geographical coordinates in GeoJSON format + coordinates: editor.toGeoJSONCoordinates([ + {x: 404, y: 76}, + {x: 489, y: 118}, + {x: 437, y: 248}, + {x: 359, y: 251}, + {x: 295, y: 350} + ]) + }, + properties: { + featureClass: 'NAVLINK', + type: 'path' + } + }); +}; diff --git a/playground/examples/editor/create_place.html b/playground/examples/editor/create_place.html new file mode 100644 index 000000000..d0ac85dbd --- /dev/null +++ b/playground/examples/editor/create_place.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: Create a Place + + + +
    + Create (geo) + Create (pixel) + + diff --git a/playground/examples/editor/create_place.ts b/playground/examples/editor/create_place.ts new file mode 100644 index 000000000..82c5a0e0f --- /dev/null +++ b/playground/examples/editor/create_place.ts @@ -0,0 +1,228 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Place} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + + + // ######################## Address, Place ######################## + // Following functions are only necessary if you want to edit Address or Place. + + // In addition to a simple Marker, a Place CAN, while an Address MUST have a routing point. + // A routing point of a Place or Address is a geo position (routingPosition) intended for routing purposes and references + // to a navlink (routingLink). + // In this example, we get routingPosition from features's properties 'routingPoint' and routingLink from 'routingLink'. + + // Get coordinate of routing point, its format is: [longitude, latitude, altitude]. + // This position should always be on the geometry of referenced Navlink. + readRoutingPosition(feature) { + return feature.prop('routingPoint'); + } + + // Get id of referenced Navlink for Address or Place. Place becomes floating if this function does not return a Navlink id properly. + readRoutingLink(feature) { + return feature.prop('routingLink'); + } + + // This function is called to write updated coordinate on referenced Navlink when routing position is changed. + // Format of routing position: [longitude, latitude, altitude]. + writeRoutingPosition(feature, position) { + feature.prop('routingPoint', position); + } + + // This function is called to write new Navlink reference when routingLink is changed. + // For example, drag routing point from one Navlink to another will change routingLink. + // In this example, Navlink id is updated when routingLink changes. + writeRoutingLink(feature, navlink) { + feature.prop('routingLink', navlink ? navlink.id : navlink); + } + // In this example places, addresses and navlinks are stored in the same provider. + readRoutingProvider(location) { + return this.id; + } + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +var myLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + style: { + styleGroups: { + Point: [{ + zIndex: 2, type: 'Circle', radius: 12, strokeWidth: 2, stroke: '#FFFFFF', fill: '#1188DD' + }], + LineString: [{ + zIndex: 0, type: 'Line', strokeWidth: 14, stroke: '#660808' + }, { + zIndex: 1, type: 'Line', strokeWidth: 10, stroke: '#ef683e' + }] + }, + assign: function(feature, zoomlevel) { + return feature.geometry.type; + } + } +}); + +var myPlaceLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) + + +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.214304, latitude: 37.798005 + }, + // add layers to the display + layers: [backgroundLayer, myLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [myLayer]}); +/** **/ + +// add points to random position within the current screen +document.querySelector('#createButtonPixel').onclick = function() { + let x = display.getWidth() * Math.random(); + let y = display.getHeight() * Math.random(); + + // create the Place feature using a pixel coordinate + createPlace({x: x, y: y}); +}; + +// add points to random position within the current screen +document.querySelector('#createButtonGeo').onclick = function() { + let viewBounds = display.getViewBounds(); + let lon = viewBounds.minLon + (viewBounds.maxLon - viewBounds.minLon) * Math.random(); + let lat = viewBounds.minLat + (viewBounds.maxLat - viewBounds.minLat) * Math.random(); + + // create the Place feature using a geographical coordinate + createPlace({longitude: lon, latitude: lat}); +}; + +function createPlace(coordinate) { + // Add a Place feature to the editor + let place = editor.addFeature({ + type: 'Feature', + geometry: { + type: 'Point', + coordinates: editor.toGeoJSONCoordinates(coordinate) + }, + properties: { + featureClass: 'PLACE', + type: 'hotel' + } + }); + // A Place does not connect to a Navlink feature by default. + // "Connect" the place to a Navlink nearby and create a routing point for the Place automatically. + place.createRoutingPoint(); + + // select the place + place.select(); +} diff --git a/playground/examples/editor/crossing_detect.html b/playground/examples/editor/crossing_detect.html new file mode 100644 index 000000000..84780746a --- /dev/null +++ b/playground/examples/editor/crossing_detect.html @@ -0,0 +1,38 @@ + + + + + XYZ Maps Example: Detect crossing Navlinks + + + +
    + Create Road + Show Crossings + + diff --git a/playground/examples/editor/crossing_detect.ts b/playground/examples/editor/crossing_detect.ts new file mode 100644 index 000000000..6afd7af72 --- /dev/null +++ b/playground/examples/editor/crossing_detect.ts @@ -0,0 +1,194 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Crossing} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + + + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let navlinkLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: {longitude: -122.286912, latitude: 37.816305}, + + // add layers to the display + layers: [backgroundLayer, navlinkLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [navlinkLayer]}); +/** **/ + +let crossings = []; +let createdNavlink; + +// click button to create a navlink with random geometry +document.querySelector('#createRoad').onclick = () => { + // clear existing crossings + for (let i in crossings) crossings[i].hide(); + + let width = display.getWidth(); + let height = display.getHeight(); + + // add the navlink feature + createdNavlink = navlinkLayer.addFeature( + { + type: 'Feature', + geometry: { + type: 'LineString', + coordinates: editor.toGeoJSONCoordinates([ + {x: width * Math.random(), y: height * Math.random()}, + {x: width * Math.random(), y: height * Math.random()} + ]) + }, + properties: {featureClass: 'NAVLINK'} + }, + // define a custom style + [{ + zIndex: 10, + type: 'Line', + stroke: 'blue', + strokeWidth: 12 + }] + ); +}; + +// show all crossings of the just created road with all other roads +document.querySelector('#showCrossings').onclick = () => { + // hide the crossings and revert all changes + for (var i in crossings) { + crossings[i].hide(); + } + + // get all crossings with other geometries + crossings = createdNavlink.checkCrossings(); + + // display all crossings + for (var i in crossings) { + crossings[i].show(); + } +}; + +// add a pointerup event listener to show a UI hint and ask +// if all roads of a crossing should be connected (creates a road-intersection) when a crosssing is clicked +editor.addEventListener('pointerup', function(event) { + let crossing = event.target; + // make sure a crossing is clicked + if (crossing && crossing.class.indexOf('CROSSING') > -1) { + // create the UI hint + let usersChoice = confirm('Do you want to connect navlink ' + crossing.getLink().id + + ' and navlink ' + crossing.getRelatedLink().id + '?' + ); + if (usersChoice) { + // if user's choice is "yes", connect the crossing navlinks and create a road-intersection automatically + crossing.connect(); + } else { + // hide the crossing if user's choice is "no" + crossing.hide(); + } + } +}); diff --git a/playground/examples/editor/custom_provider.html b/playground/examples/editor/custom_provider.html new file mode 100644 index 000000000..8ad1b89ba --- /dev/null +++ b/playground/examples/editor/custom_provider.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Custom Provider + + + +
    + + diff --git a/playground/examples/editor/custom_provider.ts b/playground/examples/editor/custom_provider.ts new file mode 100644 index 000000000..f10c79065 --- /dev/null +++ b/playground/examples/editor/custom_provider.ts @@ -0,0 +1,162 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +// By default, the editor API handles all features of geometry type 'LineString' as 'LINE', 'Point' as 'MARKER' +// and '(Multi)Polygon' as 'AREA'. If you want to edit features with feature class 'NAVLINK', 'PLACE' or 'ADDRESS', +// you will need to create a custom provider to provide the required information/attributes. +class MyProvider extends SpaceProvider { + // This function determins the feature class of a feature. + // Valid feature class are: 'NAVLINK', 'LINE', 'PLACE', 'ADDRESS', 'MARKER' and 'AREA' + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + // ######################## Address, Place ######################## + // Following functions are only necessary if you want to edit Address or Place. + + // In addition to a simple Marker, a Place CAN, while an Address MUST have a routing point. + // A routing point of a Place or Address is a geo position (routingPosition) intended for routing purposes and references + // to a navlink (routingLink). + // In this example, we get routingPosition from features's properties 'routingPoint' and routingLink from 'routingLink'. + + // Get coordinate of routing point, its format is: [longitude, latitude, altitude]. + // This position should always be on the geometry of referenced Navlink. + readRoutingPosition(feature) { + return feature.prop('routingPoint'); + } + // Get id of referenced Navlink for Address or Place. Place becomes floating if this function does not return a Navlink id properly. + readRoutingLink(feature) { + return feature.prop('routingLink'); + } + // This function is called to write updated coordinate on referenced Navlink when routing position is changed. + // Format of routing position: [longitude, latitude, altitude]. + writeRoutingPosition(feature, position) { + feature.prop('routingPoint', position); + } + // This function is called to write new Navlink reference when routingLink is changed. + // For example, drag routing point from one Navlink to another will change routingLink. + // In this example, Navlink id is updated when routingLink changes. + writeRoutingLink(feature, navlink) { + feature.prop('routingLink', navlink ? navlink.id : navlink); + } + // This function is called by editor API to get the provider in which referenced Navlink of Address/Place is located. + // A map/provider setup where all features (Place/Address and referenced Navlink) are provided by the same provider + // (single-provider-setup), this function just needs to return id of the provider itself. + // However, in case of multi-provider-setup, Navlinks can be separated from Address/Place data and distributed across + // multiple providers, this function needs to return id of provider which contains the referenced Navlink. + readRoutingProvider(location) { + return this.id; + } + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // shape point with index 0 (first shape point) is 'start' and otherwise (last shape point) is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +let navlinkLayer = new TileLayer({ + min: 14, + max: 20, + // The custom Provider to enable navlink editing for the provided line geometry + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 15 + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + latitude: 37.796902, longitude: -122.217104 + }, + + // add layers to the display + layers: [backgroundLayer, navlinkLayer] +}); + +// setup the editor +const editor = new Editor(display, { + // add the Navlink layer to enable editing of the layer + layers: [navlinkLayer] +}); diff --git a/playground/examples/editor/drag_place_to_building.html b/playground/examples/editor/drag_place_to_building.html new file mode 100644 index 000000000..d34d99eea --- /dev/null +++ b/playground/examples/editor/drag_place_to_building.html @@ -0,0 +1,21 @@ + + + + + XYZ Maps Example: Drag a Place onto a Building + + + +
    + + diff --git a/playground/examples/editor/drag_place_to_building.ts b/playground/examples/editor/drag_place_to_building.ts new file mode 100644 index 000000000..96d533295 --- /dev/null +++ b/playground/examples/editor/drag_place_to_building.ts @@ -0,0 +1,92 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Place} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +let buildingLayer = new TileLayer({ + min: 15, + max: 20, + provider: new SpaceProvider({ + id: 'Buildings', + space: 'XhxKLZGL', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 15 + }) +}); + +let placeLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + + style: { + styleGroups: { + place: [ + {'zIndex': 3, 'type': 'Circle', 'radius': 12, 'strokeWidth': 2, 'stroke': '#FFFFFF', 'fill': '#1188DD'} + ] + }, + assign: function(feature, zoomlevel) { + return 'place'; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 19, + center: { + longitude: 76.566647, latitude: 8.894019 + }, + // add layers to the@ display + layers: [backgroundLayer, buildingLayer, placeLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [placeLayer]}); + +/** **/ + +// the current highlighted build +var highlightedBuilding; + +editor.addEventListener('dragStop', (e)=>{ + // reset the style of the current highlighted building + if (highlightedBuilding) { + buildingLayer.setStyleGroup(highlightedBuilding); + highlightedBuilding = null; + } + const place = e.target; + const position = place.coord(); + const screenPosition = display.geoToPixel(position[0], position[1]); + + // search for buildings that are located below the current position of the place + const searchResults = display.getFeatureAt(screenPosition, {layers: [buildingLayer]}); + + if (searchResults) { + highlightedBuilding = searchResults.feature; + + // style and highlight the building + buildingLayer.setStyleGroup(highlightedBuilding, [{ + zIndex: 0, + type: 'Polygon', + fill: '#36B2E5', + stroke: 'black' + }]); + } +}); diff --git a/playground/examples/editor/edit_building.html b/playground/examples/editor/edit_building.html new file mode 100644 index 000000000..8fd8d3515 --- /dev/null +++ b/playground/examples/editor/edit_building.html @@ -0,0 +1,21 @@ + + + + + XYZ Maps Example: Edit 3d Buildings + + + +
    + + diff --git a/playground/examples/editor/edit_building.ts b/playground/examples/editor/edit_building.ts new file mode 100644 index 000000000..eb6b7ef07 --- /dev/null +++ b/playground/examples/editor/edit_building.ts @@ -0,0 +1,80 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 19, + center: { + longitude: 76.566647, latitude: 8.894019 + }, + behavior: { + pitch: true, + rotate: true + }, + pitch: 30, + // add layers to the@ display + layers: [backgroundLayer] +}); +// setup the editor +const editor = new Editor(display); + +/** **/ + + +class BuildingProvider extends SpaceProvider { + // to obtain the height of a Building the respective attribute reader must be implemented. + readFeatureHeight(feature) { + const {height} = feature.properties; + return typeof height == 'number' ? height : 50; + } + // the Attribute writer stores the modified height and must be implemented to enable height-editing of the building. + writeFeatureHeight(feature, heightMeter) { + feature.properties.height = heightMeter; + } +} + +const buildingLayer = new TileLayer({ + min: 15, + max: 20, + provider: new BuildingProvider({ + space: 'XhxKLZGL', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 15 + }), + style: { + styleGroups: { + Building: [{ + zIndex: 1, + type: 'Polygon', + extrude: (feature) => { + const {height} = feature.properties; + return typeof height == 'number' ? height : 50; + }, + fill: '#f00' + }] + }, + assign() { + return 'Building'; + } + } +}); + + +// display the building layer +display.addLayer(buildingLayer); +// enable editing of the build layer +editor.addLayer(buildingLayer); + + diff --git a/playground/examples/editor/edit_line_3d.html b/playground/examples/editor/edit_line_3d.html new file mode 100644 index 000000000..6c5fd968d --- /dev/null +++ b/playground/examples/editor/edit_line_3d.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: Edit 3d Line geometry + + + +
    +
    Click to select a line. Hold down Shift to drag on the Z axis
    + + + diff --git a/playground/examples/editor/edit_line_3d.ts b/playground/examples/editor/edit_line_3d.ts new file mode 100644 index 000000000..da0589950 --- /dev/null +++ b/playground/examples/editor/edit_line_3d.ts @@ -0,0 +1,88 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, LineShape} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let lineLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + style: { + styleGroups: { + LineString: [{ + zIndex: 0, type: 'Line', strokeWidth: 14, stroke: '#660808', altitude: true + }, { + zIndex: 1, type: 'Line', strokeWidth: 10, stroke: '#ef683e', altitude: true + }] + }, + assign: (feature, zoom) => feature.geometry.type + } +}); + +// setup the Map Display +var display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: -122.287607, latitude: 37.819121 + }, + behavior: { + // allow map pitch by user interaction (mouse/touch) + pitch: true, + // allow map rotation by user interaction (mouse/touch) + rotate: true + }, + // set initial map pitch in degrees + pitch: 50, + // set initial map rotation in degrees + rotate: 30, + // add layers to display + layers: [backgroundLayer, lineLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [lineLayer]}); +/** **/ + + +let keyPressed = false; + +document.addEventListener('keydown', (e) => { + if (e.code.startsWith('Shift')) { + keyPressed = true; + } +}); + +document.addEventListener('keyup', (e) => { + if (e.code.startsWith('Shift')) { + keyPressed = false; + } +}); + + +editor.addEventListener('pointerdown', (e) => { + // get the clicked feature + const feature = e.target; + // check if we clicked a Line feature + if (feature && feature.class == 'LINE_SHAPE') { + if (keyPressed) { + // The drag axis across which the LineShape is dragged upon user interaction. + feature.behavior('dragAxis', 'Z'); + } else { + // The normal of the plane over which the LineShape is dragged upon user interaction. + feature.behavior('dragPlane', 'XY'); + } + } +}); diff --git a/playground/examples/editor/edit_point_3d.html b/playground/examples/editor/edit_point_3d.html new file mode 100644 index 000000000..735e9e932 --- /dev/null +++ b/playground/examples/editor/edit_point_3d.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: Edit 3d Point geometry + + + +
    +
    Click to select a point. Hold down Shift to drag on the Z axis
    + + + diff --git a/playground/examples/editor/edit_point_3d.ts b/playground/examples/editor/edit_point_3d.ts new file mode 100644 index 000000000..ce3bfe50f --- /dev/null +++ b/playground/examples/editor/edit_point_3d.ts @@ -0,0 +1,125 @@ +import {MVTLayer, TileLayer, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Marker} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +const pointLayer = new TileLayer({ + min: 1, + max: 20, + provider: new LocalProvider({ + editable: true + }), + style: { + styleGroups: { + Point: [{ + zIndex: 1, + type: 'Box', + width: 20, + fill: '#ffde22', + stroke: '#fc4f30', + strokeWidth: 2, + altitude: true + }, { + zIndex: 1, + // Use a VerticalLine for better visualization of the actual height of the geometry + type: 'VerticalLine', + stroke: '#fc4f30' + }, { + zIndex: 0, + // Use a translucent black circle without altitude to act as the "shadow" on the ground plane + type: 'Circle', + radius: 3, + fill: 'black', + opacity: 0.6, + alignment: 'map', + altitude: false + }] + }, + assign: (feature, zoom) => feature.geometry.type + } +}); + +// setup the Map Display +var display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: -122.287607, latitude: 37.819121 + }, + behavior: { + // allow map pitch by user interaction (mouse/touch) + pitch: true, + // allow map rotation by user interaction (mouse/touch) + rotate: true + }, + // set initial map pitch in degrees + pitch: 50, + // set initial map rotation in degrees + rotate: 30, + // add layers to display + layers: [backgroundLayer, pointLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [pointLayer]}); + + +const createRandomPoints = (size, vp, maxHeight: number = 100) => { + const getRandom = (min, max) => Math.random() * (max - min) + min; + const points = []; + while (size--) { + points[size] = { + type: 'Feature', + geometry: { + type: 'Point', + coordinates: [ + getRandom(vp.minLon, vp.maxLon), + getRandom(vp.minLat, vp.maxLat), + Math.round(getRandom(0, maxHeight)) + ] + } + }; + } + return points; +}; + +// create 50 Points with random height in the current viewport. +pointLayer.addFeature(createRandomPoints(50, display.getViewBounds())); +/** **/ + + +let keyPressed = false; + +document.addEventListener('keydown', (e) => { + if (e.code.startsWith('Shift')) { + keyPressed = true; + } +}); + +document.addEventListener('keyup', (e) => { + if (e.code.startsWith('Shift')) { + keyPressed = false; + } +}); + + +editor.addEventListener('pointerdown', (e) => { + // get the clicked feature + const feature = e.target; + // check if we clicked a Marker feature + if (feature && feature.class == 'MARKER') { + if (keyPressed) { + // The drag axis across which the LineShape is dragged upon user interaction. + feature.behavior('dragAxis', 'Z'); + } else { + // The normal of the plane over which the LineShape is dragged upon user interaction. + feature.behavior('dragPlane', 'XY'); + } + } +}); diff --git a/playground/examples/editor/hello_world.html b/playground/examples/editor/hello_world.html new file mode 100644 index 000000000..819232ea3 --- /dev/null +++ b/playground/examples/editor/hello_world.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Hello World + + + +
    + + diff --git a/playground/examples/editor/hello_world.ts b/playground/examples/editor/hello_world.ts new file mode 100644 index 000000000..baa7de679 --- /dev/null +++ b/playground/examples/editor/hello_world.ts @@ -0,0 +1,43 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +// create a TileLayer using a SpaceProvider that's providing the map-data we want to edit. +const lineLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 15 + }) +}); + +// setup the map display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + latitude: 37.796902, + longitude: -122.217104 + }, + layers: [ + new MVTLayer({ + name: 'background-layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }), + // add the TileLayer to the display + lineLayer + ] +}); + +// setup the editor +const editor = new Editor(display); + +// To enable editing for the layer, we just need to add it to the editor. +editor.addLayer(lineLayer); diff --git a/playground/examples/editor/hover_highlight_connected_navlink.html b/playground/examples/editor/hover_highlight_connected_navlink.html new file mode 100644 index 000000000..a4c233bef --- /dev/null +++ b/playground/examples/editor/hover_highlight_connected_navlink.html @@ -0,0 +1,21 @@ + + + + + XYZ Maps Example: Highlight a Line on Point hover + + + +
    + + diff --git a/playground/examples/editor/hover_highlight_connected_navlink.ts b/playground/examples/editor/hover_highlight_connected_navlink.ts new file mode 100644 index 000000000..9c6821913 --- /dev/null +++ b/playground/examples/editor/hover_highlight_connected_navlink.ts @@ -0,0 +1,119 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Marker} from '@here/xyz-maps-editor'; + +/** setup the Map **/ + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let lineLayer = new TileLayer({ + min: 14, + max: 20, + // Customized provider to provide navlinks + provider: new SpaceProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + style: { + styleGroups: { + navlink: [ + {zIndex: 1, type: 'Line', stroke: '#1188DD', strokeWidth: 10}, + {zIndex: 2, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ] + }, + assign: function(feature, zoomlevel) { + return 'navlink'; + } + } +}); + +let pointLayer = new TileLayer({ + min: 14, + max: 20, + // Customized provider to provide features + provider: new SpaceProvider({ + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + style: { + styleGroups: { + place: [ + {'zIndex': 3, 'type': 'Circle', 'radius': 12, 'strokeWidth': 2, 'stroke': '#FFFFFF', 'fill': '#1188DD'} + ] + }, + assign: function(feature, zoomlevel) { + return 'place'; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 19, + center: { + longitude: 76.59078, latitude: 8.87959 + }, + + // add layers to display + layers: [backgroundLayer, lineLayer, pointLayer] +}); + +// setup the editor +const editor = new Editor(display); + +// add the layers to the editor to enable editing of the layer +editor.addLayer(pointLayer); +/** **/ + +let hoveredLine; + +// add a pointerenter event listener to highlight the "routing link" +editor.addEventListener('pointerenter', (e) => { + const feature = e.target; + // check if a point feature has been entered + if (feature && feature.geometry.type == 'Point') { + // get the "routing link" + let line = editor.getFeature(feature.prop('routingLink'), lineLayer); + + // style the connected navlink if it exists + if (line) { + // store the current hovered line so we can remove highlight on pointerenter + hoveredLine = line; + // set the style to highlight + lineLayer.setStyleGroup(hoveredLine, [{ + zIndex: 0, + type: 'Line', + stroke: '#BE6B65', + strokeDasharray: 'none', + strokeLinecap: 'round', + strokeLinejoin: 'round', + strokeWidth: 16 + }, { + zIndex: 1, + type: 'Line', + stroke: '#E6A08C', + strokeDasharray: 'none', + strokeLinecap: 'round', + strokeLinejoin: 'round', + strokeWidth: 12 + }]); + } + } +}); + +editor.addEventListener('pointerleave', (e) => { + // rest the style + lineLayer.setStyleGroup(hoveredLine); + hoveredLine = null; +}); diff --git a/playground/examples/editor/observe_change_history.html b/playground/examples/editor/observe_change_history.html new file mode 100644 index 000000000..ff4a79b06 --- /dev/null +++ b/playground/examples/editor/observe_change_history.html @@ -0,0 +1,52 @@ + + + + + XYZ Maps Example: Observe editing history + + + +
    +
    +            
    {
    "Current Step": 0,
    "Total Steps": 0,
    "Modified Features": 0
    }
    +
    + Add Place + Undo + Redo + Revert + + diff --git a/playground/examples/editor/observe_change_history.ts b/playground/examples/editor/observe_change_history.ts new file mode 100644 index 000000000..4b1510d8c --- /dev/null +++ b/playground/examples/editor/observe_change_history.ts @@ -0,0 +1,71 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let myLayer = new TileLayer({ + min: 14, max: 20, + provider: new SpaceProvider({ + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: {longitude: -116.85755, latitude: 33.03607}, + + // add layers to display + layers: [backgroundLayer, myLayer] +}); + +// setup the editor +const editor = new Editor(display); + +// add the layer to the editor to enable editing of the layer +editor.addLayer(myLayer); +/** **/ + +// Observe the edit operation history for changes +editor.addObserver('history.current', function(name, currentStep, lastStep) { + let historyInfo = { + 'Current Step': currentStep, // editor.get('history.current'); + 'Total Steps': editor.get('history.length'), + 'Modified Features': editor.get('changes.length') + }; + document.querySelector('#info').innerText = JSON.stringify(historyInfo, undefined, 4); +}); + +// add points to random position within the current screen +document.querySelector('#add').onclick = function() { + // convert from pixels on screen to a geographical coordinate. + let geoJSONCoordinate = editor.toGeoJSONCoordinates({ + x: display.getWidth() * Math.random(), + y: display.getHeight() * Math.random() + }); + // add the point feature + editor.addFeature({ + type: 'Feature', + geometry: { + type: 'Point', + coordinates: geoJSONCoordinate + } + }); +}; + +document.querySelector('#undo').onclick = () => editor.undo(); + +document.querySelector('#redo').onclick = () => editor.redo(); + +document.querySelector('#revert').onclick = () => editor.revert(); + diff --git a/playground/examples/editor/pointer_listener.html b/playground/examples/editor/pointer_listener.html new file mode 100644 index 000000000..9fb0d3517 --- /dev/null +++ b/playground/examples/editor/pointer_listener.html @@ -0,0 +1,30 @@ + + + + + XYZ Maps Example: Pointer Event Listeners + + + +
    +
    Pointer event:
    + + diff --git a/playground/examples/editor/pointer_listener.ts b/playground/examples/editor/pointer_listener.ts new file mode 100644 index 000000000..e33cbe578 --- /dev/null +++ b/playground/examples/editor/pointer_listener.ts @@ -0,0 +1,199 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + + // ######################## Address, Place ######################## + // Following functions are only necessary if you want to edit Address or Place. + + // In addition to a simple Marker, a Place CAN, while an Address MUST have a routing point. + // A routing point of a Place or Address is a geo position (routingPosition) intended for routing purposes and references + // to a navlink (routingLink). + // In this example, we get routingPosition from features's properties 'routingPoint' and routingLink from 'routingLink'. + + // Get coordinate of routing point, its format is: [longitude, latitude, altitude]. + // This position should always be on the geometry of referenced Navlink. + readRoutingPosition(feature) { + return feature.prop('routingPoint'); + } + + // Get id of referenced Navlink for Address or Place. Place becomes floating if this function does not return a Navlink id properly. + readRoutingLink(feature) { + return feature.prop('routingLink'); + } + + // This function is called to write updated coordinate on referenced Navlink when routing position is changed. + // Format of routing position: [longitude, latitude, altitude]. + writeRoutingPosition(feature, position) { + feature.prop('routingPoint', position); + } + + // This function is called to write new Navlink reference when routingLink is changed. + // For example, drag routing point from one Navlink to another will change routingLink. + // In this example, Navlink id is updated when routingLink changes. + writeRoutingLink(feature, navlink) { + feature.prop('routingLink', navlink ? navlink.id : navlink); + } + + // In this examle, all Navlinks are provided by provider "navlinkProvider" + readRoutingProvider(location) { + return 'navlinkProvider'; + } + + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +let navlinkLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +let placeLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.254805, latitude: 37.799515 + }, + // add layers to display + layers: [backgroundLayer, navlinkLayer, placeLayer] +}); + +// setup the editor +const editor = new Editor(display, { + layers: [navlinkLayer, placeLayer] +}); +/** **/ + +// A Simple event handler that dumps basic information of the pointerevent +const eventHandler = (ev) => { + const evtInfo = { + type: ev.type, + mapX: ev.mapX, + mapY: ev.mapY + }; + document.querySelector('#info').innerText = 'Pointer event: ' + JSON.stringify(evtInfo, null, 4); +}; + +// Supported pointer events are 'tap', 'dbltap', 'pointerup', 'pointerenter', 'pointerleave' and 'dragStart', 'dragStop' +editor.addEventListener('dbltap', eventHandler); + +editor.addEventListener('tap', eventHandler); + +editor.addEventListener('pointerup', eventHandler); + +editor.addEventListener('pointerenter', eventHandler); + +editor.addEventListener('pointerleave', eventHandler); + +// dragStart and dragStop are triggered when Marker, Places, Addresses or ShapePoints are being dragged. +editor.addEventListener('dragStart', eventHandler); + +editor.addEventListener('dragStop', eventHandler); diff --git a/playground/examples/editor/range_selector.html b/playground/examples/editor/range_selector.html new file mode 100644 index 000000000..734347451 --- /dev/null +++ b/playground/examples/editor/range_selector.html @@ -0,0 +1,48 @@ + + + + + XYZ Maps Example: The Range Selector Utility + + + +
    +
    Zone Info
    + Show Selector + Hide Selector + + diff --git a/playground/examples/editor/range_selector.ts b/playground/examples/editor/range_selector.ts new file mode 100644 index 000000000..1e0f7a648 --- /dev/null +++ b/playground/examples/editor/range_selector.ts @@ -0,0 +1,181 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let navlinkLayer = new TileLayer({ + min: 14, + max: 20, + // Customized provider to provide navlink navlinks + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.283766, latitude: 37.818477 + }, + // add layers to display + layers: [backgroundLayer, navlinkLayer] +}); + +// setup the editor +const editor = new Editor(display); + +// add the navlink layer to the editor to enable editing for the layer +editor.addLayer(navlinkLayer); +/** **/ + +// click the button to add multiple navlinks to the zoneselector utility. +document.querySelector('#showButton').onclick = function() { + let navlink1 = editor.getFeature('9ndDAW9aucl1in0U', navlinkLayer); + let navlink2 = editor.getFeature('ti6x4OFInG69Hg6Q', navlinkLayer); + let navlink3 = editor.getFeature('7IYfa7jAHsDv5oK7', navlinkLayer); + let navlink4 = editor.getFeature('iOU1RzXGb2UZitda', navlinkLayer); + + // Add Navlinks to the zone Selector + let zoneSelector = editor.getRangeSelector(); + zoneSelector.add([navlink1, navlink2, navlink3, navlink4]); + + // define 3 Zones with 3 diffrent sides and display them + zoneSelector.show({ + from: 0.1, + to: 0.3, + side: 'L', // left + style: {stroke: '#ff4040'}, + dragStop: onDragEndHandler + }, { + from: 0.45, + to: 0.65, + side: 'B', // both + style: {stroke: '#35b2ee'}, + dragStop: onDragEndHandler + }, { + from: 0.75, + to: 0.9, + side: 'R', // right + style: {stroke: '#4cdd4c'}, + dragStop: onDragEndHandler + }); +}; + +const infoElement = document.querySelector('#info'); +// update the info box with updated zone information when a zone marker gets dragged +const onDragEndHandler = (ev) => { + // the modified zone + let zone = ev.detail.zone; + // simplify for displaying in the infobox + zone.segments = zone.segments.map((seg) => { + let simpleSegment = {...seg}; + simpleSegment.navlink = simpleSegment.navlink.id; + return simpleSegment; + }); + + infoElement.innerText = JSON.stringify(zone, undefined, 4); +}; + +// hide the range selector utility +document.querySelector('#hideButton').onclick = function() { + let zoneSelector = editor.getRangeSelector(); + zoneSelector.hide(); + infoElement.innerText = 'Range Info'; +}; diff --git a/playground/examples/editor/select_shapes.html b/playground/examples/editor/select_shapes.html new file mode 100644 index 000000000..b5c9ac48b --- /dev/null +++ b/playground/examples/editor/select_shapes.html @@ -0,0 +1,31 @@ + + + + + XYZ Maps Example: Drag multiple Shapes + + + +
    +
    Hold "Shift" while clicking on a Shape to select/unselect it.
    Drag a selected shape to drag the all shapes of the current selection.
    Hold down "Alt" to drag on the Z axis.
    + + + diff --git a/playground/examples/editor/select_shapes.ts b/playground/examples/editor/select_shapes.ts new file mode 100644 index 000000000..2a44cf9d2 --- /dev/null +++ b/playground/examples/editor/select_shapes.ts @@ -0,0 +1,112 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, LineShape} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let lineLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + style: { + styleGroups: { + LineString: [{ + zIndex: 0, type: 'Line', strokeWidth: 16, stroke: '#660808', altitude: true + }, { + zIndex: 1, type: 'Line', strokeWidth: 10, stroke: '#ef683e', altitude: true + }] + }, + assign: (feature, zoom) => feature.geometry.type + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + latitude: 37.76620, longitude: -122.159958 + }, + behavior: { + pitch: true, + rotate: true + }, + pitch: 40, + + // add layers to display + layers: [backgroundLayer, lineLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [lineLayer]}); + +let altKeyPressed = false; + +document.addEventListener('keydown', (e) => { + if (e.code.startsWith('Alt')) { + altKeyPressed = true; + } +}); +document.addEventListener('keyup', (e) => { + if (e.code.startsWith('Alt')) { + altKeyPressed = false; + } +}); + +editor.addEventListener('pointerdown', (e) => { + // get the clicked feature + const feature = e.target; + // check if we clicked a Line feature + if (feature?.class == 'LINE_SHAPE') { + if (altKeyPressed) { + // The drag axis across which the LineShape is dragged upon user interaction. + feature.behavior('dragAxis', 'Z'); + } else { + // The normal of the plane over which the LineShape is dragged upon user interaction. + feature.behavior('dragPlane', 'XY'); + } + } +}); +/** **/ + +let keyPressed = false; +document.addEventListener('keydown', (e) => { + if (e.code.startsWith('Shift')) { + keyPressed = true; + } +}); +document.addEventListener('keyup', (e) => { + if (e.code.startsWith('Shift')) { + keyPressed = false; + } +}); + + +// Hold "Shift" while clicking on a Shape to select/unselect it. +// Drag a selected shape to drag the all shapes of the current selection. +editor.addEventListener('pointerup', function(event) { + let feature = event.target; + + if (feature?.class.endsWith('SHAPE')) { + if (keyPressed) { + if (!feature.isSelected()) { + feature.select(); + } else { + feature.unselect(); + } + } + } +}); + + diff --git a/playground/examples/editor/select_specific_navlink.html b/playground/examples/editor/select_specific_navlink.html new file mode 100644 index 000000000..a9bb7e51f --- /dev/null +++ b/playground/examples/editor/select_specific_navlink.html @@ -0,0 +1,22 @@ + + + + + XYZ Maps Example: Customized click handler + + + +
    +
    Only highways are selectable
    + + diff --git a/playground/examples/editor/select_specific_navlink.ts b/playground/examples/editor/select_specific_navlink.ts new file mode 100644 index 000000000..b4740475a --- /dev/null +++ b/playground/examples/editor/select_specific_navlink.ts @@ -0,0 +1,161 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Navlink} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let myLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + // the default style the data of the should be displayed with + style: { + // Define a set of styles for different road types + styleGroups: { + // display highways differently than any other road type + 'highway': [ + {zIndex: 0, type: 'Line', stroke: '#AA84A4', strokeWidth: 18}, + {zIndex: 1, type: 'Line', stroke: '#C799E8', strokeWidth: 16}, + {zIndex: 2, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ], + // default road style + 'road': [ + {zIndex: 1, type: 'Line', stroke: '#FFFFFF', strokeWidth: 10}, + {zIndex: 2, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ] + }, + assign: function(feature, zoomlevel) { + const properties = feature.properties; + return properties.type == 'highway' ? properties.type : 'road'; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: -122.247048, latitude: 37.809426 + }, + // add layers to display + layers: [backgroundLayer, myLayer] +}); +/** **/ + +// setup the editor +const editor = new Editor(display, { + // disable the inbuilt feature selection click handler + featureSelectionByDefault: false +}); + +// add myLayer to the editor to enable editing +editor.addLayer(myLayer); + +// add an own pointerup event listener to the editor which selects only Navlink features of type Highway. +editor.addEventListener('pointerup', function(e) { + const feature = e.target; + if (feature) { + // filter for highways + if (feature.class == 'NAVLINK' && feature.prop('type') == 'highway') { + // select the highway + feature.select(); + } + } +}); diff --git a/playground/examples/editor/transform_road.html b/playground/examples/editor/transform_road.html new file mode 100644 index 000000000..2fa0e5fff --- /dev/null +++ b/playground/examples/editor/transform_road.html @@ -0,0 +1,47 @@ + + + + + XYZ Maps Example: Transform a Line + + + +
    +
    Click a line to transform
    + Revert + + diff --git a/playground/examples/editor/transform_road.ts b/playground/examples/editor/transform_road.ts new file mode 100644 index 000000000..db4889ef9 --- /dev/null +++ b/playground/examples/editor/transform_road.ts @@ -0,0 +1,55 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Line} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let navlinkLayer = new TileLayer({ + min: 14, + max: 20, + // Customized provider to provide navlinks + provider: new SpaceProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }) +}); + +// setup the Map Display +var display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: -122.287607, latitude: 37.819121 + }, + + // add layers to display + layers: [backgroundLayer, navlinkLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [navlinkLayer]}); +/** **/ + +editor.addEventListener('pointerup', (e) => { + // get the clicked feature + let feature = e.target; + // check if we clicked a Line feature + if (feature && feature.class == 'LINE') { + // start the transformer utility + feature.transform(); + } +}); + + +// click the revert button to revert all changes that have been done +document.querySelector('#revert').onclick = () => { + editor.revert(); +}; diff --git a/playground/examples/editor/turn_restriction_editor.html b/playground/examples/editor/turn_restriction_editor.html new file mode 100644 index 000000000..4c4ac6c59 --- /dev/null +++ b/playground/examples/editor/turn_restriction_editor.html @@ -0,0 +1,31 @@ + + + + + XYZ Maps Example: Turn Restrictions + + + +
    +
    Click on a Navlink to display and edit TurnRestrictions
    + + diff --git a/playground/examples/editor/turn_restriction_editor.ts b/playground/examples/editor/turn_restriction_editor.ts new file mode 100644 index 000000000..5297e70f0 --- /dev/null +++ b/playground/examples/editor/turn_restriction_editor.ts @@ -0,0 +1,167 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +import {Editor, Navlink} from '@here/xyz-maps-editor'; + +/** setup the Map **/ +// Create a custom provider. +class MyProvider extends SpaceProvider { + // In this exmaple, all data does already contain desired feature class in the property 'featureClass'. + detectFeatureClass(feature) { + return feature.properties.featureClass; + } + + // ######################## Navlink ######################## + // Following functions are only necessary if you want to edit Navlink. + + // In addition to Lines, Navlinks have navigation information and are connected to each other to form a road network. + // Implementing following functions enables you to easily edit Navlinks. + + // This function returns a boolean value to indicate if turn from from-link's shape point to to-link's shape point + // is restricted. + // It takes two arguments ('from' and 'to' in this example), they have the same data structure: + // { + // 'link': Navlink, + // 'index': Number + // } + // 'link': Navlink to turn from and into. + // 'index': index of Navlink's shape point, it specifies the shape point where turn takes place. + // In this example, turn restriction information is stored in from-link, we read this information and determin if the + // turn is restricted. + readTurnRestriction(from, to) { + let turn = from.link.prop('turnRestriction') || {}; + // first shape point is 'start' and the last one is 'end' + let restrictions = turn[from.index ? 'end' : 'start'] || []; + + return restrictions.indexOf(to.link.id) >= 0; + }; + + // This function stores turn restriction information for turn from from-link to to-link. + // It takes arguments ('restricted', 'from' and 'to' in this example) similar to that of above function, but its first + // argument is a boolean value for indicating the turn is (or is not) restricted. + // In this example, we store turn restriction information as following object in from-link: + // { + // 'start': Array // Array of Navlink id + // 'end': Array // Array of Navlink id + // } + // 'start' and 'end' refer to first and last shape point of from-link. + // Their values are array of Navlink ids, you are not allowed to turn from from-link's start (or end) shape point into + // any Navlink that is in this array. + writeTurnRestriction(restricted, from, to) { + let turn = from.link.prop('turnRestriction') || {}; + let node = from.index ? 'end' : 'start'; + let restrictions = turn[node] = turn[node] || []; + let index = restrictions.indexOf(to.link.id); + + if (restricted) { + if (index == -1) { + restrictions.push(to.link.id); + } + } else if (index >= 0) { + restrictions.splice(index, 1); + } + + from.link.prop('turnRestriction', turn); + } + + // Indicate if the Navlink is pedestrian only, it's not allowed to turn into a pedestrian only Navlink. + readPedestrianOnly(feature) { + return Boolean(feature.prop('pedestrianOnly')); + } + + // Navlink's direction indicates if the Navlink is a one-way road. + // Valid values are: + // 'BOTH': the Navlink is a two-way road. + // 'START_TO_END': the Navlink is a one-way road with travel direction from its first to last shape point. + // 'END_TO_START': the Navlink is a one-way road with travel direction from its last to first shape point. + // It's not allowed to turn into one Navlink with direction 'END_TO_START' at its start (first) shape point or turn into + // one Navlink with direction 'START_TO_END' at its end (last) shape point. + readDirection(feature) { + return feature.prop('direction') || 'BOTH'; + } + + readZLevels(navlink) { + return navlink.prop('zLevels') || navlink.geometry.coordinates.map((c) => 0); + } + + writeZLevels(navlink, zLevel) { + navlink.prop('zLevels', zLevel); + } +} + +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let navlinkLayer = new TileLayer({ + min: 14, + max: 20, + provider: new MyProvider({ + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + level: 14 + }), + + // Customize layer style + style: { + // Define a set of styles to differentiate pedestrian only road + styleGroups: { + 'normal': [ + {zIndex: 0, type: 'Line', stroke: 'red', strokeWidth: 10}, + {zIndex: 2, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ], + 'pedestrianOnly': [ + {zIndex: 0, type: 'Line', stroke: '#999999', strokeWidth: 6}, + {zIndex: 2, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ] + }, + + assign: function(feature) { + if (feature.properties.pedestrianOnly) { + return 'pedestrianOnly'; + } else { + return 'normal'; + } + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: -122.249878, latitude: 37.810195 + }, + + // add layers to display + layers: [backgroundLayer, navlinkLayer] +}); + +// setup the editor +const editor = new Editor(display, {layers: [navlinkLayer]}); +/** **/ + +// add a pointerup event listener +editor.addEventListener('pointerup', function(e) { + let feature = e.target; + // make sure a Navlink feature has been clicked + if (feature && feature.class == 'NAVLINK') { + // show the turn restriction editor for the navlink + feature.editTurnRestrictions(); + } +}); + +// observer for user edits to update infobox with the modified turn restriction data +editor.addObserver('history.current', function(ob, currentStep, lastStep) { + let info = {}; + editor.info().forEach((feature) => { + info[feature.id] = feature.properties.turnRestriction; + }); + + // update the infobox with the updated turn restrictions + document.querySelector('#info').innerText = JSON.stringify(info, null, 4); +}); diff --git a/playground/examples/examples.json b/playground/examples/examples.json new file mode 100644 index 000000000..23e43e9e2 --- /dev/null +++ b/playground/examples/examples.json @@ -0,0 +1,248 @@ +{ + "Display": [ + { + "file": "./display/hello_world.html", + "docs": "classes/display.map.html" + }, + { + "file": "./display/visualize_space_layer.html", + "docs": "classes/core.spaceprovider.html" + }, + { + "file": "./display/click_feature_show_properties.html", + "docs": "classes/display.map.html#addlayer" + }, + { + "file": "./display/click_feature_to_center_map.html", + "docs": "classes/display.map.html#setcenter" + }, + { + "file": "./display/hover_hightlight_line.html", + "docs": "classes/display.map.html#addeventlistener" + }, + { + "file": "./display/click_highlight_line.html", + "docs": "classes/display.map.html#addeventlistener" + }, + { + "file": "./display/pointer_listener.html", + "docs": "classes/display.map.html#addeventlistener" + }, + { + "file": "./display/mapview_listener.html", + "docs": "classes/display.map.html#addeventlistener" + }, + { + "file": "./display/observer.html", + "docs": "classes/display.map.html#addobserver" + }, + { + "file": "./display/add_remove_layer.html", + "docs": "classes/display.map.html#addlayer" + }, + { + "file": "./display/switch_layers_display_order.html", + "docs": "classes/display.map.html#addlayer" + }, + { + "file": "./display/behavior_set.html", + "docs": "classes/display.map.html#setbehavior" + }, + { + "file": "./display/pitch_rotate_map.html", + "docs": "classes/display.map.html#pitch" + }, + { + "file": "./display/animate_road.html", + "docs": "interfaces/core.style.html#to" + }, + { + "file": "./display/take_a_screenshot.html", + "docs": "classes/display.map.html#snapshot" + }, + { + "file": "./display/custom_layer.html", + "docs": "classes/core.customlayer.html" + } + ], + "Editor": [ + { + "file": "./editor/hello_world.html", + "docs": "modules/editor.html" + }, + { + "file": "./editor/custom_provider.html", + "docs": "modules/editor.html" + }, + { + "file": "./editor/add_contextmenu.html", + "docs": "classes/editor.editor-1.html" + }, + { + "file": "./editor/add_remove_object_layer.html", + "docs": "classes/editor.editor-1.html#addlayer" + }, + { + "file": "./editor/select_specific_navlink.html", + "docs": "interfaces/editor.editoroptions.html#featureselectionbydefault" + }, + { + "file": "./editor/observe_change_history.html", + "docs": "classes/editor.editor-1.html#addobserver" + }, + { + "file": "./editor/pointer_listener.html", + "docs": "classes/editor.editor-1.html#addeventlistener" + }, + { + "file": "./editor/hover_highlight_connected_navlink.html", + "docs": "classes/core.tilelayer.html#setstylegroup" + }, + { + "file": "./editor/drag_place_to_building.html", + "docs": "classes/display.map.html#getfeatureat" + }, + { + "file": "./editor/create_navlink.html", + "docs": "classes/editor.editor-1.html#addfeature" + }, + { + "file": "./editor/add_road.html", + "docs": "classes/editor.editor-1.html#getdrawingboard" + }, + { + "file": "./editor/create_place.html", + "docs": "classes/editor.editor-1.html#addfeature" + }, + { + "file": "./editor/create_address.html", + "docs": "classes/editor.editor-1.html#addfeature" + }, + { + "file": "./editor/change_road_name.html", + "docs": "classes/editor.navlink.html#prop" + }, + { + "file": "./editor/transform_road.html", + "docs": "classes/editor.line.html#transform" + }, + { + "file": "./editor/crossing_detect.html", + "docs": "classes/editor.navlink.html#checkCrossings" + }, + { + "file": "./editor/select_shapes.html", + "docs": "classes/editor.lineshape.html#select" + }, + { + "file": "./editor/range_selector.html", + "docs": "classes/editor.editor-1.html#getRangeSelector" + }, + { + "file": "./editor/turn_restriction_editor.html", + "docs": "classes/editor.navlink.html#editTurnRestrictions" + }, + { + "file": "./editor/edit_line_3d.html", + "docs": "classes/editor.line.html#behavior" + }, + { + "file": "./editor/edit_point_3d.html", + "docs": "classes/editor.marker.html#behavior" + }, + { + "file": "./editor/edit_building.html", + "docs": "classes/core.editableremotetileprovider.html#readfeatureheight" + } + ], + "Layers / Providers": [ + { + "file": "./layer/visualize_sat_image.html", + "docs": "classes/core.imageprovider.html" + }, + { + "file": "./layer/custom_style.html", + "docs": "interfaces/core.layerstyle.html" + }, + { + "file": "./layer/preprocessor.html", + "docs": "interfaces/core.remotetileprovideroptions.html#preprocessor" + }, + { + "file": "./layer/Heatmap.html", + "docs": "interfaces/core.heatmapstyle.html" + }, + { + "file": "./layer/settag_space_provider.html", + "docs": "classes/core.spaceprovider.html#settags" + }, + { + "file": "./layer/set_layer_color.html", + "docs": "classes/core.tilelayer.html#setstyle" + }, + { + "file": "./layer/add_remove_line.html", + "docs": "classes/core.tilelayer.html#addfeature" + }, + { + "file": "./layer/add_remove_point.html", + "docs": "classes/core.tilelayer.html#addfeature" + }, + { + "file": "./layer/add_remove_building_feature.html", + "docs": "classes/core.tilelayer.html#addfeature" + }, + { + "file": "./layer/style_navlink.html", + "docs": "classes/core.tilelayer.html#setstylegroup" + }, + { + "file": "./layer/offset_line.html", + "docs": "interfaces/core.style.html#offset" + }, + { + "file": "./layer/style_zoomrange.html", + "docs": "modules/core.html#stylezoomrange" + }, + { + "file": "./layer/style_drawingorder.html", + "docs": "interfaces/core.style.html#zlayer" + }, + { + "file": "./layer/search_boundingbox.html", + "docs": "classes/core.tilelayer.html#search" + }, + { + "file": "./layer/search_id.html", + "docs": "classes/core.tilelayer.html#search" + }, + { + "file": "./layer/remote_search_boundingbox.html", + "docs": "classes/core.tilelayer.html#search" + }, + { + "file": "./layer/MVTLayer.html", + "docs": "classes/core.mvtlayer.html" + }, + { + "file": "./layer/collision_detection.html", + "docs": "interfaces/core.style.html#collide" + }, + { + "file": "./layer/3d_buildings.html", + "docs": "interfaces/core.style.html#extrude" + }, + { + "file": "./layer/3d_lines.html", + "docs": "interfaces/core.style.html#altitude" + }, + { + "file": "./layer/3d_points.html", + "docs": "interfaces/core.style.html#altitude" + }, + { + "file": "./layer/label_collision_detection.html", + "docs": "interfaces/core.style.html#collide" + } + ] +} diff --git a/playground/examples/layer/3d_buildings.html b/playground/examples/layer/3d_buildings.html new file mode 100644 index 000000000..411c8a78f --- /dev/null +++ b/playground/examples/layer/3d_buildings.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: 3d Buildings + + + +
    + + diff --git a/playground/examples/layer/3d_buildings.ts b/playground/examples/layer/3d_buildings.ts new file mode 100644 index 000000000..ce6c87370 --- /dev/null +++ b/playground/examples/layer/3d_buildings.ts @@ -0,0 +1,58 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: {longitude: -74.01137, latitude: 40.70613}, + // add layers to display + layers: [ + new MVTLayer({ + name: 'mvt-world-layer', + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + }, + style: { + backgroundColor: '#555555', + + styleGroups: { + 'earth': [{zIndex: 1, type: 'Polygon', fill: '#555555'}], + 'landuse': [{zIndex: 2, type: 'Polygon', fill: '#666666'}], + 'water': [{zIndex: 3, type: 'Polygon', fill: '#353535'}], + 'roads': [{zIndex: 4, type: 'Line', stroke: '#ffffff', strokeWidth: {14: 1, 15: '4m'}}], + 'roadshighway': [{zIndex: 5, type: 'Line', stroke: '#ffffff', strokeWidth: {14: 1.5, 15: '8m'}}], + 'buildings': [{ + zIndex: 6, + type: 'Polygon', + fill: '#999999', + // define extrude in meters to display polygons with extrusion + extrude: (feature) => feature.properties.height || 0, + // define the base of the extrusion in meters offset from the ground + extrudeBase: (feature) => feature.properties.min_height || 0 + }] + }, + + assign: (feature, level) => { + const props = feature.properties; + const kind = props.kind; + const layer = props.$layer; // the name of the layer in the mvt datasource. + const geom = feature.geometry.type; + + if (layer == 'water') { + if (geom == 'LineString' || geom == 'MultiLineString') { + return; + } + } else if (layer == 'roads') { + if (kind == 'rail' || kind == 'ferry') { + return; + } + if (kind == 'highway') { + return layer + kind; + } + } + return layer; + } + } + }) + ] +}); diff --git a/playground/examples/layer/3d_lines.html b/playground/examples/layer/3d_lines.html new file mode 100644 index 000000000..6d86d3a0e --- /dev/null +++ b/playground/examples/layer/3d_lines.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: 3d Lines + + + +
    + + diff --git a/playground/examples/layer/3d_lines.ts b/playground/examples/layer/3d_lines.ts new file mode 100644 index 000000000..af6466770 --- /dev/null +++ b/playground/examples/layer/3d_lines.ts @@ -0,0 +1,216 @@ +import {MVTLayer, TileLayer, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup layers and display **/ +var baseMapLayer = new MVTLayer({ + name: 'mvt-world-layer', + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + }, + style: { + backgroundColor: '#ECE0CA', + styleGroups: { + 'landuse': [{zIndex: 0, type: 'Polygon', fill: '#ECE0CA'}], + 'pier': [{zIndex: 1, type: 'Polygon', fill: '#ECE0CA', stroke: '#c8b89d', strokeWidth: 2}], + 'park': [{zIndex: 1, type: 'Polygon', fill: '#c8dd97'}], + 'nature_reserve': [{zIndex: 1, type: 'Polygon', fill: '#dadeb0'}], + 'hospital': [{zIndex: 1, type: 'Polygon', fill: '#f3d3d3'}], + 'water': [{zIndex: 2, type: 'Polygon', fill: 'rgb(120,188,237)'}], + 'path': [{zIndex: 3, type: 'Line', stroke: '#c8b89d', strokeWidth: '1m'}], + 'tunnel': [{ + zIndex: 3, + type: 'Line', + stroke: '#ffffff', + strokeWidth: {15: 4, 20: 16}, + strokeDasharray: [4, 4] + }], + 'ferry': [{zIndex: 4, type: 'Line', stroke: '#164ac8', strokeWidth: 1}], + 'highway': [{ + zIndex: 5, + type: 'Line', + stroke: 'white', + repeat: 128, + strokeWidth: {10: 1.5, 15: 4, 16: '12m'} + }], + 'boundaries': [{zIndex: 6, type: 'Line', stroke: '#b3b1ad', strokeWidth: {10: 0.5, 20: 2}}], + 'buildings': [{ + zIndex: 7, type: 'Polygon', fill: 'rgb(170,170,170)', stroke: 'rgb(30,30,30)', + // define extrude in meters to display polygons with extrusion + extrude: function(feature) { + return feature.properties.height || 0; + }, + // define the base of the extrusion in meters offset from the ground + extrudeBase: function(feature) { + return feature.properties.min_height || 0; + } + }], + 'roads': [{zIndex: 4, type: 'Line', stroke: '#ffffff', strokeWidth: {15: 1, 16: '5m'}}, { + zIndex: 6, type: 'Text', fill: '#222222', + font: '12px sans-serif', + strokeWidth: 4, + stroke: 'white', text: function(f) { + return f.properties.name; + }, + // Minimum distance in pixel between repeated text labels on line geometries. + // Applies per tile only. Default is 256 pixel. + repeat: 128, + // Alignment for Text. "map" aligns to the plane of the map. + alignment: 'map', + // Text with a higher priority (lower value) will be drawn before lower priorities (higher value) + // make sure "road labels" are drawn after "place labels". + priority: 2 + }], + 'places': [{ + zIndex: 8, + type: 'Text', + text: function(f) { + return f.properties.name; + }, + stroke: 'black', + fill: 'white', + font: '18px sans-serif', + strokeWidth: 4, + // set collide property to false to enable label collision detection [default] + collide: false, + // Alignment for Text. "viewport" aligns to the plane of the viewport/screen. + alignment: 'viewport', + // Text with a higher priority (lower value) will be drawn before lower priorities (higher value) + // In case of "place label" and "road label" are colliding "place label" will be draw + // because priority 1 is smaller than priority 2 + priority: 1 + }] + }, + assign: function(feature, zoom) { + const props = feature.properties; + const kind = props.kind; + const layer = props.$layer; // the name of the layer in the mvt datasource. + const geom = feature.geometry.type; + + if (layer == 'landuse') { + switch (kind) { + case 'pier': + return 'pier'; + case 'nature_reserve': + return 'nature_reserve'; + case 'park': + case 'garden': + case 'pedestrian': + case 'forrest': + return 'park'; + case 'hospital': + return 'hospital'; + default: + return 'landuse'; + } + } + if (layer == 'water') { + if (geom == 'LineString' || geom == 'MultiLineString') { + return; + } + } else if (layer == 'roads') { + if (kind == 'rail' || kind == 'ferry') { + return; + } + if (props.is_tunnel && zoom > 13) { + return 'tunnel'; + } + if (kind == 'highway' || kind == 'path') { + return kind; + } + } + return layer; + } + } +}); + +let myLayer = new TileLayer({ + min: 12, + max: 25, + provider: new LocalProvider({}) +}); + +// setup the Map Display +let display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -73.9945, latitude: 40.70653 + }, + behavior: { + // allow map pitch by user interaction (mouse/touch) + pitch: true, + // allow map rotation by user interaction (mouse/touch) + rotate: true + }, + // set initial map pitch in degrees + pitch: 50, + // set initial map rotation in degrees + rotate: -30, + layers: [baseMapLayer, myLayer] +}); +/** **/ + +myLayer.addFeature({ + type: 'Feature', + geometry: { + type: 'LineString', + coordinates: [ + [-74.002702802, 40.710598034, 0], + [-74.001064925, 40.709409354, 10], + [-73.999368589, 40.708072037, 30], + [-73.998337217, 40.707269634, 50], + [-73.994388147, 40.704101076, 50], + [-73.993370346, 40.703288338, 30], + [-73.992433968, 40.702557893, 20], + [-73.990074216, 40.700727506, 0] + ] + }, + properties: {} +}, [{ + zIndex: 0, + type: 'Line', + stroke: 'red', + strokeWidth: 20, + // The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + // If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + altitude: true +}]); + +myLayer.addFeature({ + type: 'Feature', + geometry: { + type: 'LineString', + coordinates: [ + [-73.994162405, 40.713611968, 0], + [-73.992594341, 40.710810259, 20], + [-73.991922309, 40.709621632, 40], + [-73.991455206, 40.708815681, 50], + [-73.99084753, 40.707690504, 50], + [-73.990110349, 40.706346307, 50], + [-73.989383129, 40.705092706, 50], + [-73.988730161, 40.703847997, 30], + [-73.988170135, 40.702892752, 20], + [-73.986798064, 40.700387849, 0] + ] + }, + properties: {} +}, [{ + zIndex: 2, + type: 'Line', + stroke: 'red', + strokeWidth: 20, + // The altitude defines the distance in the vertical direction between the ground plane at 0 meters and the geometry/style. + // If altitude is set to true, the altitude from the feature's geometry coordinates will be used automatically. + altitude: true +}, { + zIndex: 1, + // Use a VerticalLine for better visualization of the actual height of the geometry + type: 'VerticalLine', + stroke: 'black' +}, { + zIndex: 0, + type: 'Circle', + radius: 3, + fill: 'rgba(0,0,0,0.4)', + alignment: 'map' +}]); + diff --git a/playground/examples/layer/3d_points.html b/playground/examples/layer/3d_points.html new file mode 100644 index 000000000..adba83d04 --- /dev/null +++ b/playground/examples/layer/3d_points.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: 3d Points + + + +
    + + diff --git a/playground/examples/layer/3d_points.ts b/playground/examples/layer/3d_points.ts new file mode 100644 index 000000000..2c13ef9f4 --- /dev/null +++ b/playground/examples/layer/3d_points.ts @@ -0,0 +1,91 @@ +import {MVTLayer, TileLayer, SpaceProvider, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const display = new Map(document.getElementById('map'), { + zoomlevel: 19, + center: { + longitude: -122.253324, + latitude: 37.795146 + }, + behavior: { + // allow map pitch by user interaction (mouse/touch) + pitch: true, + // allow map rotation by user interaction (mouse/touch) + rotate: true + }, + // set initial map pitch in degrees + pitch: 50, + // add a "background" layer + layers: [new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + })] +}); + + +const createRandomPoints = (size, vp, maxHeight: number = 100) => { + const getRandom = (min, max) => Math.random() * (max - min) + min; + const points = []; + while (size--) { + points[size] = { + type: 'Feature', + geometry: { + type: 'Point', + coordinates: [ + getRandom(vp.minLon, vp.maxLon), + getRandom(vp.minLat, vp.maxLat), + Math.round(getRandom(0, maxHeight)) + ] + } + }; + } + return points; +}; +/** **/ + +const pointLayer = new TileLayer({ + min: 1, + max: 20, + provider: new LocalProvider(), + style: { + styleGroups: { + Point: [{ + zIndex: 1, + type: 'Box', + width: 20, + fill: '#ffde22', + stroke: '#fc4f30', + strokeWidth: 2, + altitude: true + }, { + zIndex: 1, + // Use a VerticalLine for better visualization of the actual height of the geometry + type: 'VerticalLine', + stroke: '#fc4f30' + }, { + zIndex: 0, + // Use a translucent black circle without altitude to act as the "shadow" on the ground plane + type: 'Circle', + radius: 3, + fill: 'black', + opacity: 0.6, + alignment: 'map', + altitude: false + }] + }, + assign: (feature, zoom) => feature.geometry.type + } +}); + +// create 500 Points with random height in the current viewport. +pointLayer.addFeature(createRandomPoints(500, display.getViewBounds())); + +// add the TileLayer to the map +display.addLayer(pointLayer); + + diff --git a/playground/examples/layer/Heatmap.html b/playground/examples/layer/Heatmap.html new file mode 100644 index 000000000..2237d833a --- /dev/null +++ b/playground/examples/layer/Heatmap.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Heatmap + + + +
    + + diff --git a/playground/examples/layer/Heatmap.ts b/playground/examples/layer/Heatmap.ts new file mode 100644 index 000000000..2898809b6 --- /dev/null +++ b/playground/examples/layer/Heatmap.ts @@ -0,0 +1,101 @@ +import {MVTLayer, TileLayer, IMLProvider, HeatmapStyle} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: 4.89381, + latitude: 52.32723 + }, + // add layers to display + layers: [ + new MVTLayer({ + name: 'mvt-world-layer', + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + }, + min: 1, + max: 20, + style: { + backgroundColor: '#555555', + styleGroups: { + + 'earth': [{zIndex: 1, type: 'Polygon', fill: '#555555'}], + 'water': [{zIndex: 2, type: 'Polygon', fill: '#353535'}], + 'landuse': [{zIndex: 3, type: 'Polygon', fill: '#666666'}], + 'roads': [{zIndex: 4, type: 'Line', stroke: '#555', strokeWidth: {14: 1, 15: '4m'}}], + 'roadshighway': [{zIndex: 5, type: 'Line', stroke: '#555', strokeWidth: {14: 1.5, 15: '8m'}}], + 'buildings': [{zIndex: 7, type: 'Polygon', fill: '#999999'}] + }, + assign: function(feature, level) { + const props = feature.properties; + const kind = props.kind; + const layer = props.$layer; // the name of the layer in the mvt datasource. + const geom = feature.geometry.type; + + if (layer == 'water') { + if (geom == 'LineString' || geom == 'MultiLineString') { + return; + } + } + if (layer == 'roads') { + if (kind == 'rail' || kind == 'ferry') { + return; + } + if (kind == 'highway') { + return layer + kind; + } + } + return layer; + } + } + }) + ] +}); +/** **/ + +const heatMapLayer = new TileLayer({ + min: 2, max: 20, + provider: new IMLProvider({ + layer: 'trees', + catalog: 'hrn:here:data::olp-here:dh-showcase-amsterdam', + level: 2, + credentials: { + apiKey: YOUR_API_KEY + } + }), + style: { + styleGroups: { + Heatmap: [{ + zIndex: 0, + type: 'Heatmap', + fill: { + type: 'LinearGradient', + stops: { + 1.0: 'white', + 0.9: '#FCFBAE', + 0.8: '#FAD932', + 0.7: '#F26C19', + 0.5: '#C41D6F', + 0.3: '#70009C', + 0.0: '#1E0073' + } + }, + radius: { + 2: 2, + 20: 24 + }, + intensity: { + 2: 0.1, + 20: 1.0 + } + }] + }, + assign() { + return 'Heatmap'; + } + } +}); + +display.addLayer(heatMapLayer); diff --git a/playground/examples/layer/MVTLayer.html b/playground/examples/layer/MVTLayer.html new file mode 100644 index 000000000..37f84609a --- /dev/null +++ b/playground/examples/layer/MVTLayer.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: MVTLayer + + + +
    + + diff --git a/playground/examples/layer/MVTLayer.ts b/playground/examples/layer/MVTLayer.ts new file mode 100644 index 000000000..656222305 --- /dev/null +++ b/playground/examples/layer/MVTLayer.ts @@ -0,0 +1,62 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 2, + center: { + longitude: -96.76883, latitude: 39.6104 + }, + // add layers to display + layers: [ + new MVTLayer({ + name: 'mvt-world-layer', + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + // optional settings: + // max : 16, // max level for loading data + // min : 1 // min level for loading data + // tileSize : 512 // 512|256 defines mvt tilesize in case it can't be automatically detected in url.. + }, + min: 1, + max: 20, + + style: { + + backgroundColor: '#555555', + + styleGroups: { + + 'earth': [{zIndex: 1, type: 'Polygon', fill: '#555555'}], + 'water': [{zIndex: 2, type: 'Polygon', fill: '#353535'}], + 'landuse': [{zIndex: 3, type: 'Polygon', fill: '#666666'}], + 'roads': [{zIndex: 4, type: 'Line', stroke: '#ffffff', strokeWidth: {14: 1, 15: '4m'}}], + 'roadshighway': [{zIndex: 5, type: 'Line', stroke: '#ffffff', strokeWidth: {14: 1.5, 15: '8m'}}], + 'buildings': [{zIndex: 7, type: 'Polygon', fill: '#999999'}] + }, + + assign: function(feature, level) { + const props = feature.properties; + const kind = props.kind; + const layer = props.$layer; // the name of the layer in the mvt datasource. + const geom = feature.geometry.type; + + if (layer == 'water') { + if (geom == 'LineString' || geom == 'MultiLineString') { + return; + } + } + if (layer == 'roads') { + if (kind == 'rail' || kind == 'ferry') { + return; + } + if (kind == 'highway') { + return layer + kind; + } + } + return layer; + } + } + }) + ] +}); diff --git a/playground/examples/layer/add_remove_building_feature.html b/playground/examples/layer/add_remove_building_feature.html new file mode 100644 index 000000000..ef4635719 --- /dev/null +++ b/playground/examples/layer/add_remove_building_feature.html @@ -0,0 +1,37 @@ + + + + + XYZ Maps Example: Add/Remove a Polygon + + + +
    + Add Building + + diff --git a/playground/examples/layer/add_remove_building_feature.ts b/playground/examples/layer/add_remove_building_feature.ts new file mode 100644 index 000000000..68141ba6c --- /dev/null +++ b/playground/examples/layer/add_remove_building_feature.ts @@ -0,0 +1,78 @@ +import {MVTLayer, TileLayer, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +let buildingLayer = new TileLayer({ + min: 14, + max: 20, + provider: new LocalProvider({ + name: 'my Provider' + }), + style: { + styleGroups: { + style: [ + {zIndex: 0, type: 'Polygon', fill: '#99CEFF', strokeWidth: 1, stroke: '#FFFFFF', opacity: 0.7} + ] + }, + assign: function(feature) { + return 'style'; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.160931, latitude: 37.434539 + }, + + // add layers to display + layers: [backgroundLayer, buildingLayer] +}); +/** **/ + +let addedPolygon; + +// click the button to add/remove a polygon to the TileLayer +const button = document.querySelector('#buildingbutton'); +button.onclick = function() { + if (!addedPolygon) { + // add the polygon to the layer + addedPolygon = buildingLayer.addFeature({ + geometry: { + coordinates: [[[ + [-122.1621648, 37.4348761], + [-122.1613924, 37.4354213], + [-122.1610061, 37.4354086], + [-122.1598635, 37.4343905], + [-122.1598796, 37.4340796], + [-122.1606413, 37.4335301], + [-122.1610383, 37.4335428], + [-122.1621809, 37.4345694], + [-122.1621648, 37.4348761] + ]]], + type: 'MultiPolygon' + }, + type: 'Feature' + }); + + button.innerText = 'Remove Building'; + } else { + // Remove the polygon from the TileLayer + buildingLayer.removeFeature(addedPolygon); + + addedPolygon = null; + + button.innerText = 'Add Building'; + } +}; + + diff --git a/playground/examples/layer/add_remove_line.html b/playground/examples/layer/add_remove_line.html new file mode 100644 index 000000000..70276624a --- /dev/null +++ b/playground/examples/layer/add_remove_line.html @@ -0,0 +1,37 @@ + + + + + XYZ Maps Example: Add/Remove Lines + + + +
    + Add Lines + + diff --git a/playground/examples/layer/add_remove_line.ts b/playground/examples/layer/add_remove_line.ts new file mode 100644 index 000000000..28c3ec916 --- /dev/null +++ b/playground/examples/layer/add_remove_line.ts @@ -0,0 +1,118 @@ +import {MVTLayer, TileLayer, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +var myLayer = new TileLayer({ + min: 15, + max: 20, + provider: new LocalProvider({}), + style: { + styleGroups: { + navlinkStyle: [ + {zIndex: 0, type: 'Line', stroke: '#C799E8', strokeWidth: 12, opacity: 0.9} + ] + }, + assign: function(feature) { + return 'navlinkStyle'; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 18, + center: { + longitude: -117.145577, latitude: 32.707129 + }, + + // add layers to display + layers: [backgroundLayer, myLayer] +}); +/** **/ + +let addedLines; + +// click button to add/remove lines to the TileLayer +const button = document.querySelector('#linebutton'); +button.onclick = function() { + if (!addedLines) { + // add the line features if they have not been added already + addedLines = myLayer.addFeature(lineData); + + button.innerText = 'Remove Lines'; + } else { + // Remove the line features + myLayer.removeFeature(addedLines); + + addedLines = null; + + button.innerText = 'Add Lines'; + } +}; + +// the lines that should be added to the TileLayer +const lineData = { + 'features': [{ + geometry: { + coordinates: [[-117.14666, 32.70627], [-117.1458, 32.70628]], + type: 'LineString' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [[-117.1458, 32.70628], [-117.1458, 32.70732]], + type: 'LineString' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [[-117.14486, 32.70628], [-117.14486, 32.70731]], + type: 'LineString' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [[-117.1458, 32.70732], [-117.1458, 32.70836]], + type: 'LineString' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [[-117.14486, 32.70731], [-117.14488, 32.70836]], + type: 'LineString' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [[-117.14486, 32.70731], [-117.1458, 32.70732]], + type: 'LineString' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [[-117.14667, 32.70732], [-117.1458, 32.70732]], + type: 'LineString' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [[-117.14486, 32.70731], [-117.14397, 32.70732]], + type: 'LineString' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [[-117.1458, 32.70628], [-117.14551, 32.70628], [-117.14526, 32.70628], [-117.14486, 32.70628]], + type: 'LineString' + }, + type: 'Feature' + }], + 'type': 'FeatureCollection' +}; diff --git a/playground/examples/layer/add_remove_point.html b/playground/examples/layer/add_remove_point.html new file mode 100644 index 000000000..92b8e3759 --- /dev/null +++ b/playground/examples/layer/add_remove_point.html @@ -0,0 +1,37 @@ + + + + + XYZ Maps Example: Add/Remove Points + + + +
    + Add Points + + diff --git a/playground/examples/layer/add_remove_point.ts b/playground/examples/layer/add_remove_point.ts new file mode 100644 index 000000000..aa9d79133 --- /dev/null +++ b/playground/examples/layer/add_remove_point.ts @@ -0,0 +1,234 @@ +import {MVTLayer, TileLayer, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +var pointLayer = new TileLayer({ + min: 4, + max: 15, + provider: new LocalProvider({}), + style: { + styleGroups: { + style: [ + {zIndex: 0, type: 'Circle', stroke: '#FFFFFF', fill: '#6B6B6B', radius: 3}, + { + zIndex: 2, + type: 'Text', + fill: '#fa8548', + stroke: '#260704', + strokeWidth: 6, + font: '18px sans-serif', + textRef: 'properties.name' + } + ] + }, + assign: function(feature) { + return 'style'; + } + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 6, + center: { + longitude: 9.610305, latitude: 51.067713 + }, + + // add layers to display + layers: [backgroundLayer, pointLayer] +}); +/** **/ + +let addedPoints; + +// click button to add/remove points to the TileLayer +const button = document.querySelector('#pointbutton'); +button.onclick = function() { + if (!addedPoints) { + // add the point features if they have not been added already + addedPoints = pointLayer.addFeature(pointData); + + button.innerText = 'Remove Points'; + } else { + // Remove the point features + pointLayer.removeFeature(addedPoints); + + addedPoints = null; + button.innerText = 'Add Points'; + } +}; + +// the points that should be added to the layer +let pointData = { + 'features': [{ + geometry: { + coordinates: [13.404954, 52.520008], + type: 'Point' + }, + properties: { + name: 'Berlin' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [11.576124, 48.137154], + type: 'Point' + }, + properties: { + name: 'Munich' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [8.806422, 53.073635], + type: 'Point' + }, + properties: { + name: 'Bremen' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [11.061859, 49.460983], + type: 'Point' + }, + properties: { + name: 'Nuremberg' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [9.993682, 53.551086], + type: 'Point' + }, + properties: { + name: 'Hamburg' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [7.589907, 50.360023], + type: 'Point' + }, + properties: { + name: 'Koblenz' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [9.735603, 52.373920], + type: 'Point' + }, + properties: { + name: 'Hanover' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [8.682127, 50.110924], + type: 'Point' + }, + properties: { + name: 'Frankfurt' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [13.737262, 51.050407], + type: 'Point' + }, + properties: { + name: 'Dresden' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [6.953101, 50.935173], + type: 'Point' + }, + properties: { + name: 'Cologne' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [8.672434, 49.398750], + type: 'Point' + }, + properties: { + name: 'Heidelberg' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [7.468429, 51.514244], + type: 'Point' + }, + properties: { + name: 'Dortmund' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [8.403653, 49.006889], + type: 'Point' + }, + properties: { + name: 'Karlsruhe' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [9.177023, 48.782321], + type: 'Point' + }, + properties: { + name: 'Stuttgart' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [12.387772, 51.343479], + type: 'Point' + }, + properties: { + name: 'Leipzig' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [9.680845, 50.555809], + type: 'Point' + }, + properties: { + name: 'Fulda' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [12.101624, 49.013432], + type: 'Point' + }, + properties: { + name: 'Regensburg' + }, + type: 'Feature' + }, { + geometry: { + coordinates: [11.323544, 50.979492], + type: 'Point' + }, + properties: { + name: 'Weimar' + }, + type: 'Feature' + }], + 'type': 'FeatureCollection' +}; diff --git a/playground/examples/layer/collision_detection.html b/playground/examples/layer/collision_detection.html new file mode 100644 index 000000000..3f49c2171 --- /dev/null +++ b/playground/examples/layer/collision_detection.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Collision Detection + + + +
    + + diff --git a/playground/examples/layer/collision_detection.ts b/playground/examples/layer/collision_detection.ts new file mode 100644 index 000000000..8fa2b532e --- /dev/null +++ b/playground/examples/layer/collision_detection.ts @@ -0,0 +1,87 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 8, + center: { + longitude: -96.76883, latitude: 39.6104 + }, + // add layers to display + layers: [ + new MVTLayer({ + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + }, + style: { + backgroundColor: '#555555', + + styleGroups: { + 'earth': [{zIndex: 1, type: 'Polygon', fill: '#555555'}], + 'water': [{zIndex: 2, type: 'Polygon', fill: '#353535'}], + 'landuse': [{zIndex: 3, type: 'Polygon', fill: '#666666'}], + 'roads': [{zIndex: 4, type: 'Line', stroke: '#939393', strokeWidth: {14: 1, 15: '4m'}}], + 'roadshighway': [{zIndex: 5, type: 'Line', stroke: '#939393', strokeWidth: {14: 1, 15: '8m'}}], + 'buildings': [{zIndex: 7, type: 'Polygon', fill: '#999999'}], + 'places': [{ + zIndex: 8, + type: 'Rect', + width: 20, + fill: '#AEEF45', + // set collide property to false to enable the collision detection. + collide: false, + priority: 2 + }, { + zIndex: 8, + type: 'Rect', + width: 20, + fill: '#AEEF45', + rotation: 45, + // If the collision detection is enabled for multiple Styles within the same StyleGroup, the respective Styles are + // handled as a single Object ("CollisionGroup") where the combined bounding-box is determined automatically. + collide: false + }, { + zIndex: 8, + type: 'Circle', + radius: 18, + stroke: '#AEEF45', + strokeWidth: 2, + collide: false, + // If the collision detection is enabled for multiple Styles within the same StyleGroup, + // the highest priority (lowest value) is used. + priority: 1 + }, { + zIndex: 9, + type: 'Circle', + radius: 5, + fill: '#fff', + // allow collisions and disable the collision detection + collide: true + }] + }, + + assign: (feature, level) => { + const props = feature.properties; + const kind = props.kind; + const layer = props.$layer; // the name of the layer in the mvt datasource. + const geom = feature.geometry.type; + + if (layer == 'water') { + if (geom == 'LineString' || geom == 'MultiLineString') { + return; + } + } + if (layer == 'roads') { + if (kind == 'rail' || kind == 'ferry') { + return; + } + if (kind == 'highway') { + return layer + kind; + } + } + return layer; + } + } + }) + ] +}); diff --git a/playground/examples/layer/custom_style.html b/playground/examples/layer/custom_style.html new file mode 100644 index 000000000..049163446 --- /dev/null +++ b/playground/examples/layer/custom_style.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Customized Layer Styling + + + +
    + + diff --git a/playground/examples/layer/custom_style.ts b/playground/examples/layer/custom_style.ts new file mode 100644 index 000000000..4ace36656 --- /dev/null +++ b/playground/examples/layer/custom_style.ts @@ -0,0 +1,81 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +// configure layers +var layers = [ + new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) +]; +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.247131, latitude: 37.810442 + }, + + // add layers to display + layers: layers +}); +/** **/ + +// Create a TileLayer with custom a layer style +var myLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }), + // customize the layer style + style: { + styleGroups: { + // Highway + 'highway': [ + {'zIndex': 8, 'type': 'Line', 'stroke': '#E5B50B', 'strokeWidth': 18, 'strokeLinecap': 'butt'}, + { + 'zIndex': 9, + 'type': 'Line', + 'stroke': '#1F1A00', + 'strokeWidth': 18, + 'strokeLinecap': 'butt', + 'strokeDasharray': [12, 10] + }, + {zIndex: 10, type: 'Line', stroke: '#F7FABF', strokeWidth: 10}, + {zIndex: 11, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ], + // Primary road + 'primary': [ + {zIndex: 5, type: 'Line', stroke: '#AA84A4', strokeWidth: 18}, + {zIndex: 6, type: 'Line', stroke: '#C799E8', strokeWidth: 16}, + {zIndex: 7, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ], + // Residential road + 'residential': [ + {zIndex: 2, type: 'Line', stroke: '#F9E4A8', strokeWidth: 14}, + {zIndex: 3, type: 'Line', stroke: '#FFFEED', strokeWidth: 12}, + {zIndex: 4, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ], + // Trail + 'path': [ + {zIndex: 0, type: 'Line', stroke: '#FFFFFF', strokeWidth: 10}, + {zIndex: 1, type: 'Text', textRef: 'properties.name', fill: '#3D272B'} + ] + }, + assign: function(feature, zoomlevel) { + let prop = feature.properties; + return prop.type; + } + } +}); + +// Add the layer to the display +display.addLayer(myLayer); diff --git a/playground/examples/layer/label_collision_detection.html b/playground/examples/layer/label_collision_detection.html new file mode 100644 index 000000000..e46db7724 --- /dev/null +++ b/playground/examples/layer/label_collision_detection.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Label Collision detection + + + +
    + + diff --git a/playground/examples/layer/label_collision_detection.ts b/playground/examples/layer/label_collision_detection.ts new file mode 100644 index 000000000..205c71e58 --- /dev/null +++ b/playground/examples/layer/label_collision_detection.ts @@ -0,0 +1,117 @@ +import {MVTLayer} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 16, + center: { + longitude: -74.01137, + latitude: 40.70613 + }, + behavior: { + // allow map pitch by user interaction (mouse/touch) + pitch: true, + // allow map rotation by user interaction (mouse/touch) + rotate: true + }, + // add layers to display + layers: [ + new MVTLayer({ + name: 'mvt-world-layer', + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + }, + style: { + backgroundColor: '#ECE0CA', + + styleGroups: { + 'landuse': [{zIndex: 0, type: 'Polygon', fill: '#ECE0CA'}], + 'pier': [{zIndex: 1, type: 'Polygon', fill: '#ECE0CA', stroke: '#c8b89d', strokeWidth: 2}], + 'park': [{zIndex: 1, type: 'Polygon', fill: '#c8dd97'}], + 'nature_reserve': [{zIndex: 1, type: 'Polygon', fill: '#dadeb0'}], + 'hospital': [{zIndex: 1, type: 'Polygon', fill: '#f3d3d3'}], + 'water': [{zIndex: 2, type: 'Polygon', fill: 'rgb(120,188,237)'}], + 'path': [{zIndex: 3, type: 'Line', stroke: '#c8b89d', strokeWidth: '1m'}], + 'tunnel': [{zIndex: 3, type: 'Line', stroke: '#ffffff', strokeWidth: {15: 4, 20: 16}, strokeDasharray: [4, 4]}], + 'ferry': [{zIndex: 4, type: 'Line', stroke: '#164ac8', strokeWidth: 1}], + 'highway': [{zIndex: 5, type: 'Line', stroke: 'white', strokeWidth: {10: 1.5, 15: 4, 16: '12m'}}], + 'boundaries': [{zIndex: 6, type: 'Line', stroke: '#b3b1ad', strokeWidth: {10: 0.5, 20: 2}}], + 'buildings': [{zIndex: 7, type: 'Polygon', fill: 'rgb(155,175,196)'}], + 'roads': [{zIndex: 4, type: 'Line', stroke: '#ffffff', strokeWidth: {15: 1, 16: '5m'}}, { + zIndex: 6, type: 'Text', fill: '#222222', + font: '12px sans-serif', + strokeWidth: 4, + stroke: 'white', text: (f) => f.properties.name, + // Minimum distance in pixel between repeated text labels on line geometries. + // Applies per tile only. Default is 256 pixel. + repeat: 256, + // Alignment for Text. "map" aligns to the plane of the map. + alignment: 'map', + // Text with a higher priority (lower value) will be drawn before lower priorities (higher value) + // make sure "road labels" are drawn after "place labels". + priority: 2 + }], + 'places': [{ + zIndex: 8, + type: 'Text', + text: (f) => f.properties.name, + stroke: 'white', + fill: 'black', + font: '18px sans-serif', + strokeWidth: 4, + // set collide property to false to enable label collision detection [default for "Text"] + collide: false, + // Alignment for Text. "viewport" aligns to the plane of the viewport/screen. + alignment: 'viewport', + // Text with a higher priority (lower value) will be drawn before lower priorities (higher value) + // In case of "place label" and "road label" are colliding "place label" will be draw + // because priority 1 is smaller than priority 2 + priority: 1 + }] + }, + + assign: (feature, zoom) => { + const props = feature.properties; + const kind = props.kind; + const layer = props.$layer; // the name of the layer in the mvt datasource. + const geom = feature.geometry.type; + + if (layer == 'landuse') { + switch (kind) { + case 'pier': + return 'pier'; + case 'nature_reserve': + return 'nature_reserve'; + case 'park': + case 'garden': + case 'pedestrian': + case 'forrest': + return 'park'; + case 'hospital': + return 'hospital'; + default: + return 'landuse'; + } + } + + if (layer == 'water') { + if (geom == 'LineString' || geom == 'MultiLineString') { + return; + } + } else if (layer == 'roads') { + if (kind == 'rail' || kind == 'ferry') { + return; + } + if (props.is_tunnel && zoom > 13) { + return 'tunnel'; + } + if (kind == 'highway' || kind == 'path') { + return kind; + } + } + return layer; + } + } + }) + ] +}); diff --git a/playground/examples/layer/offset_line.html b/playground/examples/layer/offset_line.html new file mode 100644 index 000000000..a8178f9ac --- /dev/null +++ b/playground/examples/layer/offset_line.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Offset lines + + + +
    + + diff --git a/playground/examples/layer/offset_line.ts b/playground/examples/layer/offset_line.ts new file mode 100644 index 000000000..087348590 --- /dev/null +++ b/playground/examples/layer/offset_line.ts @@ -0,0 +1,56 @@ +import {MVTLayer, TileLayer, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +// Create TileLayer using a LocalProvider +var myLayer = new TileLayer({ + min: 2, + max: 20, + provider: new LocalProvider() +}); +// setup the Map Display +var display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: {longitude: -122.31957, latitude: 37.7881}, + // add layers to display + layers: [ + new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }), + myLayer + ] +}); +/** **/ + +myLayer.addFeature({ + type: 'Feature', + geometry: { + type: 'LineString', + coordinates: [[-122.325, 37.7903], [-122.32321, 37.78718], [-122.32048, 37.78454], [-122.318, 37.78587], [-122.32, 37.787], [-122.32257, 37.79021], [-122.32020, 37.79074], [-122.31768, 37.79042], [-122.31760, 37.78880], [-122.31812, 37.78718], [-122.31693, 37.7867], [-122.31529, 37.78853], [-122.31320, 37.78965], [-122.3119, 37.78997], [-122.31126, 37.78906], [-122.31148, 37.78706], [-122.31299, 37.78637], [-122.31276, 37.78544], [-122.31634, 37.7848]] + } +}, [{ + zIndex: 0, + type: 'Line', + stroke: '#dd4848', + strokeWidth: 8 +}, { + zIndex: 1, + type: 'Line', + stroke: '#1893d9', + // offset line by 10px to the right side (relative to the direction of the line geometry) + offset: 10, + strokeWidth: 2 +}, { + zIndex: 1, + type: 'Line', + stroke: '#54c121', + // offset line by 10px to the left side (relative to the direction of the line geometry) + offset: -10, + strokeWidth: 2 +}] +); diff --git a/playground/examples/layer/preprocessor.html b/playground/examples/layer/preprocessor.html new file mode 100644 index 000000000..579658207 --- /dev/null +++ b/playground/examples/layer/preprocessor.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Remote Preprocessor + + + +
    + + diff --git a/playground/examples/layer/preprocessor.ts b/playground/examples/layer/preprocessor.ts new file mode 100644 index 000000000..f2dfe63c8 --- /dev/null +++ b/playground/examples/layer/preprocessor.ts @@ -0,0 +1,64 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const display = new Map(document.getElementById('map'), { + zoomlevel: 19, + center: { + longitude: -122.253324, + latitude: 37.795146 + }, + // add a "background" layer + layers: [new MVTLayer({ + name: 'background layer', + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + })] +}); +/** **/ + +const placeLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + }, + // this simple preprocessor is adding a horizontal line in the center of each Point geometry. + preProcessor: (input) => { + var features = input.data; + for (var i = 0; i < features.length; i++) { + var geometry = features[i].geometry; + if (geometry.type == 'Point') { + var coordinate = geometry.coordinates; + features.push({ + type: 'Feature', + geometry: { + type: 'LineString', + coordinates: [ + [coordinate[0] - .00005, coordinate[1]], + [coordinate[0] + .00005, coordinate[1]] + ] + } + }); + } + } + return features; + } + }), + style: { + styleGroups: { + Point: [{zIndex: 1, type: 'Circle', radius: 10, fill: '#ffde22', stroke: '#fc4f30', strokeWidth: 3}], + LineString: [{zIndex: 0, type: 'Line', strokeWidth: 8, stroke: '#fc4f30'}] + }, + assign: (feature, zoom) => feature.geometry.type + } +}); + +// add the TileLayer to the map +display.addLayer(placeLayer); diff --git a/playground/examples/layer/remote_search_boundingbox.html b/playground/examples/layer/remote_search_boundingbox.html new file mode 100644 index 000000000..03c9e1176 --- /dev/null +++ b/playground/examples/layer/remote_search_boundingbox.html @@ -0,0 +1,41 @@ + + + + + XYZ Maps Example: Perform a remote search in a TileLayer + + + +
    +
    + + diff --git a/playground/examples/layer/remote_search_boundingbox.ts b/playground/examples/layer/remote_search_boundingbox.ts new file mode 100644 index 000000000..c556e33d4 --- /dev/null +++ b/playground/examples/layer/remote_search_boundingbox.ts @@ -0,0 +1,89 @@ +import {MVTLayer, TileLayer, SpaceProvider, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.253324, latitude: 37.795146 + }, + + // add layers to display + layers: [backgroundLayer] +}); + +// A Display tag shows search area +let searcharea = document.createElement('div'); +searcharea.id = 'searcharea'; +display.getContainer().appendChild(searcharea); +/** **/ + +// create a TileLayer using a SpaceProvider with a remote datasource +// By intention the remoteLayer is not added to the display, because we just us it for remote searches. +// The remote search result will be added to the localLayer to display the result. +const remoteLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) +}); + +const localLayer = new TileLayer({ + min: 14, + max: 20, + provider: new LocalProvider(), + style: { + styleGroups: { + style: [ + {zIndex: 1, type: 'Circle', radius: 8, fill: '#ff9e33', stroke: '#ff5600', strokeWidth: 2} + ] + }, + assign: function(feature, zoomlevel) { + return 'style'; + } + } +}); + +display.addLayer(localLayer); + +// listen for "mapviewchangeend" event +display.addEventListener('mapviewchangeend', (ev) => { + // define the geographical area to search in + let topLeft = display.pixelToGeo(display.getWidth() / 2 - 150, display.getHeight() / 2 - 150); + let bottomRight = display.pixelToGeo(display.getWidth() / 2 + 150, display.getHeight() / 2 + 150); + + // clear the localLayer to just show the result of the remoteLayer search + localLayer.removeFeature((localLayer.getProvider()).all()); + + // search for features in the geographical rectangle + remoteLayer.search({ + rect: { + minLon: topLeft.longitude, + minLat: bottomRight.latitude, + maxLon: bottomRight.longitude, + maxLat: topLeft.latitude + }, + // perform a remote search in the remote datasource, + // if the data is not already available in the local cache of the provider + remote: true, + // when data has been fetched from the remote datasource the onload callback will be called with the result + onload: (features) => { + // Add result to the local layer + localLayer.addFeature(features); + } + }); +}); diff --git a/playground/examples/layer/search_boundingbox.html b/playground/examples/layer/search_boundingbox.html new file mode 100644 index 000000000..26d53f770 --- /dev/null +++ b/playground/examples/layer/search_boundingbox.html @@ -0,0 +1,31 @@ + + + + + XYZ Maps Example: Search for features in an area + + + +
    + + diff --git a/playground/examples/layer/search_boundingbox.ts b/playground/examples/layer/search_boundingbox.ts new file mode 100644 index 000000000..05c8918c6 --- /dev/null +++ b/playground/examples/layer/search_boundingbox.ts @@ -0,0 +1,67 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +var placeLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.253324, + latitude: 37.795146 + }, + // add layers to the display + layers: [backgroundLayer, placeLayer] +}); + +// visualize the search area +const searchAreaElement = document.createElement('div'); +searchAreaElement.id = 'searcharea'; +display.getContainer().appendChild(searchAreaElement); +/** **/ + +let searchResult; + +// wait until the current viewport is ready and all data is initialized +placeLayer.addEventListener('viewportReady', function(ev) { + // define the geographical area to search in + const topLeft = display.pixelToGeo(display.getWidth() / 2 - 150, display.getHeight() / 2 - 150); + const bottomRight = display.pixelToGeo(display.getWidth() / 2 + 150, display.getHeight() / 2 + 150); + + // Reset the style of the previous search result + searchResult && searchResult.forEach((feature) => placeLayer.setStyleGroup(feature)); + + // Search for features by viewbound in place layer + searchResult = placeLayer.search({ + rect: { + minLon: topLeft.longitude, + minLat: bottomRight.latitude, + maxLon: bottomRight.longitude, + maxLat: topLeft.latitude + } + }); + + // highlight the search result + searchResult.forEach((feature) => placeLayer.setStyleGroup(feature, [{ + zIndex: 1, type: 'Circle', radius: 8, fill: '#fff', stroke: '#000', strokeWidth: 2 + }])); +}); + diff --git a/playground/examples/layer/search_id.html b/playground/examples/layer/search_id.html new file mode 100644 index 000000000..c37503129 --- /dev/null +++ b/playground/examples/layer/search_id.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Search a feature by id + + + +
    + + diff --git a/playground/examples/layer/search_id.ts b/playground/examples/layer/search_id.ts new file mode 100644 index 000000000..96b0f97f2 --- /dev/null +++ b/playground/examples/layer/search_id.ts @@ -0,0 +1,72 @@ +import {MVTLayer, TileLayer, SpaceProvider, Feature} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +var placeLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6CkeaGLg', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }), + style: { + styleGroups: { + myPlace: [{ + zIndex: 0, + type: 'Circle', + radius: 8, + fill: '#2eb4ff', + stroke: '#0050b0', + strokeWidth: 2 + }, { + zIndex: 0, + type: 'Text', + fill: '#fff', + stroke: '#0050b0', + strokeWidth: 5, + font: '13px sans-serif', + text: (feature) => feature.id, + priority: 5 + }] + }, + assign: (feature) => 'myPlace' + } +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.253324, latitude: 37.795146 + }, + + // add layers to the display + layers: [backgroundLayer, placeLayer] +}); +/** **/ + +placeLayer.addEventListener('viewportReady', function(ev) { + // Search a specific feature by id + const feature = placeLayer.search({id: 'yzTilZp7Z3VqlCNO'}); + // Set style to highlight the feature + placeLayer.setStyleGroup(feature, [{ + zIndex: 0, + type: 'Text', + fill: '#ffffff', + stroke: '#ff5a30', + font: '18px sans-serif', + strokeWidth: 5, + text: (feature) => feature.id, + priority: 1 + }]); +}); diff --git a/playground/examples/layer/set_layer_color.html b/playground/examples/layer/set_layer_color.html new file mode 100644 index 000000000..447f1894d --- /dev/null +++ b/playground/examples/layer/set_layer_color.html @@ -0,0 +1,48 @@ + + + + + XYZ Maps Example: Change the Style of a TileLayer + + + +
    +
    + +
    +
    + + diff --git a/playground/examples/layer/set_layer_color.ts b/playground/examples/layer/set_layer_color.ts new file mode 100644 index 000000000..a8e7bce91 --- /dev/null +++ b/playground/examples/layer/set_layer_color.ts @@ -0,0 +1,75 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); + + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 16, + center: { + longitude: -122.285482, latitude: 37.819649 + }, + + // add layers to display + layers: [backgroundLayer] +}); +/** **/ + +let lineLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }), + // by default all features of a TileLayer will be displayed with the assign style of the layer.style + style: { + styleGroups: { + lineStyle: [ + {zIndex: 0, type: 'Line', opacity: 0.7, strokeWidth: 8, stroke: '#bd0026'} + ] + }, + assign: function() { + return 'lineStyle'; + } + } +}); + +const colors = ['#ffffcc', '#a1dab4', '#41b6c4', '#2c7fb8', '#253494', '#fed976', '#feb24c', '#fd8d3c', '#f03b20', '#bd0026']; + +colors.forEach(function(color) { + // create color swatches + var swatch = document.createElement('button'); + swatch.style.backgroundColor = color; + + // update set the new layer style on click + swatch.addEventListener('click', () => { + let style = lineLayer.getStyle(); + + // update the style + style.styleGroups.lineStyle[0].stroke = color; + + // set layer style + lineLayer.setStyle(style); + + // refresh the layer + display.refresh(lineLayer); + }); + + document.querySelector('#swatches').appendChild(swatch); +}); + + +// add the layer to the display +display.addLayer(lineLayer); diff --git a/playground/examples/layer/settag_space_provider.html b/playground/examples/layer/settag_space_provider.html new file mode 100644 index 000000000..e161a9261 --- /dev/null +++ b/playground/examples/layer/settag_space_provider.html @@ -0,0 +1,22 @@ + + + + + XYZ Maps Example: Set Tag in Space Layer + + + +
    + + Set Tag + + diff --git a/playground/examples/layer/settag_space_provider.ts b/playground/examples/layer/settag_space_provider.ts new file mode 100644 index 000000000..198866b0a --- /dev/null +++ b/playground/examples/layer/settag_space_provider.ts @@ -0,0 +1,50 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; +/** setup the Map **/ +// configure layers +var layers = [ + new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + }) +]; +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 2, + center: { + longitude: -96.76883, latitude: 39.6104 + }, + + // add layers to display + layers: layers +}); +/** **/ + +// Create Space provider +let mySpaceProvider = new SpaceProvider({ + name: 'SpaceProvider', + level: 1, + space: 'KjZI17j2', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } +}); +// Create data layer with Space provider +let myLayer = new TileLayer({ + name: 'SpaceLayer', + provider: mySpaceProvider, + min: 2, + max: 20 +}); + +// Add the layer to display +display.addLayer(myLayer); + +document.querySelector('#settagbtn').onclick = function() { + // set tag for SpaceProvider + // this example displays different kind of Stadium around the world, you could set tags: baseball, soccer, football to filter these stadiums + mySpaceProvider.setTags(document.querySelector('input').value); +}; diff --git a/playground/examples/layer/style_drawingorder.html b/playground/examples/layer/style_drawingorder.html new file mode 100644 index 000000000..7108c40b0 --- /dev/null +++ b/playground/examples/layer/style_drawingorder.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: The Drawing Order + + + +
    + + diff --git a/playground/examples/layer/style_drawingorder.ts b/playground/examples/layer/style_drawingorder.ts new file mode 100644 index 000000000..e3340098d --- /dev/null +++ b/playground/examples/layer/style_drawingorder.ts @@ -0,0 +1,96 @@ +import {MVTLayer, TileLayer, LocalProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +const myLayer2 = new TileLayer({ + min: 2, + max: 20, + provider: new LocalProvider({}) +}); +const myLayer3 = new TileLayer({ + min: 2, + max: 20, + provider: new LocalProvider({}) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.254528, + latitude: 37.796249 + }, + // add layers to display + layers: [] +}); +/** **/ + +// if the "zLayer" is not described explicitly in the layer styles +// the display layer order is defining the respective zLayer starting at 1. + +// backgroundLayer is the first layer being added +display.addLayer(backgroundLayer); +// myLayer2 is the second layer being added +display.addLayer(myLayer2); +// myLayer3 is the third layer being added +display.addLayer(myLayer3); + +// add 2 Points to the second layer "myLayer2" in the display layer order. +// first Point should rendered in red. +// the second point should be rendered in orange on top of point 1. +myLayer2.addFeature({ + type: 'Feature', + geometry: { + type: 'Point', + coordinates: [-122.254528, 37.796249] + } +}, [{ + // If no zLayer is defined the zLayer depends on the display layer order. + // Because myLayer2 is the second layer the zLayer property is automatically assigned 2 + // zLayer: 2, + zIndex: 0, // Indicates the drawing order within a layer (relative to zLayer) + type: 'Circle', + radius: 32, + fill: 'red', + stroke: 'orange', + strokeWidth: 3 +}]); +myLayer2.addFeature({ + type: 'Feature', + geometry: { + type: 'Point', + coordinates: [-122.2542, 37.796249] + } +}, [{ + zIndex: 5, // make sure orange circle is drawn on top of red circle (zIndex:0) + type: 'Circle', + radius: 32, + fill: 'orange', + stroke: 'black', + strokeWidth: 3 +}]); + +// add another point to the third layer "myLayer3" in display layer order. +// The fill color should be blue and it should be displayed on top of red circle but below the orange circle. +myLayer3.addFeature({ + type: 'Feature', + geometry: { + type: 'Point', + coordinates: [-122.2544, 37.7965] + } +}, [{ + zLayer: 2, // we want to "mix" data of myLayer3 within data of myLayer2 + zIndex: 3, // define to be displayed between red circle (zIndex:0) and orange circle (zIndex:5) + type: 'Circle', + radius: 32, + fill: '#2284fc', + stroke: 'white', + strokeWidth: 3 +}]); diff --git a/playground/examples/layer/style_navlink.html b/playground/examples/layer/style_navlink.html new file mode 100644 index 000000000..d76fb383e --- /dev/null +++ b/playground/examples/layer/style_navlink.html @@ -0,0 +1,37 @@ + + + + + XYZ Maps Example: Pick a random Road in the viewport + + + +
    + Highlight random line + + diff --git a/playground/examples/layer/style_navlink.ts b/playground/examples/layer/style_navlink.ts new file mode 100644 index 000000000..b9725f4ae --- /dev/null +++ b/playground/examples/layer/style_navlink.ts @@ -0,0 +1,56 @@ +import {MVTLayer, TileLayer, SpaceProvider, Feature} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +let backgroundLayer = new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } +}); +var myLayer = new TileLayer({ + min: 14, + max: 20, + provider: new SpaceProvider({ + level: 14, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.254528, latitude: 37.796249 + }, + + // add layers to display + layers: [backgroundLayer, myLayer] +}); +/** **/ + +let highlightedFeature; + +// click the button to pick a random line in current viewport and highlight it +document.querySelector('#style').onclick = function() { + if (highlightedFeature) { + // restore the default style of the previous highlighted line feature + myLayer.setStyleGroup(highlightedFeature); + } + // get all line in the current viewport + let lines = myLayer.search({rect: display.getViewBounds()}); + + // pick a random line + highlightedFeature = lines[Math.floor(lines.length * Math.random())]; + + // highlight the line + myLayer.setStyleGroup(highlightedFeature, [ + {zIndex: 4, type: 'Line', stroke: '#AA84A4', strokeWidth: 18, opacity: 0.9}, + {zIndex: 5, type: 'Line', stroke: '#C799E8', strokeWidth: 14, opacity: 0.9}, + {zIndex: 6, type: 'Text', textRef: 'properties.name', fill: '#3D272B', stroke: 'white', strokeWidth: 5} + ]); +}; diff --git a/playground/examples/layer/style_zoomrange.html b/playground/examples/layer/style_zoomrange.html new file mode 100644 index 000000000..1fd70eb38 --- /dev/null +++ b/playground/examples/layer/style_zoomrange.html @@ -0,0 +1,21 @@ + + + + + XYZ Maps Example: Styles and zoomRanges + + + +
    + Show New Style + + diff --git a/playground/examples/layer/style_zoomrange.ts b/playground/examples/layer/style_zoomrange.ts new file mode 100644 index 000000000..2f0fd39af --- /dev/null +++ b/playground/examples/layer/style_zoomrange.ts @@ -0,0 +1,59 @@ +import {MVTLayer, TileLayer, SpaceProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +/** setup the Map **/ +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -122.254528, + latitude: 37.796249 + }, + // add layers to display + layers: [new MVTLayer({ + min: 1, + max: 20, + remote: { + url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY + } + })] +}); +/** **/ + +const myLayer = new TileLayer({ + min: 2, + max: 20, + provider: new SpaceProvider({ + level: 2, + space: '6HMU19KY', + credentials: { + access_token: YOUR_ACCESS_TOKEN + } + }), + style: { + styleGroups: { + 'line': [{ + zIndex: 0, + type: 'Line', + // StyleZoomRange + // for intermediate zoom levels will be interpolated linearly + strokeWidth: { + // zoom 2px for zoomlevel 1 to 13 + 14: 2, // 2px at zoomlevel 14 + 17: 18, // 18px at zoomlevel 17 + 20: 44 // 44px at zoomlevel 20 + }, + // zoomRanges can also be applied to colors + stroke: { + 10: 'red', + 20: 'blue' + } + }] + }, + assign: function(feature, zoomlevel) { + return 'line'; + } + } +}); + +// add the TileLayer to the display +display.addLayer(myLayer); diff --git a/playground/examples/layer/visualize_sat_image.html b/playground/examples/layer/visualize_sat_image.html new file mode 100644 index 000000000..316a8e4f2 --- /dev/null +++ b/playground/examples/layer/visualize_sat_image.html @@ -0,0 +1,20 @@ + + + + + XYZ Maps Example: Visualize Satellite Images + + + +
    + + diff --git a/playground/examples/layer/visualize_sat_image.ts b/playground/examples/layer/visualize_sat_image.ts new file mode 100644 index 000000000..b07a0e77a --- /dev/null +++ b/playground/examples/layer/visualize_sat_image.ts @@ -0,0 +1,32 @@ +import {TileLayer, ImageProvider} from '@here/xyz-maps-core'; +import {Map} from '@here/xyz-maps-display'; + +// Create a TileLayer using a ImageProvider +var myLayer = new TileLayer({ + // Name of the layer + name: 'mySatelliteImages', + // Minimum zoom level + min: 14, + // Maximum zoom level + max: 20, + // set the tileSize in pixel + tileSize: 512, + // Define provider for this layer + provider: new ImageProvider({ + // Name of the provider + name: 'myImageProvider', + // URL of image tiles + url: `https://maps.hereapi.com/v3/background/mc/{z}/{x}/{y}/png8?apikey=${YOUR_API_KEY}&style=satellite.day&size=512` + }) +}); + +// setup the Map Display +const display = new Map(document.getElementById('map'), { + zoomlevel: 17, + center: { + longitude: -117.15406, + latitude: 32.72966 + }, + // add layer to display + layers: [myLayer] +}); diff --git a/playground/index.html b/playground/index.html new file mode 100644 index 000000000..af54bc013 --- /dev/null +++ b/playground/index.html @@ -0,0 +1,17 @@ + + + + + + + + XYZ Maps Playground + + + + + +
    + + + diff --git a/playground/index.js b/playground/index.js new file mode 100644 index 000000000..508622b5d --- /dev/null +++ b/playground/index.js @@ -0,0 +1,22 @@ +!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t={exports:{}},n={},r=Symbol.for("react.element"),l=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),m=Symbol.iterator;var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||h}function b(){}function w(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||h}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=y.prototype;var k=w.prototype=new b;k.constructor=w,g(k,y.prototype),k.isPureReactComponent=!0;var x=Array.isArray,S=Object.prototype.hasOwnProperty,E={current:null},_={key:!0,ref:!0,__self:!0,__source:!0};function C(e,t,n){var l,a={},o=null,i=null;if(null!=t)for(l in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(o=""+t.key),t)S.call(t,l)&&!_.hasOwnProperty(l)&&(a[l]=t[l]);var u=arguments.length-2;if(1===u)a.children=n;else if(1>>1,a=e[r];if(!(0>>1;rl(u,n))sl(c,u)?(e[r]=c,e[s]=n,r=s):(e[r]=u,e[i]=n,r=i);else{if(!(sl(c,n)))break e;e[r]=c,e[s]=n,r=s}}}return t}function l(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,i=o.now();e.unstable_now=function(){return o.now()-i}}var u=[],s=[],c=1,d=null,f=3,p=!1,m=!1,h=!1,g="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var l=n(s);null!==l;){if(null===l.callback)r(s);else{if(!(l.startTime<=e))break;r(s),l.sortIndex=l.expirationTime,t(u,l)}l=n(s)}}function w(e){if(h=!1,b(e),!m)if(null!==n(u))m=!0,O(k);else{var t=n(s);null!==t&&R(w,t.startTime-e)}}function k(t,l){m=!1,h&&(h=!1,v(_),_=-1),p=!0;var a=f;try{for(b(l),d=n(u);null!==d&&(!(d.expirationTime>l)||t&&!L());){var o=d.callback;if("function"==typeof o){d.callback=null,f=d.priorityLevel;var i=o(d.expirationTime<=l);l=e.unstable_now(),"function"==typeof i?d.callback=i:d===n(u)&&r(u),b(l)}else r(u);d=n(u)}if(null!==d)var c=!0;else{var g=n(s);null!==g&&R(w,g.startTime-l),c=!1}return c}finally{d=null,f=a,p=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var x,S=!1,E=null,_=-1,C=5,P=-1;function L(){return!(e.unstable_now()-Pe||125o?(r.sortIndex=a,t(s,r),null===n(u)&&r===n(s)&&(h?(v(_),_=-1):h=!0,R(w,a-o))):(r.sortIndex=i,t(u,r),m||p||(m=!0,O(k))),r},e.unstable_shouldYield=L,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}}(A),function(e){e.exports=A}(U); +/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +var V=t.exports,H=U.exports;function B(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n