├── .editorconfig ├── .eslintrc.js ├── .github ├── CODEOWNERS └── workflows │ ├── cicd.yaml │ ├── deploy.yaml │ └── npm-publish.yaml ├── .gitignore ├── .husky ├── .gitignore └── pre-commit ├── .ort.yml ├── .yarn └── releases │ └── yarn-1.22.19.js ├── .yarnrc ├── .yarnrc.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── build ├── createToken.ts └── tools.ts ├── debug ├── dbgTools.js ├── editor.html ├── grid.html ├── index.html └── token.tmpl.js ├── lerna.json ├── package.json ├── packages ├── common │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── AStar.ts │ │ ├── BinaryHeap.ts │ │ ├── Color.ts │ │ ├── Expressions │ │ │ ├── ArrayExpressions.ts │ │ │ ├── ConditionalExpressions.ts │ │ │ ├── Expression.ts │ │ │ ├── ExpressionParser.ts │ │ │ ├── Expressions.ts │ │ │ ├── InterpolateExpression.ts │ │ │ ├── LogicalExpressions.ts │ │ │ ├── LookupExpression.ts │ │ │ ├── MathExpressions.ts │ │ │ ├── StringExpressions.ts │ │ │ └── TypeExpressions.ts │ │ ├── JSUtils.ts │ │ ├── LRU.ts │ │ ├── Listener.ts │ │ ├── Map.ts │ │ ├── Queue.ts │ │ ├── Set.ts │ │ ├── Task.ts │ │ ├── TaskManager.ts │ │ ├── Vec3.ts │ │ ├── geometry.ts │ │ ├── geotools.ts │ │ ├── global.ts │ │ ├── index.ts │ │ └── parseJSONArray.ts │ └── tsconfig.json ├── core │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── build │ │ ├── bundle.js │ │ └── intro.js │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── features │ │ │ ├── ClusterFeature.ts │ │ │ ├── Feature.ts │ │ │ ├── GeoJSON.ts │ │ │ ├── RTree.ts │ │ │ ├── TerrainFeature.ts │ │ │ └── utils.ts │ │ ├── geo │ │ │ ├── GeoPoint.ts │ │ │ └── GeoRect.ts │ │ ├── index.ts │ │ ├── layers │ │ │ ├── CustomLayer.ts │ │ │ ├── Layer.ts │ │ │ ├── LayerOptions.ts │ │ │ ├── MVTLayer.ts │ │ │ ├── MVTLayerOptions.ts │ │ │ ├── TileLayer.ts │ │ │ ├── TileLayerOptions.ts │ │ │ ├── cluster │ │ │ │ ├── ClusterTileLayer.ts │ │ │ │ └── ClusterTileLayerOptions.ts │ │ │ └── terrain │ │ │ │ ├── TerrainStyle.ts │ │ │ │ ├── TerrainTileLayer.ts │ │ │ │ └── TerrainTileLayerOptions.ts │ │ ├── loaders │ │ │ ├── ConcurrentTileLoader.ts │ │ │ ├── HTTPLoader.ts │ │ │ ├── MVT │ │ │ │ ├── MVTLoader.ts │ │ │ │ ├── MVTWorker.ts │ │ │ │ ├── XYZBin.ts │ │ │ │ └── triangulate.ts │ │ │ ├── Manager.ts │ │ │ ├── TileLoader.ts │ │ │ ├── http.ts │ │ │ └── webworker │ │ │ │ ├── HTTPLoader.ts │ │ │ │ └── HTTPWorker.ts │ │ ├── pixel │ │ │ ├── PixelPoint.ts │ │ │ └── PixelRect.ts │ │ ├── projection │ │ │ └── webMercator.ts │ │ ├── providers │ │ │ ├── ClusterProvider │ │ │ │ └── ClusterProvider.ts │ │ │ ├── EditableFeatureProvider.ts │ │ │ ├── FeatureProvider.ts │ │ │ ├── FeatureRegistry.ts │ │ │ ├── GeoJSONProvider.ts │ │ │ ├── GeoSpace │ │ │ │ ├── SpaceOptions.ts │ │ │ │ └── SpaceProvider.ts │ │ │ ├── HTTPProvider │ │ │ │ ├── HTTPProvider.ts │ │ │ │ └── HTTPProviderOptions.ts │ │ │ ├── IMLProvider │ │ │ │ ├── IMLProvider.ts │ │ │ │ └── IMLProviderOptions.ts │ │ │ ├── ImageProvider.ts │ │ │ ├── ImageProviderOptions.ts │ │ │ ├── LocalProvider.ts │ │ │ ├── MVTProvider │ │ │ │ ├── MVTProvider.ts │ │ │ │ ├── MVTTile.ts │ │ │ │ └── toGeojson.ts │ │ │ ├── RemoteTileProvider │ │ │ │ ├── EditableRemoteTileProvider.ts │ │ │ │ ├── EditableRemoteTileProviderOptions.ts │ │ │ │ ├── FixedLevelTileLoadDelegator.ts │ │ │ │ ├── RemoteTileProvider.ts │ │ │ │ ├── RemoteTileProviderOptions.ts │ │ │ │ ├── TileLoadDelegator.ts │ │ │ │ ├── TileReceiver.ts │ │ │ │ └── processors.ts │ │ │ ├── TerrainProvider │ │ │ │ ├── RTINMeshBuilder.ts │ │ │ │ ├── TerrainTileProvider.ts │ │ │ │ ├── TerrainWorker.ts │ │ │ │ ├── TerrainWorkerLoader.ts │ │ │ │ ├── TransferableCollector.ts │ │ │ │ ├── XYZTerra.ts │ │ │ │ ├── heightmapUtils.ts │ │ │ │ └── terrainUtils.ts │ │ │ └── TileProvider │ │ │ │ ├── TileProvider.ts │ │ │ │ └── TileProviderOptions.ts │ │ ├── route │ │ │ └── Route.ts │ │ ├── service │ │ │ └── GeoCoder.ts │ │ ├── storage │ │ │ ├── LRUStorage.ts │ │ │ ├── Level2Storage.ts │ │ │ └── TileStorage.ts │ │ ├── styles │ │ │ ├── BoxStyle.ts │ │ │ ├── CircleStyle.ts │ │ │ ├── GenericStyle.ts │ │ │ ├── HeatmapStyle.ts │ │ │ ├── ImageStyle.ts │ │ │ ├── LayerStyle.ts │ │ │ ├── LineStyle.ts │ │ │ ├── ModelStyle.ts │ │ │ ├── OSMStyle.ts │ │ │ ├── PolygonStyle.ts │ │ │ ├── RectStyle.ts │ │ │ ├── SphereStyle.ts │ │ │ ├── TextStyle.ts │ │ │ ├── VerticalLineStyle.ts │ │ │ ├── XYZLayerStyle.ts │ │ │ └── default.ts │ │ ├── tile │ │ │ ├── Tile.ts │ │ │ └── TileUtils.ts │ │ └── workers.ts │ └── tsconfig.json ├── display │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── assets │ │ ├── xyz-maps.png │ │ └── xyz.svg │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── DOMTools.ts │ │ ├── Grid.ts │ │ ├── Map.ts │ │ ├── MapOptions.ts │ │ ├── MapViewListener.ts │ │ ├── animation │ │ │ ├── Animation.ts │ │ │ ├── Animator.ts │ │ │ ├── Easings.ts │ │ │ ├── FlightAnimator.ts │ │ │ ├── KineticPanAnimator.ts │ │ │ └── ZoomAnimator.ts │ │ ├── behavior │ │ │ ├── Behavior.ts │ │ │ └── ScrollHandler.ts │ │ ├── displays │ │ │ ├── BasicBucket.ts │ │ │ ├── BasicDisplay.ts │ │ │ ├── BasicRender.ts │ │ │ ├── BasicTile.ts │ │ │ ├── FeatureModifier.ts │ │ │ ├── ImageLoader.ts │ │ │ ├── Layers.ts │ │ │ ├── Preview.ts │ │ │ ├── canvas │ │ │ │ ├── Canvas.ts │ │ │ │ ├── CanvasTile.ts │ │ │ │ ├── CanvasTileBucket.ts │ │ │ │ ├── Display.ts │ │ │ │ ├── LayerClusterer.ts │ │ │ │ ├── LineSymbolDrawer.ts │ │ │ │ ├── LineTextDrawer.ts │ │ │ │ ├── Painter.ts │ │ │ │ ├── ctxCache.ts │ │ │ │ ├── draw.ts │ │ │ │ ├── drawLine.ts │ │ │ │ └── drawPoint.ts │ │ │ ├── styleTools.ts │ │ │ ├── textUtils.ts │ │ │ └── webgl │ │ │ │ ├── Atlas.ts │ │ │ │ ├── Bucket.ts │ │ │ │ ├── CollisionHandler.ts │ │ │ │ ├── DashAtlas.ts │ │ │ │ ├── Display.ts │ │ │ │ ├── GLExtensions.ts │ │ │ │ ├── GLRender.ts │ │ │ │ ├── GLTile.ts │ │ │ │ ├── GlyphAtlas.ts │ │ │ │ ├── GlyphManager.ts │ │ │ │ ├── GlyphTexture.ts │ │ │ │ ├── GradientFactory.ts │ │ │ │ ├── IconAtlas.ts │ │ │ │ ├── ObjParser.ts │ │ │ │ ├── Raycaster.ts │ │ │ │ ├── Texture.ts │ │ │ │ ├── TextureAtlasManager.ts │ │ │ │ ├── XYZWorker.ts │ │ │ │ ├── arabic.ts │ │ │ │ ├── buffer │ │ │ │ ├── Attribute.ts │ │ │ │ ├── DistanceGroup.ts │ │ │ │ ├── FeatureFactory.ts │ │ │ │ ├── GeometryBuffer.ts │ │ │ │ ├── LineFactory.ts │ │ │ │ ├── ModelFactory.ts │ │ │ │ ├── addBox.ts │ │ │ │ ├── addExtrude.ts │ │ │ │ ├── addIcon.ts │ │ │ │ ├── addLineString.ts │ │ │ │ ├── addPoint.ts │ │ │ │ ├── addPolygon.ts │ │ │ │ ├── addSphere.ts │ │ │ │ ├── addText.ts │ │ │ │ ├── addVerticalLine.ts │ │ │ │ ├── createBuffer.ts │ │ │ │ ├── createImageBuffer.ts │ │ │ │ ├── createText.ts │ │ │ │ ├── debugTileBuffer.ts │ │ │ │ ├── glType.ts │ │ │ │ └── templates │ │ │ │ │ ├── BoxBuffer.ts │ │ │ │ │ ├── ExtrudeBuffer.ts │ │ │ │ │ ├── FlexArray.ts │ │ │ │ │ ├── HeatmapBuffer.ts │ │ │ │ │ ├── LineBuffer.ts │ │ │ │ │ ├── ModelBuffer.ts │ │ │ │ │ ├── PointBuffer.ts │ │ │ │ │ ├── PolygonBuffer.ts │ │ │ │ │ ├── SphereBuffer.ts │ │ │ │ │ ├── SymbolBuffer.ts │ │ │ │ │ ├── TemplateBuffer.ts │ │ │ │ │ ├── TemplateBufferBucket.ts │ │ │ │ │ └── TextBuffer.ts │ │ │ │ ├── glTools.ts │ │ │ │ ├── glsl │ │ │ │ ├── box_fragment.glsl │ │ │ │ ├── box_vertex.glsl │ │ │ │ ├── circle_fragment.glsl │ │ │ │ ├── circle_vertex.glsl │ │ │ │ ├── extrude_vertex.glsl │ │ │ │ ├── fill_fragment.glsl │ │ │ │ ├── heatmap_fragment.glsl │ │ │ │ ├── heatmap_vertex.glsl │ │ │ │ ├── icon_fragment.glsl │ │ │ │ ├── icon_vertex.glsl │ │ │ │ ├── image_fragment.glsl │ │ │ │ ├── image_vertex.glsl │ │ │ │ ├── intro_vertex.glsl │ │ │ │ ├── light.glsl │ │ │ │ ├── line_fragment.glsl │ │ │ │ ├── line_vertex.glsl │ │ │ │ ├── model_fragment.glsl │ │ │ │ ├── model_vertex.glsl │ │ │ │ ├── polygon_fragment.glsl │ │ │ │ ├── polygon_vertex.glsl │ │ │ │ ├── rect_fragment.glsl │ │ │ │ ├── rect_vertex.glsl │ │ │ │ ├── sky_fragment.glsl │ │ │ │ ├── sky_vertex.glsl │ │ │ │ ├── text_fragment.glsl │ │ │ │ └── text_vertex.glsl │ │ │ │ ├── lights.ts │ │ │ │ ├── program │ │ │ │ ├── Box.ts │ │ │ │ ├── Circle.ts │ │ │ │ ├── DashedLine.ts │ │ │ │ ├── Extrude.ts │ │ │ │ ├── GLStates.ts │ │ │ │ ├── Heatmap.ts │ │ │ │ ├── Icon.ts │ │ │ │ ├── Image.ts │ │ │ │ ├── Line.ts │ │ │ │ ├── Model.ts │ │ │ │ ├── Polygon.ts │ │ │ │ ├── Program.ts │ │ │ │ ├── Rect.ts │ │ │ │ ├── Sky.ts │ │ │ │ ├── Sphere.ts │ │ │ │ └── Text.ts │ │ │ │ └── unicode.ts │ │ ├── event │ │ │ ├── Dispatcher.ts │ │ │ └── Event.ts │ │ ├── geometry.ts │ │ ├── index.ts │ │ ├── search │ │ │ ├── Hit.ts │ │ │ └── Search.ts │ │ └── ui │ │ │ ├── Compass.ts │ │ │ ├── Logo.ts │ │ │ ├── UI.ts │ │ │ ├── UIComponent.ts │ │ │ ├── ZoomControl.ts │ │ │ └── copyright │ │ │ ├── Copyright.ts │ │ │ ├── CopyrightDetails.ts │ │ │ └── CopyrightSource.ts │ └── tsconfig.json ├── editor │ ├── .gitignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── assets │ │ └── icons │ │ │ ├── arrow.d.hint.gif │ │ │ ├── arrow.gif │ │ │ ├── arrow.hint.gif │ │ │ ├── car.gif │ │ │ ├── default.gif │ │ │ ├── noentry_24.gif │ │ │ ├── oneway_24.gif │ │ │ ├── pedestrian_24.gif │ │ │ ├── pointA.gif │ │ │ ├── pointB.gif │ │ │ ├── rotate.black.gif │ │ │ ├── rotate.white.gif │ │ │ └── thoroughfare_24.gif │ ├── package.json │ ├── rollup.config.js │ ├── src │ │ ├── API │ │ │ ├── DrawingBoard.ts │ │ │ ├── ERangeSelector.ts │ │ │ ├── Editor.ts │ │ │ ├── EditorEvent.ts │ │ │ ├── EditorOptions.ts │ │ │ └── MCrossing.ts │ │ ├── DisplayListener.ts │ │ ├── Hooks.ts │ │ ├── IEditor.ts │ │ ├── features │ │ │ ├── Container.ts │ │ │ ├── History.ts │ │ │ ├── LinkSplitter.ts │ │ │ ├── ObjectManager.ts │ │ │ ├── Overlay.ts │ │ │ ├── SelectionHandler.ts │ │ │ ├── area │ │ │ │ ├── Area.ts │ │ │ │ ├── AreaShape.ts │ │ │ │ ├── HeightKnob.ts │ │ │ │ ├── PolygonTools.ts │ │ │ │ └── VirtualShape.ts │ │ │ ├── feature │ │ │ │ ├── EditorProperties.ts │ │ │ │ ├── Feature.ts │ │ │ │ ├── FeatureTools.ts │ │ │ │ └── Properties.ts │ │ │ ├── line │ │ │ │ ├── Line.ts │ │ │ │ ├── LineShape.ts │ │ │ │ ├── LineTools.ts │ │ │ │ └── VirtualShape.ts │ │ │ ├── link │ │ │ │ ├── GeoFence.ts │ │ │ │ ├── Navlink.ts │ │ │ │ ├── NavlinkShape.ts │ │ │ │ ├── NavlinkTools.ts │ │ │ │ └── VirtualShape.ts │ │ │ ├── location │ │ │ │ ├── Address.ts │ │ │ │ ├── Location.ts │ │ │ │ ├── LocationTools.ts │ │ │ │ ├── Place.ts │ │ │ │ ├── RoutingPoint.ts │ │ │ │ └── triggerEvent.ts │ │ │ ├── marker │ │ │ │ ├── Marker.ts │ │ │ │ └── MarkerTools.ts │ │ │ └── oTools.ts │ │ ├── geometry.ts │ │ ├── handlers │ │ │ ├── EventHandler.ts │ │ │ └── ObserverHandler.ts │ │ ├── hooks │ │ │ ├── init.ts │ │ │ └── turnRestriction.ts │ │ ├── index.ts │ │ ├── map │ │ │ ├── GeoMath.ts │ │ │ └── Map.ts │ │ ├── providers │ │ │ ├── FeatureSubmitter.ts │ │ │ └── OverlayLayer.ts │ │ ├── styles │ │ │ ├── OverlayStyles.ts │ │ │ ├── WikiPOIStyles.ts │ │ │ └── WikiStyles.ts │ │ └── tools │ │ │ ├── CrossingTester.ts │ │ │ ├── DirectionHint.ts │ │ │ ├── drawingBoards │ │ │ ├── ClickDraw.ts │ │ │ ├── DrawingShape.ts │ │ │ ├── LineString.ts │ │ │ └── Polygon.ts │ │ │ ├── rangeSelector │ │ │ ├── MultiLink.ts │ │ │ ├── MultiSelector.ts │ │ │ ├── Range.ts │ │ │ └── RangeMarker.ts │ │ │ ├── transformer │ │ │ ├── Knob.ts │ │ │ ├── MoveKnob.ts │ │ │ ├── RotateKnob.ts │ │ │ ├── ScaleBox.ts │ │ │ ├── ScaleKnob.ts │ │ │ └── Transformer.ts │ │ │ └── turnrestriction │ │ │ ├── TrEditor.ts │ │ │ ├── TurnRestriction.ts │ │ │ └── utils.ts │ └── tsconfig.json ├── playground │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── assets │ │ ├── icon │ │ │ ├── favicon.png │ │ │ └── logo.svg │ │ └── models │ │ │ └── tree │ │ │ ├── tree.mtl │ │ │ └── tree.obj │ ├── examples │ │ ├── display │ │ │ ├── add_remove_layer.html │ │ │ ├── add_remove_layer.ts │ │ │ ├── animate_road.html │ │ │ ├── animate_road.ts │ │ │ ├── behavior_set.html │ │ │ ├── behavior_set.ts │ │ │ ├── click_feature_show_properties.html │ │ │ ├── click_feature_show_properties.ts │ │ │ ├── click_feature_to_center_map.html │ │ │ ├── click_feature_to_center_map.ts │ │ │ ├── click_highlight_line.html │ │ │ ├── click_highlight_line.ts │ │ │ ├── custom_layer.html │ │ │ ├── custom_layer.ts │ │ │ ├── custom_lightning.html │ │ │ ├── custom_lightning.ts │ │ │ ├── hello_world.html │ │ │ ├── hello_world.ts │ │ │ ├── hover_hightlight_line.html │ │ │ ├── hover_hightlight_line.ts │ │ │ ├── mapview_listener.html │ │ │ ├── mapview_listener.ts │ │ │ ├── observer.html │ │ │ ├── observer.ts │ │ │ ├── pitch_rotate_map.html │ │ │ ├── pitch_rotate_map.ts │ │ │ ├── pointer_listener.html │ │ │ ├── pointer_listener.ts │ │ │ ├── switch_layers_display_order.html │ │ │ ├── switch_layers_display_order.ts │ │ │ ├── take_a_screenshot.html │ │ │ ├── take_a_screenshot.ts │ │ │ ├── terrain.html │ │ │ ├── terrain.ts │ │ │ ├── visualize_space_layer.html │ │ │ ├── visualize_space_layer.ts │ │ │ ├── world_repetition_modes.html │ │ │ └── world_repetition_modes.ts │ │ ├── editor │ │ │ ├── add_contextmenu.html │ │ │ ├── add_contextmenu.ts │ │ │ ├── add_remove_object_layer.html │ │ │ ├── add_remove_object_layer.ts │ │ │ ├── add_road.html │ │ │ ├── add_road.ts │ │ │ ├── batch_changes.html │ │ │ ├── batch_changes.ts │ │ │ ├── change_road_name.html │ │ │ ├── change_road_name.ts │ │ │ ├── create_address.html │ │ │ ├── create_address.ts │ │ │ ├── create_navlink.html │ │ │ ├── create_navlink.ts │ │ │ ├── create_place.html │ │ │ ├── create_place.ts │ │ │ ├── crossing_detect.html │ │ │ ├── crossing_detect.ts │ │ │ ├── custom_provider.html │ │ │ ├── custom_provider.ts │ │ │ ├── drag_place_to_building.html │ │ │ ├── drag_place_to_building.ts │ │ │ ├── edit_building.html │ │ │ ├── edit_building.ts │ │ │ ├── edit_line_3d.html │ │ │ ├── edit_line_3d.ts │ │ │ ├── edit_point_3d.html │ │ │ ├── edit_point_3d.ts │ │ │ ├── hello_world.html │ │ │ ├── hello_world.ts │ │ │ ├── hover_highlight_connected_navlink.html │ │ │ ├── hover_highlight_connected_navlink.ts │ │ │ ├── observe_change_history.html │ │ │ ├── observe_change_history.ts │ │ │ ├── pointer_listener.html │ │ │ ├── pointer_listener.ts │ │ │ ├── range_selector.html │ │ │ ├── range_selector.ts │ │ │ ├── select_shapes.html │ │ │ ├── select_shapes.ts │ │ │ ├── select_specific_navlink.html │ │ │ ├── select_specific_navlink.ts │ │ │ ├── transform_road.html │ │ │ ├── transform_road.ts │ │ │ ├── turn_restriction_editor.html │ │ │ └── turn_restriction_editor.ts │ │ ├── examples.json │ │ └── layer │ │ │ ├── 3d_buildings.html │ │ │ ├── 3d_buildings.ts │ │ │ ├── 3d_lines.html │ │ │ ├── 3d_lines.ts │ │ │ ├── 3d_points.html │ │ │ ├── 3d_points.ts │ │ │ ├── ClusterTileLayer.html │ │ │ ├── ClusterTileLayer.ts │ │ │ ├── Heatmap.html │ │ │ ├── Heatmap.ts │ │ │ ├── MVTLayer.html │ │ │ ├── MVTLayer.ts │ │ │ ├── Models.html │ │ │ ├── Models.ts │ │ │ ├── add_remove_building_feature.html │ │ │ ├── add_remove_building_feature.ts │ │ │ ├── add_remove_line.html │ │ │ ├── add_remove_line.ts │ │ │ ├── add_remove_point.html │ │ │ ├── add_remove_point.ts │ │ │ ├── collision_detection.html │ │ │ ├── collision_detection.ts │ │ │ ├── custom_style.html │ │ │ ├── custom_style.ts │ │ │ ├── label_collision_detection.html │ │ │ ├── label_collision_detection.ts │ │ │ ├── offset_line.html │ │ │ ├── offset_line.ts │ │ │ ├── preprocessor.html │ │ │ ├── preprocessor.ts │ │ │ ├── remote_search_boundingbox.html │ │ │ ├── remote_search_boundingbox.ts │ │ │ ├── search_boundingbox.html │ │ │ ├── search_boundingbox.ts │ │ │ ├── search_id.html │ │ │ ├── search_id.ts │ │ │ ├── set_layer_color.html │ │ │ ├── set_layer_color.ts │ │ │ ├── settag_space_provider.html │ │ │ ├── settag_space_provider.ts │ │ │ ├── style_drawingorder.html │ │ │ ├── style_drawingorder.ts │ │ │ ├── style_expressions.html │ │ │ ├── style_expressions.ts │ │ │ ├── style_navlink.html │ │ │ ├── style_navlink.ts │ │ │ ├── style_zoomrange.html │ │ │ ├── style_zoomrange.ts │ │ │ ├── visualize_sat_image.html │ │ │ └── visualize_sat_image.ts │ ├── package.json │ ├── rollup.config.js │ ├── settings.json │ ├── src │ │ ├── App.scss │ │ ├── App.tsx │ │ ├── components │ │ │ ├── Button.scss │ │ │ ├── Button.tsx │ │ │ ├── ButtonPanel.scss │ │ │ ├── ButtonPanel.tsx │ │ │ ├── Editor.scss │ │ │ ├── Editor.tsx │ │ │ ├── ExampleList.scss │ │ │ ├── ExampleList.tsx │ │ │ ├── FSToggle.scss │ │ │ ├── FSToggle.tsx │ │ │ ├── MobilePanel.scss │ │ │ ├── MobilePanel.tsx │ │ │ ├── Navbar.scss │ │ │ ├── Navbar.tsx │ │ │ ├── Preview.scss │ │ │ ├── Preview.tsx │ │ │ ├── Slider.scss │ │ │ ├── Slider.tsx │ │ │ └── Theme.scss │ │ ├── convertImport.ts │ │ ├── index.tsx │ │ └── token.ts │ └── tsconfig.json ├── tests │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── assets │ │ ├── model │ │ │ ├── cube.mtl │ │ │ └── cube.obj │ │ └── tiles │ │ │ ├── 0.png │ │ │ ├── 1.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ └── tile.json │ ├── build.js │ ├── environments.json │ ├── karma.base.conf.js │ ├── karma.common.conf.js │ ├── karma.core.conf.js │ ├── karma.display.conf.js │ ├── karma.editor.conf.js │ ├── karma.integration.conf.js │ ├── package.json │ ├── rollup.config.js │ ├── specs │ │ ├── common │ │ │ ├── expressions │ │ │ │ └── expressions_spec.ts │ │ │ ├── main.ts │ │ │ └── taskmanager │ │ │ │ ├── taskmanager_2_tasks_spec.ts │ │ │ │ ├── taskmanager_more_than_2_tasks_spec.ts │ │ │ │ ├── taskmanager_pause.ts │ │ │ │ └── taskmanager_spec.ts │ │ ├── core │ │ │ ├── get_cancel_tiles │ │ │ │ ├── basic_get_cancel_tile_spec.json │ │ │ │ ├── basic_get_cancel_tile_spec.ts │ │ │ │ ├── gettile_multiple_times_cancel_spec.json │ │ │ │ ├── gettile_multiple_times_cancel_spec.ts │ │ │ │ ├── gettile_multiple_times_cancel_with_same_callback_requestagain_after_finish_spec.json │ │ │ │ ├── gettile_multiple_times_cancel_with_same_callback_requestagain_after_finish_spec.ts │ │ │ │ ├── gettile_multiple_times_cancel_with_same_callback_spec.json │ │ │ │ ├── gettile_multiple_times_cancel_with_same_callback_spec.ts │ │ │ │ ├── gettile_then_cancel_at_different_level_requestagain_after_finish_spec.json │ │ │ │ ├── gettile_then_cancel_at_different_level_requestagain_after_finish_spec.ts │ │ │ │ ├── gettile_then_cancel_at_different_level_requestagain_after_finish_with_same_callback_spec.json │ │ │ │ ├── gettile_then_cancel_at_different_level_requestagain_after_finish_with_same_callback_spec.ts │ │ │ │ ├── gettile_then_cancel_at_high_level_spec.json │ │ │ │ ├── gettile_then_cancel_at_high_level_spec.ts │ │ │ │ ├── gettile_then_cancel_with_all_requests_spec.json │ │ │ │ ├── gettile_then_cancel_with_all_requests_spec.ts │ │ │ │ ├── layer_basic_get_cancel_tile_spec.json │ │ │ │ ├── layer_basic_get_cancel_tile_spec.ts │ │ │ │ ├── layer_gettile_multiple_times_cancel_spec.json │ │ │ │ ├── layer_gettile_multiple_times_cancel_spec.ts │ │ │ │ ├── layer_gettile_multiple_times_cancel_with_same_callback_requestagain_after_finish_spec.json │ │ │ │ ├── layer_gettile_multiple_times_cancel_with_same_callback_requestagain_after_finish_spec.ts │ │ │ │ ├── layer_gettile_multiple_times_cancel_with_same_callback_spec.json │ │ │ │ ├── layer_gettile_multiple_times_cancel_with_same_callback_spec.ts │ │ │ │ ├── layer_gettile_then_cancel_at_different_level_requestagain_after_finish_spec.json │ │ │ │ ├── layer_gettile_then_cancel_at_different_level_requestagain_after_finish_spec.ts │ │ │ │ ├── layer_gettile_then_cancel_at_different_level_requestagain_after_finish_with_same_callback_spec.json │ │ │ │ ├── layer_gettile_then_cancel_at_different_level_requestagain_after_finish_with_same_callback_spec.ts │ │ │ │ ├── layer_gettile_then_cancel_at_high_level_spec.json │ │ │ │ ├── layer_gettile_then_cancel_at_high_level_spec.ts │ │ │ │ ├── layer_gettile_then_cancel_with_all_requests_spec.json │ │ │ │ └── layer_gettile_then_cancel_with_all_requests_spec.ts │ │ │ ├── layer │ │ │ │ ├── add_remove_feature_spec.json │ │ │ │ ├── add_remove_feature_spec.ts │ │ │ │ ├── add_remove_multiple_feature_spec.json │ │ │ │ ├── add_remove_multiple_feature_spec.ts │ │ │ │ ├── clusterTileLayer.json │ │ │ │ ├── clusterTileLayer.ts │ │ │ │ ├── event_listeners_link_layer_spec.json │ │ │ │ ├── event_listeners_link_layer_spec.ts │ │ │ │ ├── event_listeners_poi_layer_spec.json │ │ │ │ ├── event_listeners_poi_layer_spec.ts │ │ │ │ ├── get_functions_spec.json │ │ │ │ ├── get_functions_spec.ts │ │ │ │ ├── search_locally_geojsonprovider_spec.json │ │ │ │ ├── search_locally_geojsonprovider_spec.ts │ │ │ │ ├── search_locally_spec.json │ │ │ │ ├── search_locally_spec.ts │ │ │ │ ├── set_style_spec.json │ │ │ │ └── set_style_spec.ts │ │ │ ├── main.ts │ │ │ └── provider │ │ │ │ └── geojsonprovider │ │ │ │ ├── add_remove_feature_spec.json │ │ │ │ ├── add_remove_feature_spec.ts │ │ │ │ ├── event_listeners_spec.json │ │ │ │ ├── event_listeners_spec.ts │ │ │ │ ├── search_in_layer_spec.json │ │ │ │ ├── search_in_layer_spec.ts │ │ │ │ ├── search_in_provider_and_layer_spec.json │ │ │ │ └── search_in_provider_and_layer_spec.ts │ │ ├── display │ │ │ ├── general │ │ │ │ ├── add_remove_layer_spec.json │ │ │ │ ├── add_remove_layer_spec.ts │ │ │ │ ├── coordinates_convert_spec.json │ │ │ │ ├── coordinates_convert_spec.ts │ │ │ │ ├── disable_zoomcontrol_spec.json │ │ │ │ ├── disable_zoomcontrol_spec.ts │ │ │ │ ├── display_map_and_link_layer.json │ │ │ │ ├── display_map_and_link_layer.ts │ │ │ │ ├── get_containers_spec.json │ │ │ │ ├── get_containers_spec.ts │ │ │ │ ├── get_functions_spec.json │ │ │ │ ├── get_functions_spec.ts │ │ │ │ ├── get_objects_spec.json │ │ │ │ ├── get_objects_spec.ts │ │ │ │ ├── lock_viewport_spec.json │ │ │ │ ├── lock_viewport_spec.ts │ │ │ │ ├── map_destroy_spec.json │ │ │ │ ├── map_destroy_spec.ts │ │ │ │ ├── pan_map_spec.json │ │ │ │ ├── pan_map_spec.ts │ │ │ │ ├── pixel_geo_coordinates_convert_spec.json │ │ │ │ ├── pixel_geo_coordinates_convert_spec.ts │ │ │ │ ├── polygon_render_spec.json │ │ │ │ ├── polygon_render_spec.ts │ │ │ │ ├── set_functions_spec.json │ │ │ │ ├── set_functions_spec.ts │ │ │ │ ├── set_get_behavior_spec.json │ │ │ │ ├── set_get_behavior_spec.ts │ │ │ │ ├── set_get_viewbounds_spec.json │ │ │ │ ├── set_get_viewbounds_spec.ts │ │ │ │ ├── ui_compass_spec.ts │ │ │ │ ├── zoom_in_20_plus.json │ │ │ │ └── zoom_in_20_plus.ts │ │ │ ├── layer │ │ │ │ ├── collision_detection_spec.json │ │ │ │ ├── collision_detection_spec_circle.ts │ │ │ │ ├── collision_detection_spec_group.ts │ │ │ │ ├── collision_detection_spec_rect.ts │ │ │ │ ├── collision_detection_spec_text.ts │ │ │ │ ├── drawing_order_zLayer_spec.json │ │ │ │ ├── drawing_order_zLayer_spec.ts │ │ │ │ ├── layer_with_background_color_spec.json │ │ │ │ ├── layer_with_background_color_spec.ts │ │ │ │ ├── setstylegroup_invalid_style_spec.json │ │ │ │ ├── setstylegroup_invalid_style_spec.ts │ │ │ │ ├── setstylegroup_link_with_same_zindex.json │ │ │ │ ├── setstylegroup_link_with_same_zindex.ts │ │ │ │ ├── setstylegroup_point_circle.json │ │ │ │ ├── setstylegroup_point_circle.ts │ │ │ │ ├── setstylegroup_point_image.json │ │ │ │ ├── setstylegroup_point_image.ts │ │ │ │ ├── setstylegroup_point_rect.json │ │ │ │ ├── setstylegroup_point_rect.ts │ │ │ │ ├── setstylegroup_point_spec.json │ │ │ │ ├── setstylegroup_point_spec.ts │ │ │ │ ├── setstylegroup_point_text.json │ │ │ │ ├── setstylegroup_point_text.ts │ │ │ │ ├── setstylegroup_point_with_same_zindex.json │ │ │ │ ├── setstylegroup_point_with_same_zindex.ts │ │ │ │ ├── setstylegroup_polygon_spec.json │ │ │ │ ├── setstylegroup_polygon_spec.ts │ │ │ │ ├── style_type_model.json │ │ │ │ ├── style_type_model.ts │ │ │ │ ├── stylegroup_line.ts │ │ │ │ ├── stylegroup_line_circle.ts │ │ │ │ ├── stylegroup_line_icon.ts │ │ │ │ ├── stylegroup_line_rect.ts │ │ │ │ ├── stylegroup_line_spec.json │ │ │ │ ├── stylegroup_line_spec.ts │ │ │ │ ├── stylegroup_line_text.ts │ │ │ │ └── stylegroup_point_alignment.ts │ │ │ ├── listener │ │ │ │ ├── display_mapview_listener_spec.json │ │ │ │ ├── display_mapview_listener_spec.ts │ │ │ │ ├── display_pointer_events_spec.json │ │ │ │ ├── display_pointer_events_spec.ts │ │ │ │ ├── parent_map_listener_spec.json │ │ │ │ ├── parent_map_listener_spec.ts │ │ │ │ ├── pointer_down_up_listener_spec.json │ │ │ │ ├── pointer_down_up_listener_spec.ts │ │ │ │ ├── pointer_enter_leave_listener_spec.json │ │ │ │ ├── pointer_enter_leave_listener_spec.ts │ │ │ │ ├── pointer_listener_with_different_style_link_spec.json │ │ │ │ ├── pointer_listener_with_different_style_link_spec.ts │ │ │ │ ├── pointer_listener_with_different_style_point_spec.json │ │ │ │ ├── pointer_listener_with_different_style_point_spec.ts │ │ │ │ └── pointerevents_line_3d.ts │ │ │ ├── main.ts │ │ │ └── observer │ │ │ │ ├── display_observer_spec.json │ │ │ │ └── display_observer_spec.ts │ │ ├── editor │ │ │ ├── address │ │ │ │ ├── address_autoconnect_spec.json │ │ │ │ ├── address_autoconnect_spec.ts │ │ │ │ ├── address_click_spec.json │ │ │ │ ├── address_click_spec.ts │ │ │ │ ├── address_create_nolink_in_viewport_spec.json │ │ │ │ ├── address_create_nolink_in_viewport_spec.ts │ │ │ │ ├── address_create_outside_viewport_spec.json │ │ │ │ ├── address_create_outside_viewport_spec.ts │ │ │ │ ├── address_create_remove_spec.json │ │ │ │ ├── address_create_remove_spec.ts │ │ │ │ ├── address_create_when_link_inactive_spec.json │ │ │ │ ├── address_create_when_link_inactive_spec.ts │ │ │ │ ├── address_delete_new_connected_link_spec.json │ │ │ │ ├── address_delete_new_connected_link_spec.ts │ │ │ │ ├── address_editable_spec.json │ │ │ │ ├── address_editable_spec.ts │ │ │ │ ├── address_get_functions_spec.json │ │ │ │ ├── address_get_functions_spec.ts │ │ │ │ ├── address_layer_add_remove_spec.json │ │ │ │ ├── address_layer_add_remove_spec.ts │ │ │ │ ├── address_routingpoint_linksplit_spec.json │ │ │ │ ├── address_routingpoint_linksplit_spec.ts │ │ │ │ ├── address_routingpoint_spec.json │ │ │ │ ├── address_routingpoint_spec.ts │ │ │ │ ├── address_set_routing_point__and_link_spec.json │ │ │ │ ├── address_set_routing_point__and_link_spec.ts │ │ │ │ ├── address_setcoordinates_spec.json │ │ │ │ └── address_setcoordinates_spec.ts │ │ │ ├── area │ │ │ │ ├── area_connect_spec.ts │ │ │ │ ├── area_connected_spec.json │ │ │ │ ├── area_create_drawingmanager_pan_map_spec.json │ │ │ │ ├── area_create_drawingmanager_pan_map_spec.ts │ │ │ │ ├── area_create_drawingmanager_spec.json │ │ │ │ ├── area_create_drawingmanager_spec.ts │ │ │ │ ├── area_create_drawingmanager_vertical_spec.json │ │ │ │ ├── area_create_drawingmanager_vertical_spec.ts │ │ │ │ ├── area_create_remove_spec.json │ │ │ │ ├── area_create_remove_spec.ts │ │ │ │ ├── area_display_zoomlevel_spec.json │ │ │ │ ├── area_display_zoomlevel_spec.ts │ │ │ │ ├── area_edit_spec.json │ │ │ │ ├── area_edit_spec.ts │ │ │ │ ├── area_get_functions_spec.json │ │ │ │ ├── area_get_functions_spec.ts │ │ │ │ ├── area_transformer_multiple_objects_spec.json │ │ │ │ ├── area_transformer_multiple_objects_spec.ts │ │ │ │ ├── area_transformer_spec.json │ │ │ │ └── area_transformer_spec.ts │ │ │ ├── configs │ │ │ │ ├── autoconnectshapedistance_spec.json │ │ │ │ ├── autoconnectshapedistance_spec.ts │ │ │ │ ├── disconnectshapedistance_spec.json │ │ │ │ ├── disconnectshapedistance_spec.ts │ │ │ │ ├── featureselectionbydefault_spec.json │ │ │ │ ├── featureselectionbydefault_spec.ts │ │ │ │ ├── keepfeatureselection_spec.json │ │ │ │ ├── keepfeatureselection_spec.ts │ │ │ │ ├── maxroutingpointdistance_spec.json │ │ │ │ ├── maxroutingpointdistance_spec.ts │ │ │ │ ├── minshapedistance_spec.json │ │ │ │ ├── minshapedistance_spec.ts │ │ │ │ ├── xtestmaxdistance_spec.json │ │ │ │ └── xtestmaxdistance_spec.ts │ │ │ ├── container │ │ │ │ ├── map_container_highlight_spec.json │ │ │ │ ├── map_container_highlight_spec.ts │ │ │ │ ├── map_container_remove_spec.json │ │ │ │ ├── map_container_remove_spec.ts │ │ │ │ ├── map_container_transform_spec.json │ │ │ │ └── map_container_transform_spec.ts │ │ │ ├── drawingmanager │ │ │ │ ├── drawingmanager_connect_link_spec.json │ │ │ │ ├── drawingmanager_connect_link_spec.ts │ │ │ │ ├── drawingmanager_create_and_connect_to_link_head_spec.json │ │ │ │ ├── drawingmanager_create_and_connect_to_link_head_spec.ts │ │ │ │ ├── drawingmanager_create_and_connect_to_original_spec.json │ │ │ │ ├── drawingmanager_create_and_connect_to_original_spec.ts │ │ │ │ ├── drawingmanager_create_and_split_original_outofview_spec.json │ │ │ │ ├── drawingmanager_create_and_split_original_outofview_spec.ts │ │ │ │ ├── drawingmanager_create_and_split_original_spec.json │ │ │ │ ├── drawingmanager_create_and_split_original_spec.ts │ │ │ │ ├── drawingmanager_create_cancel_and_destroy_editor_display.json │ │ │ │ ├── drawingmanager_create_cancel_and_destroy_editor_display.ts │ │ │ │ ├── drawingmanager_dragmap_spec.json │ │ │ │ ├── drawingmanager_dragmap_spec.ts │ │ │ │ ├── drawingmanager_events_spec.json │ │ │ │ ├── drawingmanager_events_spec.ts │ │ │ │ ├── drawingmanager_high_zoomlevel_spec.json │ │ │ │ ├── drawingmanager_high_zoomlevel_spec.ts │ │ │ │ ├── drawingmanager_hove_shape_spec.json │ │ │ │ ├── drawingmanager_hove_shape_spec.ts │ │ │ │ ├── drawingmanager_modify_shapepoint_spec.json │ │ │ │ ├── drawingmanager_modify_shapepoint_spec.ts │ │ │ │ ├── drawingmanager_spec.json │ │ │ │ ├── drawingmanager_spec.ts │ │ │ │ ├── drawingmanager_styling_drawingboard_spec.json │ │ │ │ ├── drawingmanager_styling_drawingboard_spec.ts │ │ │ │ ├── drawingmanager_vertical_coordinates_spec.json │ │ │ │ └── drawingmanager_vertical_coordinates_spec.ts │ │ │ ├── general │ │ │ │ ├── editor_hooks_spec.ts │ │ │ │ ├── editor_search_spec.json │ │ │ │ ├── editor_search_spec.ts │ │ │ │ ├── map_changes_spec.json │ │ │ │ ├── map_changes_spec.ts │ │ │ │ ├── map_click_spec.json │ │ │ │ ├── map_click_spec.ts │ │ │ │ ├── map_destroy_selected_address_spec.json │ │ │ │ ├── map_destroy_selected_address_spec.ts │ │ │ │ ├── map_destroy_spec.json │ │ │ │ ├── map_destroy_spec.ts │ │ │ │ ├── map_functions_spec.json │ │ │ │ ├── map_functions_spec.ts │ │ │ │ ├── map_getobjects_spec.json │ │ │ │ ├── map_getobjects_spec.ts │ │ │ │ ├── map_show_hide_spec.json │ │ │ │ ├── map_show_hide_spec.ts │ │ │ │ ├── map_viewport_getobjects_spec.json │ │ │ │ ├── map_viewport_getobjects_spec.ts │ │ │ │ ├── map_viewport_spec.json │ │ │ │ └── map_viewport_spec.ts │ │ │ ├── history │ │ │ │ ├── map_history_close_shapepoints_spec.json │ │ │ │ ├── map_history_close_shapepoints_spec.ts │ │ │ │ ├── map_history_create_objects_undo_submit_spec.json │ │ │ │ ├── map_history_create_objects_undo_submit_spec.ts │ │ │ │ ├── map_history_hooks.json │ │ │ │ ├── map_history_hooks_spec.ts │ │ │ │ ├── map_history_info_spec.json │ │ │ │ ├── map_history_info_spec.ts │ │ │ │ ├── map_history_modify_remove_layer_undo_spec.json │ │ │ │ ├── map_history_modify_remove_layer_undo_spec.ts │ │ │ │ ├── map_history_multiple_steps_spec.json │ │ │ │ ├── map_history_multiple_steps_spec.ts │ │ │ │ ├── map_history_spec.json │ │ │ │ ├── map_history_spec.ts │ │ │ │ ├── map_history_undo_split_restrictions_spec.json │ │ │ │ └── map_history_undo_split_restrictions_spec.ts │ │ │ ├── line │ │ │ │ ├── line_basics_spec.json │ │ │ │ ├── line_basics_spec.ts │ │ │ │ ├── multiline_basics_spec.json │ │ │ │ └── multiline_basics_spec.ts │ │ │ ├── link │ │ │ │ ├── link_addShape_spec.json │ │ │ │ ├── link_addShape_spec.ts │ │ │ │ ├── link_autoconnect_spec.json │ │ │ │ ├── link_autoconnect_spec.ts │ │ │ │ ├── link_automatic_snapping_remove_link_2_spec.json │ │ │ │ ├── link_automatic_snapping_remove_link_2_spec.ts │ │ │ │ ├── link_automatic_snapping_remove_link_commit_spec.json │ │ │ │ ├── link_automatic_snapping_remove_link_commit_spec.ts │ │ │ │ ├── link_automatic_snapping_remove_link_spec.json │ │ │ │ ├── link_automatic_snapping_remove_link_spec.ts │ │ │ │ ├── link_automatic_snapping_then_undo_spec.json │ │ │ │ ├── link_automatic_snapping_then_undo_spec.ts │ │ │ │ ├── link_automatic_split_other_link_then_undo_spec.json │ │ │ │ ├── link_automatic_split_other_link_then_undo_spec.ts │ │ │ │ ├── link_automatic_split_then_drag_spec.json │ │ │ │ ├── link_automatic_split_then_drag_spec.ts │ │ │ │ ├── link_automatic_split_then_undo_spec.json │ │ │ │ ├── link_automatic_split_then_undo_spec.ts │ │ │ │ ├── link_autosplit_spec.json │ │ │ │ ├── link_autosplit_spec.ts │ │ │ │ ├── link_click_spec.json │ │ │ │ ├── link_click_spec.ts │ │ │ │ ├── link_create_remove_spec.json │ │ │ │ ├── link_create_remove_spec.ts │ │ │ │ ├── link_drag_snap_spec.json │ │ │ │ ├── link_drag_snap_spec.ts │ │ │ │ ├── link_edit_restrictions_spec.json │ │ │ │ ├── link_edit_restrictions_spec.ts │ │ │ │ ├── link_editable_spec.json │ │ │ │ ├── link_editable_spec.ts │ │ │ │ ├── link_geofence_spec.json │ │ │ │ ├── link_geofence_spec.ts │ │ │ │ ├── link_get_functions_spec.json │ │ │ │ ├── link_get_functions_spec.ts │ │ │ │ ├── link_layer_add_remove_spec.json │ │ │ │ ├── link_layer_add_remove_spec.ts │ │ │ │ ├── link_modify_address_changed_spec.json │ │ │ │ ├── link_modify_address_changed_spec.ts │ │ │ │ ├── link_modify_then_undo_clear_provider_spec.json │ │ │ │ ├── link_modify_then_undo_clear_provider_spec.ts │ │ │ │ ├── link_remove_clear_provider_spec.json │ │ │ │ ├── link_remove_clear_provider_spec.ts │ │ │ │ ├── link_remove_shapepoint_spec.json │ │ │ │ ├── link_remove_shapepoint_spec.ts │ │ │ │ ├── link_setcoordinates_spec.json │ │ │ │ ├── link_setcoordinates_spec.ts │ │ │ │ ├── link_shapepoint_overlap_spec.json │ │ │ │ ├── link_shapepoint_overlap_spec.ts │ │ │ │ ├── link_shapepoint_spec.json │ │ │ │ ├── link_shapepoint_spec.ts │ │ │ │ ├── link_showdirectionhint_sepc.ts │ │ │ │ ├── link_showdirectionhint_spec.json │ │ │ │ ├── link_snap_delete_self_spec.json │ │ │ │ ├── link_snap_delete_self_spec.ts │ │ │ │ ├── link_snap_delete_spec.json │ │ │ │ ├── link_snap_delete_spec.ts │ │ │ │ ├── link_split_hide_turn_restrictions_spec.json │ │ │ │ ├── link_split_hide_turn_restrictions_spec.ts │ │ │ │ ├── link_split_property_spec.json │ │ │ │ ├── link_split_property_spec.ts │ │ │ │ ├── link_split_spec.json │ │ │ │ ├── link_split_spec.ts │ │ │ │ ├── link_zlevels_spec.json │ │ │ │ └── link_zlevels_spec.ts │ │ │ ├── linkattributes │ │ │ │ ├── split_link_attribute_spec.json │ │ │ │ └── split_link_attribute_spec.ts │ │ │ ├── linkconnecthelper │ │ │ │ ├── link_connecthelper_1_spec.json │ │ │ │ ├── link_connecthelper_1_spec.ts │ │ │ │ ├── link_connecthelper_all_connect_2_spec.json │ │ │ │ ├── link_connecthelper_all_connect_2_spec.ts │ │ │ │ ├── link_connecthelper_all_connect_spec.json │ │ │ │ ├── link_connecthelper_all_connect_spec.ts │ │ │ │ ├── link_connecthelper_all_crossing_candidates_spec.json │ │ │ │ ├── link_connecthelper_all_crossing_candidates_spec.ts │ │ │ │ ├── link_connecthelper_crosscandidate_spec.json │ │ │ │ ├── link_connecthelper_crosscandidate_spec.ts │ │ │ │ ├── link_connecthelper_double_connect_check_spec.json │ │ │ │ ├── link_connecthelper_double_connect_check_spec.ts │ │ │ │ ├── link_connecthelper_maxdistance_spec.json │ │ │ │ ├── link_connecthelper_maxdistance_spec.ts │ │ │ │ ├── link_connecthelper_shapepoint_multiple_overlaps_spec.json │ │ │ │ ├── link_connecthelper_shapepoint_multiple_overlaps_spec.ts │ │ │ │ ├── link_connecthelper_shapepoint_multiple_self_overlaps_spec.json │ │ │ │ ├── link_connecthelper_shapepoint_multiple_self_overlaps_spec.ts │ │ │ │ ├── link_connecthelper_shapepoint_overlap_spec.json │ │ │ │ ├── link_connecthelper_shapepoint_overlap_spec.ts │ │ │ │ ├── link_connecthelper_shapepoint_self_overlaps_spec.json │ │ │ │ ├── link_connecthelper_shapepoint_self_overlaps_spec.ts │ │ │ │ ├── link_connecthelper_spec.json │ │ │ │ └── link_connecthelper_spec.ts │ │ │ ├── listener │ │ │ │ ├── map_events_listeners_spec.json │ │ │ │ ├── map_events_listeners_spec.ts │ │ │ │ ├── map_listener_click_spec.json │ │ │ │ ├── map_listener_click_spec.ts │ │ │ │ ├── map_listener_dblclick_spec.json │ │ │ │ ├── map_listener_dblclick_spec.ts │ │ │ │ ├── map_listener_drag_after_click_spec.json │ │ │ │ ├── map_listener_drag_after_click_spec.ts │ │ │ │ ├── map_listener_drag_spec.json │ │ │ │ ├── map_listener_drag_spec.ts │ │ │ │ ├── map_listener_error_spec.json │ │ │ │ ├── map_listener_error_spec.ts │ │ │ │ ├── map_listener_featureunselected_spec.json │ │ │ │ ├── map_listener_featureunselected_spec.ts │ │ │ │ ├── map_listener_mouseenter_link_spec.json │ │ │ │ ├── map_listener_mouseenter_link_spec.ts │ │ │ │ ├── map_listener_mousemove_spec.json │ │ │ │ └── map_listener_mousemove_spec.ts │ │ │ ├── main.ts │ │ │ ├── marker │ │ │ │ ├── marker_spec.json │ │ │ │ └── marker_spec.ts │ │ │ ├── observer │ │ │ │ ├── map_observer_active_spec.json │ │ │ │ ├── map_observer_active_spec.ts │ │ │ │ ├── map_observer_changes_spec.json │ │ │ │ ├── map_observer_changes_spec.ts │ │ │ │ ├── map_observer_ready_addlayer_spec.json │ │ │ │ ├── map_observer_ready_addlayer_spec.ts │ │ │ │ ├── map_observer_ready_spec.json │ │ │ │ ├── map_observer_ready_spec.ts │ │ │ │ ├── map_observer_ready_without_layer_spec.ts │ │ │ │ ├── map_observer_submit_removed_link.json │ │ │ │ ├── map_observer_submit_removed_link.ts │ │ │ │ ├── map_observer_viewport_objects_spec.json │ │ │ │ └── map_observer_viewport_objects_spec.ts │ │ │ ├── poi │ │ │ │ ├── poi_and_link_create_spec.json │ │ │ │ ├── poi_and_link_create_spec.ts │ │ │ │ ├── poi_autoconnect_spec.json │ │ │ │ ├── poi_autoconnect_spec.ts │ │ │ │ ├── poi_create_outside_viewport_spec.json │ │ │ │ ├── poi_create_outside_viewport_spec.ts │ │ │ │ ├── poi_create_remove_spec.json │ │ │ │ ├── poi_create_remove_spec.ts │ │ │ │ ├── poi_delete_new_connected_link_spec.json │ │ │ │ ├── poi_delete_new_connected_link_spec.ts │ │ │ │ ├── poi_editable_spec.json │ │ │ │ ├── poi_editable_spec.ts │ │ │ │ ├── poi_get_functions_spec.json │ │ │ │ ├── poi_get_functions_spec.ts │ │ │ │ ├── poi_layer_add_remove_spec.json │ │ │ │ ├── poi_layer_add_remove_spec.ts │ │ │ │ ├── poi_routingpoint_autoconnect_spec.json │ │ │ │ ├── poi_routingpoint_autoconnect_spec.ts │ │ │ │ ├── poi_routingpoint_outside_viewport.json │ │ │ │ ├── poi_routingpoint_outside_viewport.ts │ │ │ │ ├── poi_routingpoint_spec.json │ │ │ │ ├── poi_routingpoint_spec.ts │ │ │ │ ├── poi_set_routing_point_and_link_spec.json │ │ │ │ ├── poi_set_routing_point_and_link_spec.ts │ │ │ │ ├── poi_setcoordinates_spec.json │ │ │ │ └── poi_setcoordinates_spec.ts │ │ │ ├── rangeselector │ │ │ │ ├── rangeselector_show_hide_spec.json │ │ │ │ ├── rangeselector_show_hide_spec.ts │ │ │ │ ├── rangeselector_snap_overlap_spec.json │ │ │ │ ├── rangeselector_snap_overlap_spec.ts │ │ │ │ ├── rangeselector_spec.json │ │ │ │ └── rangeselector_spec.ts │ │ │ ├── style │ │ │ │ ├── custom_style_spec.json │ │ │ │ └── custom_style_spec.ts │ │ │ ├── transform │ │ │ │ ├── transform_area_spec.json │ │ │ │ ├── transform_area_spec.ts │ │ │ │ ├── transform_location_spec.json │ │ │ │ ├── transform_location_spec.ts │ │ │ │ ├── transform_move_undo_spec.json │ │ │ │ ├── transform_move_undo_spec.ts │ │ │ │ ├── transform_spec.json │ │ │ │ ├── transform_spec.ts │ │ │ │ ├── transform_split_link_spec.json │ │ │ │ └── transform_split_link_spec.ts │ │ │ └── turnrestriction │ │ │ │ ├── turn_restrictions_disconnect_spec.json │ │ │ │ ├── turn_restrictions_disconnect_spec.ts │ │ │ │ ├── turn_restrictions_link_spec.json │ │ │ │ ├── turn_restrictions_link_spec.ts │ │ │ │ ├── turn_restrictions_outofview_spec.json │ │ │ │ ├── turn_restrictions_outofview_spec.ts │ │ │ │ ├── turn_restrictions_remove_link_spec.json │ │ │ │ ├── turn_restrictions_remove_link_spec.ts │ │ │ │ ├── turn_restrictions_set_start_delete_link_spec.json │ │ │ │ ├── turn_restrictions_set_start_delete_link_spec.ts │ │ │ │ ├── turn_restrictions_spec.json │ │ │ │ ├── turn_restrictions_spec.ts │ │ │ │ ├── turn_restrictions_split_depart_link_spec.json │ │ │ │ ├── turn_restrictions_split_depart_link_spec.ts │ │ │ │ ├── turn_restrictions_split_link_spec.json │ │ │ │ ├── turn_restrictions_split_link_spec.ts │ │ │ │ ├── turn_restrictions_split_link_undo_redo_spec.json │ │ │ │ ├── turn_restrictions_split_link_undo_redo_spec.ts │ │ │ │ ├── turn_restrictions_start_or_end_set_spec.json │ │ │ │ ├── turn_restrictions_start_or_end_set_spec.ts │ │ │ │ ├── turn_restrictions_validate_spec.json │ │ │ │ └── turn_restrictions_validate_spec.ts │ │ └── integration │ │ │ ├── core │ │ │ ├── layer │ │ │ │ ├── search_remote_spec.json │ │ │ │ ├── search_remote_spec.ts │ │ │ │ ├── search_remote_with_geojsonprovider_spec.json │ │ │ │ └── search_remote_with_geojsonprovider_spec.ts │ │ │ └── provider │ │ │ │ ├── geojsonprovider │ │ │ │ ├── search_in_provider_remote_spec.json │ │ │ │ └── search_in_provider_remote_spec.ts │ │ │ │ ├── set_header_spec.json │ │ │ │ ├── set_header_spec.ts │ │ │ │ └── spaceprovider │ │ │ │ ├── add_feature_spec.json │ │ │ │ ├── add_feature_spec.ts │ │ │ │ ├── commit_add_remove_feature_spec.json │ │ │ │ ├── commit_add_remove_feature_spec.ts │ │ │ │ ├── event_listeners_spec.json │ │ │ │ ├── event_listeners_spec.ts │ │ │ │ ├── remote_filtering.json │ │ │ │ ├── remote_filtering.ts │ │ │ │ ├── settag_space_spec.json │ │ │ │ └── settag_space_spec.ts │ │ │ ├── display │ │ │ └── general │ │ │ │ ├── init_requests_spec.json │ │ │ │ ├── init_requests_spec.ts │ │ │ │ ├── map_destroy_with_space_and_copyright_spec.json │ │ │ │ └── map_destroy_with_space_and_copyright_spec.ts │ │ │ ├── editor │ │ │ ├── link_create_modify_remove_spec.json │ │ │ └── link_create_modify_remove_spec.ts │ │ │ └── main.ts │ ├── src │ │ ├── TestProvider.ts │ │ ├── main-common.ts │ │ ├── main-core.ts │ │ ├── main-display.ts │ │ ├── main-editor.ts │ │ ├── main-integration.ts │ │ ├── runner.ts │ │ └── utils │ │ │ ├── coreUtils.ts │ │ │ ├── displayUtils.ts │ │ │ ├── editorUtils.ts │ │ │ ├── prepareData.ts │ │ │ ├── spacePool.ts │ │ │ ├── triggerEvents.ts │ │ │ └── utils.ts │ ├── statics │ │ ├── runnercommon.html │ │ ├── runnercore.html │ │ ├── runnerdisplay.html │ │ ├── runnereditor.html │ │ └── runnerintegration.html │ └── tsconfig.json └── utils │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── lib │ ├── buildDts │ │ ├── .gitignore │ │ ├── cli.js │ │ ├── config │ │ │ └── api-extractor.json │ │ ├── index.js │ │ └── src │ │ │ ├── buildDts.ts │ │ │ ├── compileDeclarations.ts │ │ │ └── setReleaseTags.ts │ └── changelog │ │ ├── README.md │ │ ├── cli.js │ │ └── src │ │ └── index.js │ ├── package.json │ └── tsconfig.json ├── scripts ├── bumpversion.ts ├── changelog.ts ├── prepare-pages.js └── publish-npm.sh ├── tsconfig.json ├── typedoc.json └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 140 11 | 12 | [*.json] 13 | indent_size = 2 14 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['google'], 3 | parser: '@typescript-eslint/parser', 4 | // "env":{ 5 | // browser:true, 6 | // "es6":true 7 | // }, 8 | parserOptions: { 9 | ecmaVersion: 2021, 10 | sourceType: 'module' 11 | }, 12 | rules: { 13 | 'no-var': 0, 14 | 'max-len': [ 15 | 0, 16 | { 17 | ignoreComments: true 18 | } 19 | ], 20 | 'prefer-const': 0, 21 | 'operator-linebreak': 0, 22 | 'valid-jsdoc': 0, 23 | 'require-jsdoc': 0, 24 | 'prefer-rest-params': 0, 25 | 'prefer-spread': 0, 26 | 'guard-for-in': 0, 27 | 'comma-dangle': ['error', 'never'], 28 | 'no-unused-vars': 0, 29 | 'no-multi-str': 0, 30 | 'indent': ['error', 4], 31 | 'no-invalid-this': 0 32 | // "padding-line-between-statements": [ 33 | // "error", 34 | // { "blankLine": "never", "prev": "var", "next": ["var"] } 35 | // ] 36 | } 37 | }; 38 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @heremaps/xyz-maps 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | credentials.json 4 | .awspublish-* 5 | .idea/ 6 | debug/token.js 7 | docs/ 8 | deploy/ 9 | .DS_Store 10 | .npmrc 11 | .eslintcache 12 | .pnp.* 13 | .yarn/* 14 | !.yarn/patches 15 | !.yarn/plugins 16 | !.yarn/releases 17 | !.yarn/sdks 18 | !.yarn/versions 19 | -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.ort.yml: -------------------------------------------------------------------------------- 1 | excludes: 2 | paths: 3 | - pattern: "packages/tests/**" 4 | reason: "TEST_TOOL_OF" 5 | comment: "Directory containing only user/integration tests." 6 | - pattern: "packages/playground/**" 7 | reason: "EXAMPLE_OF" 8 | comment: "Playground used to demonstrate the project." 9 | - pattern: "packages/debug/**" 10 | reason: "BUILD_TOOL_OF" 11 | comment: "Directory containing only debug/test/dev tools/pages." 12 | scopes: 13 | - pattern: "devDependencies" 14 | reason: "DEV_DEPENDENCY_OF" 15 | comment: "Scope with dependencies only used for development. Not included in released artifacts." 16 | -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | yarn-path ".yarn/releases/yarn-1.22.19.js" 6 | -------------------------------------------------------------------------------- /.yarnrc.yml: -------------------------------------------------------------------------------- 1 | nodeLinker: node-modules 2 | 3 | yarnPath: .yarn/releases/yarn-1.22.19.js -------------------------------------------------------------------------------- /build/tools.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2021 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | export const argv = (arg: string): boolean | string => { 21 | const i = process.argv.indexOf(`--${arg}`); 22 | const v = process.argv[i + 1]; 23 | return i != -1 ? v != undefined 24 | ? v : true 25 | : false; 26 | }; 27 | -------------------------------------------------------------------------------- /debug/token.tmpl.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2021 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | ((scope) => { 20 | const xyzAccessToken = '{ACCESS_TOKEN}'; 21 | scope.getXYZToken = () => localStorage.getItem('access_token') || xyzAccessToken; 22 | })(window); 23 | 24 | -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "npmClient": "yarn", 3 | "version": "0.41.0" 4 | } 5 | -------------------------------------------------------------------------------- /packages/common/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | -------------------------------------------------------------------------------- /packages/common/README.md: -------------------------------------------------------------------------------- 1 | # XYZ Maps JS: Common 2 | 3 | [XYZ Maps](https://github.com/heremaps/xyz-maps) is an experimental and work in progress open-source map editor written in TypeScript/JavaScript. 4 | The Common module provides commonly used javascript functionality that are required by all other modules of [XYZ Maps](https://github.com/heremaps/xyz-maps). 5 | 6 | ### Links 7 | * [API Playground](https://heremaps.github.io/xyz-maps/playground/#Display-Pitch_and_Rotate_Map) 8 | * [Documentation](https://heremaps.github.io/xyz-maps/docs/) 9 | 10 | ## Start developing 11 | 12 | 1. Install node module dependencies 13 | ``` 14 | yarn install 15 | ``` 16 | In case yarn is not installed already: [install yarn](https://yarnpkg.com/en/docs/install) 17 | 18 | 2. watch for source code changes and build dev version 19 | ``` 20 | yarn run watch-dev 21 | ``` 22 | Builds are located in located in `./dist/` 23 | 24 | 25 | ## Other 26 | 27 | * build dev version once `yarn run build-dev` (located in packages/*/dist/) 28 | 29 | * build release version only `yarn run build-release` (minified...) 30 | 31 | 32 | ## License 33 | 34 | Copyright (C) 2019-2022 HERE Europe B.V. 35 | 36 | This project is licensed under the Apache License, Version 2.0 - see the [LICENSE](LICENSE) file for details 37 | -------------------------------------------------------------------------------- /packages/common/src/Queue.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | class Queue { 21 | private queue = []; 22 | 23 | constructor() { 24 | } 25 | 26 | add(cb: (any?) => void) { 27 | if (typeof cb == 'function') { 28 | return this.queue.push(cb); 29 | } 30 | } 31 | 32 | done(a1?: any, a2?: any, a3?: any) { 33 | let queue = this.queue; 34 | while (queue.length) { 35 | queue.shift()(...arguments); 36 | } 37 | } 38 | } 39 | 40 | export default Queue; 41 | -------------------------------------------------------------------------------- /packages/common/src/global.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | declare const global: any; 21 | // TODO: create own gloabl that provides required functionality instead of just using window for now. 22 | // required: postMessage, setTimeout, clearTimeout, Math, XMLHTTPRequest... 23 | export interface Global extends Window { 24 | Math: typeof Math; 25 | // global namespace 26 | here: { xyz: { maps: any } }; 27 | 28 | URL: typeof URL; 29 | } 30 | 31 | export default ((typeof window != 'undefined') ? window : global); 32 | -------------------------------------------------------------------------------- /packages/common/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "target": "ES2017", 5 | "moduleResolution": "Node", 6 | "sourceMap": true, 7 | "skipLibCheck": true 8 | }, 9 | "include": [ 10 | "src/**/*" 11 | ], 12 | "exclude": [ 13 | "node_modules", 14 | "dist" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /packages/core/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | build/index.js 4 | build/shared.js 5 | build/workers.js 6 | -------------------------------------------------------------------------------- /packages/core/build/bundle.js: -------------------------------------------------------------------------------- 1 | import './shared'; 2 | import './workers'; 3 | import './index'; 4 | let xyz = typeof window =='undefined'?global:window; ; 5 | 'here.xyz.maps'.split('.').forEach((ns) => xyz = (xyz[ns] = xyz[ns] || {})); 6 | export default xyz; 7 | -------------------------------------------------------------------------------- /packages/core/build/intro.js: -------------------------------------------------------------------------------- 1 | let shared; 2 | let worker; 3 | function define(dep, factory) { 4 | if (!shared) { 5 | shared = factory; 6 | } else if (!worker) { 7 | worker = factory; 8 | } else { 9 | const xyz = here.xyz.maps; 10 | const sharedExports = {}; 11 | shared(sharedExports); 12 | xyz.__workerURL = URL.createObjectURL(new Blob(['var shared={};('+shared+')(shared);('+worker+')(shared);'], {type: 'text/javascript'})); 13 | factory(xyz, sharedExports, xyz.common); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /packages/core/src/loaders/TileLoader.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import {Tile} from '../tile/Tile'; 21 | 22 | 23 | interface TileLoader { 24 | 25 | load: (tile: Tile, success, error)=>void; 26 | 27 | abort: (tile: Tile)=>void; 28 | } 29 | 30 | export default TileLoader; 31 | 32 | -------------------------------------------------------------------------------- /packages/core/src/storage/TileStorage.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import {Tile} from '../tile/Tile'; 21 | 22 | export type tileHandler = (tile: Tile) => void; 23 | 24 | export interface TileStorage { 25 | 26 | // constructor(); 27 | 28 | forEach(fnc: tileHandler); 29 | 30 | clear(); 31 | 32 | remove(tile: Tile); 33 | 34 | get(qk: string): Tile; 35 | 36 | set(tile: Tile); 37 | 38 | onDrop(onDrop: tileHandler); 39 | } 40 | -------------------------------------------------------------------------------- /packages/core/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "target": "ES2017", 5 | "moduleResolution": "node", 6 | "sourceMap": true, 7 | "skipLibCheck": true, 8 | "lib": ["dom","ES2017","webworker"] 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ], 13 | "exclude": [ 14 | "node_modules", 15 | "dist" 16 | ] 17 | } 18 | -------------------------------------------------------------------------------- /packages/display/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | .idea/ 4 | 5 | -------------------------------------------------------------------------------- /packages/display/assets/xyz-maps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/display/assets/xyz-maps.png -------------------------------------------------------------------------------- /packages/display/assets/xyz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Group 3 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /packages/display/src/animation/Easings.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | export const linear = (t: number): number => { 21 | return t; 22 | }; 23 | 24 | export const easeOut = (t: number): number => { 25 | return 1 - Math.pow(1 - t, 1.5); 26 | }; 27 | 28 | export const easeOutSine = (t: number): number => { 29 | return Math.sin((Math.PI * t) * .5); 30 | }; 31 | 32 | export const easeOutCubic = (t: number): number => { 33 | t = 1 - t; 34 | return 1 - t * t * t; 35 | }; 36 | 37 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/buffer/Attribute.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import {TypedArray} from './glType'; 21 | 22 | 23 | type Attribute = { 24 | data: TypedArray, 25 | bytesPerElement?: number; 26 | stride?: number; 27 | type?: number; // | TypedArray; 28 | size: number; 29 | normalized?: boolean; 30 | offset?: number; 31 | dirty?: boolean; 32 | instanced?: boolean 33 | ref?: number; // reference counter for attribute sharing 34 | }; 35 | 36 | export {Attribute}; 37 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/circle_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | uniform vec4 u_fill; 4 | uniform vec4 u_stroke; 5 | uniform float u_strokeWidth; 6 | 7 | varying float v_radius; 8 | varying vec2 v_position; 9 | 10 | #define COLOR_UNDEF -1.0 11 | 12 | void main(void){ 13 | float r = length(v_position); 14 | 15 | if (r > v_radius) discard; 16 | 17 | if (r < v_radius - u_strokeWidth){ 18 | if(u_fill[0] == COLOR_UNDEF) discard; 19 | gl_FragColor = u_fill; 20 | } else { 21 | gl_FragColor = u_stroke; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/fill_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | varying vec4 v_fill; 4 | 5 | void main(void){ 6 | gl_FragColor = v_fill; 7 | } 8 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/heatmap_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | uniform bool u_offscreen; 3 | uniform sampler2D u_texture; 4 | uniform sampler2D u_gradient; 5 | varying float v_weight; 6 | uniform float u_intensity; 7 | uniform float u_opacity; 8 | varying vec2 v_texcoord; 9 | varying vec2 v_direction; 10 | 11 | 12 | const float INV_SQRT_2_PI = 1.0 / sqrt(2.0 * M_PI); 13 | 14 | void main(void) { 15 | if (u_offscreen) { 16 | float sqDistance = dot(v_direction, v_direction); 17 | // Kernel Density Estimation (KDE) 18 | // Standardize Gaussian Function: 1/sqrt(2*PI) * e^(-1/2x^2) 19 | // Gaussian 20 | float density = INV_SQRT_2_PI * exp(-sqDistance / 2.0); 21 | // Quartic 22 | // float density = 15.0 / 16.0 * pow(1. - sqDistance, 2.); 23 | // Triweight 24 | // float density = 35.0 / 32.0 * pow(1. - sqDistance, 3.); 25 | 26 | gl_FragColor.r = v_weight * u_intensity * density; 27 | } else { 28 | float r = texture2D(u_texture, v_texcoord).r; 29 | gl_FragColor = texture2D(u_gradient, vec2(r, 0.5)) * u_opacity; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/heatmap_vertex.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | attribute vec3 a_position; 4 | attribute float a_weight; 5 | uniform vec2 u_radius; 6 | uniform mat4 u_matrix; 7 | uniform vec2 u_topLeft; 8 | uniform float u_scale; 9 | uniform bool u_offscreen; 10 | uniform float u_normalizePosition; 11 | 12 | varying vec2 v_texcoord; 13 | varying vec2 v_direction; 14 | varying float v_weight; 15 | 16 | 17 | void main(void) { 18 | 19 | if (u_offscreen) { 20 | // LSB (bit0) is visibility, bit1 is direction/normal vector [-1,+1] 21 | vec2 dir = mod(floor(a_position.xy / 2.0), 2.0) * 2.0 - 1.0; 22 | vec2 pos = floor(a_position.xy / 4.0) * u_normalizePosition; 23 | 24 | // Distribution Normal function (Gaussion) 25 | // effective value range is -3 -> +3, values <-3 or >+3 are very close to 0, so we simply scale and cut by 3. 26 | v_direction = 3.0 * dir; 27 | 28 | v_weight = a_weight; 29 | 30 | vec2 posCenter = vec2(u_topLeft + pos); 31 | vec2 offset = (dir * u_radius.x * vec2(1.0, -1.0)); 32 | gl_Position = u_matrix * vec4(posCenter + offset / u_scale, 0.0, 1.0); 33 | } else { 34 | gl_Position = vec4(a_position.xy, 0, 1); 35 | v_texcoord = a_position.xy * 0.5 + 0.5; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/icon_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | 3 | varying vec2 v_texcoord; 4 | uniform float u_opacity; 5 | 6 | uniform sampler2D u_texture; 7 | 8 | void main() { 9 | 10 | gl_FragColor = texture2D(u_texture, v_texcoord); 11 | gl_FragColor.a *= u_opacity; 12 | 13 | if (gl_FragColor.a<.1)discard; 14 | } 15 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/image_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | varying vec2 v_textureCoord; 4 | uniform sampler2D u_sampler; 5 | 6 | void main(void){ 7 | gl_FragColor = texture2D(u_sampler, v_textureCoord); 8 | } 9 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/image_vertex.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | attribute vec2 a_position; 4 | attribute vec2 a_textureCoord; 5 | 6 | uniform highp mat4 u_matrix; 7 | uniform highp vec2 u_topLeft; 8 | uniform highp vec2 u_resolution; 9 | uniform float u_tileScale; 10 | //uniform bool u_fixedView; 11 | varying vec2 v_textureCoord; 12 | uniform float u_scale; 13 | 14 | void main(void){ 15 | v_textureCoord = a_textureCoord; 16 | highp vec4 position = u_matrix * vec4( u_topLeft + a_position * u_tileScale, 0.0, 1.0 ); 17 | gl_Position = position; 18 | // gl_Position = u_fixedView ? snapToScreenPixel(position, u_resolution) : position; 19 | } 20 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/polygon_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | uniform vec4 u_fill; 4 | uniform float u_fillIntensity; 5 | 6 | #ifdef SPECULAR 7 | #include "light.glsl" 8 | 9 | uniform vec3 specular; 10 | uniform float shininess; 11 | uniform vec3 u_camWorld; 12 | varying vec3 v_surfaceToCam; 13 | varying vec3 fragNormal; 14 | #endif 15 | 16 | const vec3 surfaceNormal = vec3(0, 0, -1); 17 | 18 | void main(void) { 19 | 20 | #ifdef SPECULAR 21 | // Compute lighting with specular component 22 | vec4 light = computeBaseLighting(surfaceNormal, u_fill.rgb, u_fillIntensity, u_fill.a); 23 | light = addSpecularHighlights(surfaceNormal, light, v_surfaceToCam, shininess, specular); 24 | 25 | gl_FragColor = light; 26 | #else 27 | gl_FragColor = u_fill; 28 | #endif 29 | } 30 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/polygon_vertex.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | attribute vec3 a_position; 4 | 5 | uniform vec2 u_offsetZ; 6 | uniform float u_scale; 7 | uniform float u_zMeterToPixel; 8 | uniform mat4 u_matrix; 9 | uniform vec2 u_topLeft; 10 | 11 | #ifdef SPECULAR 12 | uniform vec3 u_camWorld; 13 | varying vec3 v_surfaceToCam; 14 | #endif 15 | 16 | void main(void){ 17 | float z = a_position.z + u_offsetZ.x / u_zMeterToPixel / u_scale; 18 | vec3 worldPos = vec3(u_topLeft + a_position.xy, -z); 19 | 20 | gl_Position = u_matrix * vec4(worldPos, 1.0); 21 | 22 | #ifdef SPECULAR 23 | v_surfaceToCam = u_camWorld - worldPos; 24 | #endif 25 | } 26 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/rect_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | uniform vec4 u_fill; 4 | uniform vec4 u_stroke; 5 | uniform float u_strokeWidth; 6 | 7 | varying vec2 vSize; 8 | varying vec2 vDir; 9 | 10 | #define COLOR_UNDEF -1.0 11 | 12 | void main(void){ 13 | float dx = distance(vDir.x, 0.0) * vSize.x; 14 | float dy = distance(vDir.y, 0.0) * vSize.y; 15 | 16 | if (dx > vSize.x-u_strokeWidth || dy > vSize.y-u_strokeWidth){ 17 | gl_FragColor = u_stroke; 18 | } else { 19 | gl_FragColor = u_fill; 20 | if(u_fill[0] == COLOR_UNDEF){ 21 | // discard; 22 | gl_FragColor.a = 0.0; 23 | }; 24 | 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/sky_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | uniform vec2 u_horizon; 4 | uniform sampler2D u_fill; 5 | 6 | varying vec2 v_texcoord; 7 | 8 | void main(void) { 9 | float horizonScale = u_horizon.x/u_horizon.y; 10 | gl_FragColor = texture2D(u_fill, vec2((1.0 - v_texcoord.y) * horizonScale, 0.0)); 11 | } 12 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/sky_vertex.glsl: -------------------------------------------------------------------------------- 1 | precision lowp float; 2 | 3 | attribute vec3 a_position; 4 | 5 | uniform mat4 u_matrix; 6 | uniform vec2 u_horizon; 7 | 8 | varying vec2 v_texcoord; 9 | 10 | void main(void){ 11 | vec4 worldPos = vec4( a_position.x, a_position.y * u_horizon.x, 0.0, 1.0); 12 | 13 | gl_Position = u_matrix * worldPos; 14 | 15 | v_texcoord = vec2(gl_Position.x,a_position.y); 16 | } 17 | -------------------------------------------------------------------------------- /packages/display/src/displays/webgl/glsl/text_fragment.glsl: -------------------------------------------------------------------------------- 1 | precision mediump float; 2 | 3 | varying vec2 v_texcoord; 4 | uniform sampler2D u_texture; 5 | uniform bool u_strokeOnly; 6 | uniform vec4 u_fillColor; 7 | uniform vec4 u_strokeColor; 8 | 9 | void main() { 10 | vec4 glyph = texture2D(u_texture, v_texcoord); 11 | vec4 color; 12 | float glyphAlpha; 13 | 14 | if (u_strokeOnly){ 15 | color = u_strokeColor; 16 | glyphAlpha = glyph.a; 17 | } else { 18 | color = u_fillColor; 19 | glyphAlpha = glyph.r; 20 | } 21 | 22 | gl_FragColor = glyphAlpha * color; 23 | } 24 | -------------------------------------------------------------------------------- /packages/display/src/ui/copyright/CopyrightSource.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import {TileLayer} from '@here/xyz-maps-core'; 21 | 22 | export type CopyrightSourceScope = { 23 | minLevel: number, 24 | maxLevel: number, 25 | layer: TileLayer 26 | }; 27 | 28 | export type CopyrightSource = { 29 | label: string 30 | alt?: string 31 | scopes?: CopyrightSourceScope[] 32 | }; 33 | -------------------------------------------------------------------------------- /packages/display/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "target": "ES2017", 5 | "sourceMap": true, 6 | "skipLibCheck": true, 7 | "lib": ["ES2017","dom"], 8 | "moduleResolution": "node" 9 | }, 10 | "include": [ 11 | "src/**/*" 12 | ], 13 | "exclude": [ 14 | "src/**/*.glsl", 15 | "node_modules", 16 | "dist" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /packages/editor/.gitignore: -------------------------------------------------------------------------------- 1 | docs/ 2 | node_modules/ 3 | dist/ 4 | -------------------------------------------------------------------------------- /packages/editor/assets/icons/arrow.d.hint.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/arrow.d.hint.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/arrow.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/arrow.hint.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/arrow.hint.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/car.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/car.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/default.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/default.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/noentry_24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/noentry_24.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/oneway_24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/oneway_24.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/pedestrian_24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/pedestrian_24.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/pointA.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/pointA.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/pointB.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/pointB.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/rotate.black.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/rotate.black.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/rotate.white.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/rotate.white.gif -------------------------------------------------------------------------------- /packages/editor/assets/icons/thoroughfare_24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/editor/assets/icons/thoroughfare_24.gif -------------------------------------------------------------------------------- /packages/editor/src/features/feature/Properties.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import {EditorFeatureProperties} from './EditorProperties'; 21 | 22 | /** 23 | * The properties of a editable Features. 24 | */ 25 | export interface FeatureProperties { 26 | 27 | /** 28 | * generic key - value map / object literal. 29 | */ 30 | [name: string]: any; 31 | 32 | /** 33 | * Properties to indicate current state of this feature. 34 | */ 35 | readonly '@ns:com:here:editor': EditorFeatureProperties 36 | }; 37 | -------------------------------------------------------------------------------- /packages/editor/src/features/link/GeoFence.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import InternalEditor from '../../IEditor'; 21 | 22 | export default class GeoFence { 23 | constructor(iEditor: InternalEditor, x: number, y: number, z?: number) { 24 | } 25 | 26 | isPntInFence(): boolean { 27 | // return !( VectorHelpers.getDistance( p, [x,y] ) > geoFenceRadius); 28 | return true; 29 | } 30 | 31 | isHidden(): boolean { 32 | return true; 33 | } 34 | 35 | remove() { 36 | 37 | }; 38 | }; 39 | -------------------------------------------------------------------------------- /packages/editor/src/features/location/triggerEvent.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | export const triggerEvent = (obj, ev: Event, target?: 'display' | 'routing', drag?: string) => { 21 | obj['target'] = target || 'display'; 22 | 23 | obj._e().listeners.trigger(ev, obj, drag); 24 | }; 25 | -------------------------------------------------------------------------------- /packages/editor/src/styles/WikiPOIStyles.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | // @ts-ignore 21 | import logo from '../../assets/icons/default.gif'; 22 | import {Feature} from '../features/feature/Feature'; 23 | 24 | class PlaceStyles { 25 | styleGroups = { 26 | 'default': [{ 27 | 'zIndex': 0, 28 | 'type': 'Image', 29 | 'src': logo, 30 | 'width': 20, 31 | 'height': 20 32 | }] 33 | }; 34 | 35 | assign(feature: Feature) { 36 | return 'default'; 37 | } 38 | } 39 | 40 | export default PlaceStyles; 41 | -------------------------------------------------------------------------------- /packages/editor/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "target": "ES2015", 5 | "moduleResolution": "node", 6 | "sourceMap": true, 7 | "skipLibCheck": true, 8 | "lib": ["dom","ES2015"], 9 | "allowJs": true 10 | }, 11 | "include": [ 12 | "src/**/*" 13 | ], 14 | "exclude": [ 15 | "node_modules", 16 | "dist" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /packages/playground/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | credentials.json 4 | -------------------------------------------------------------------------------- /packages/playground/assets/icon/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/playground/assets/icon/favicon.png -------------------------------------------------------------------------------- /packages/playground/assets/icon/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Group 3 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /packages/playground/assets/models/tree/tree.mtl: -------------------------------------------------------------------------------- 1 | newmtl Brown 2 | Ns 250.000000 3 | Ka 1.000000 1.000000 1.000000 4 | Kd 0.42352942 0.24313726 0.003921569 5 | Ks 0.500000 0.500000 0.500000 6 | Ke 0.000000 0.000000 0.000000 7 | Ni 1.450000 8 | d 1.000000 9 | illum 2 10 | 11 | newmtl Green 12 | Ns 250.000000 13 | Ka 1.000000 1.000000 1.000000 14 | Kd 0.000000 0.391572 0.158961 15 | Ks 0.500000 0.500000 0.500000 16 | Ke 0.000000 0.000000 0.000000 17 | Ni 1.450000 18 | d 1.000000 19 | illum 2 20 | -------------------------------------------------------------------------------- /packages/playground/examples/display/animate_road.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Animate a Road 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/display/click_feature_show_properties.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Show Feature Properties on click 6 | 25 | 26 | 27 |
28 |
No feature is clicked!
29 | 30 | 31 | -------------------------------------------------------------------------------- /packages/playground/examples/display/click_feature_to_center_map.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Center the map on a selected feature 6 | 26 | 27 | 28 |
29 |
Click on a feature to center the map
30 | 31 | 32 | -------------------------------------------------------------------------------- /packages/playground/examples/display/click_highlight_line.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Highlight a Line on click 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/display/custom_layer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Custom Layer 6 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | -------------------------------------------------------------------------------- /packages/playground/examples/display/custom_lightning.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Custom Lightning 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/display/hello_world.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Hello World 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/display/hello_world.ts: -------------------------------------------------------------------------------- 1 | import {MVTLayer} from '@here/xyz-maps-core'; 2 | import {Map} from '@here/xyz-maps-display'; 3 | 4 | // setup the Map Display 5 | const display = new Map(document.getElementById('map'), { 6 | zoomlevel: 17, 7 | center: { 8 | longitude: -122.48024, 9 | latitude: 37.77326 10 | }, 11 | // add layers to the map 12 | layers: [ 13 | new MVTLayer({ 14 | name: 'background layer', 15 | // the minimum zoom level the layer is displayed 16 | min: 1, 17 | // the maximum zoom level the layer is displayed 18 | max: 20, 19 | remote: { 20 | url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY 21 | } 22 | }) 23 | ] 24 | }); 25 | -------------------------------------------------------------------------------- /packages/playground/examples/display/hover_hightlight_line.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Highlight a Line on hover 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/display/mapview_listener.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Listen for mapview change events 6 | 25 | 26 | 27 |
28 |
Event Info
29 | 30 | 31 | -------------------------------------------------------------------------------- /packages/playground/examples/display/observer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Observe the map center 6 | 25 | 26 | 27 |
28 |
pan the map to change the center
29 | 30 | 31 | -------------------------------------------------------------------------------- /packages/playground/examples/display/observer.ts: -------------------------------------------------------------------------------- 1 | import {MVTLayer} from '@here/xyz-maps-core'; 2 | import {Map} from '@here/xyz-maps-display'; 3 | 4 | /** setup the Map **/ 5 | const display = new Map(document.getElementById('map'), { 6 | zoomlevel: 17, 7 | center: { 8 | longitude: -122.48024, latitude: 37.77326 9 | }, 10 | // add layers to display 11 | layers: [ 12 | new MVTLayer({ 13 | name: 'background layer', 14 | min: 1, 15 | max: 20, 16 | remote: { 17 | url: 'https://vector.hereapi.com/v2/vectortiles/base/mc/{z}/{x}/{y}/omv?apikey=' + YOUR_API_KEY 18 | } 19 | }) 20 | ] 21 | }); 22 | /** **/ 23 | 24 | 25 | let infoTag = document.querySelector('#info'); 26 | 27 | // add an center observer to the map 28 | display.addObserver('center', (name, newValue, oldValue) => { 29 | infoTag.innerText = name + ' new: ' + JSON.stringify(newValue, null, 4) + ' old:' + JSON.stringify(oldValue, null, 4); 30 | }); 31 | 32 | // add an zoomlevel observer to the map 33 | display.addObserver('zoomlevel', (name, newValue, oldValue) => { 34 | infoTag.innerText = name + ' new: ' + newValue + ' old:' + oldValue; 35 | }); 36 | -------------------------------------------------------------------------------- /packages/playground/examples/display/pitch_rotate_map.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Pitch and Rotate Map 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/display/pointer_listener.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Listen for pointer events 6 | 25 | 26 | 27 |
28 |
Pointer event:
29 | 30 | 31 | -------------------------------------------------------------------------------- /packages/playground/examples/display/terrain.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: 3D Terrain 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/display/visualize_space_layer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Visualize a XYZ Space 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/display/world_repetition_modes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: World Repetition Modes 6 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/add_contextmenu.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Create a Context Menu 6 | 34 | 35 | 36 |
37 |
    38 | 39 | 40 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/crossing_detect.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Detect crossing Navlinks 6 | 32 | 33 | 34 |
    35 | Create Road 36 | Show Crossings 37 | 38 | 39 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/custom_provider.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Custom Provider 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/drag_place_to_building.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Drag a Place onto a Building 6 | 17 | 18 | 19 |
    20 | 21 | 22 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/edit_building.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Edit 3d Buildings 6 | 17 | 18 | 19 |
    20 | 21 | 22 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/hello_world.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Hello World 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/hover_highlight_connected_navlink.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Highlight a Line on Point hover 6 | 17 | 18 | 19 |
    20 | 21 | 22 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/pointer_listener.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Pointer Event Listeners 6 | 25 | 26 | 27 |
    28 |
    Pointer event:
    29 | 30 | 31 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/select_shapes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Drag multiple Shapes 6 | 25 | 26 | 27 |
    28 |
    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.
    29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/select_specific_navlink.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Customized click handler 6 | 17 | 18 | 19 |
    20 |
    Only highways are selectable
    21 | 22 | 23 | -------------------------------------------------------------------------------- /packages/playground/examples/editor/turn_restriction_editor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Turn Restrictions 6 | 26 | 27 | 28 |
    29 |
    Click on a Navlink to display and edit TurnRestrictions
    30 | 31 | 32 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/3d_buildings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: 3d Buildings 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/3d_lines.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: 3d Lines 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/3d_points.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: 3d Points 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/ClusterTileLayer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Cluster and display map-data 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/Heatmap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Heatmap 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/MVTLayer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: MVTLayer 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/Models.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: 3d Model Styles 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/add_remove_building_feature.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Add/Remove a Polygon 6 | 32 | 33 | 34 |
    35 | Add Building 36 | 37 | 38 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/add_remove_line.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Add/Remove Lines 6 | 32 | 33 | 34 |
    35 | Add Lines 36 | 37 | 38 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/add_remove_point.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Add/Remove Points 6 | 32 | 33 | 34 |
    35 | Add Points 36 | 37 | 38 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/collision_detection.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Collision Detection 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/custom_style.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Customized Layer Styling 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/label_collision_detection.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Label Collision detection 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/offset_line.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Offset lines 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/preprocessor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Remote Preprocessor 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/search_boundingbox.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Search for features in an area 6 | 27 | 28 | 29 |
    30 | 31 | 32 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/search_id.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Search a feature by id 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/settag_space_provider.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Set Tag in Space Layer 6 | 16 | 17 | 18 |
    19 | 20 | Set Tag 21 | 22 | 23 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/style_drawingorder.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: The Drawing Order 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/style_expressions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Expression based Styling 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/style_navlink.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Pick a random Road in the viewport 6 | 32 | 33 | 34 |
    35 | Highlight random line 36 | 37 | 38 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/style_zoomrange.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Styles and zoomRanges 6 | 16 | 17 | 18 |
    19 | Show New Style 20 | 21 | 22 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/visualize_sat_image.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | XYZ Maps Example: Visualize Satellite Images 6 | 16 | 17 | 18 |
    19 | 20 | 21 | -------------------------------------------------------------------------------- /packages/playground/examples/layer/visualize_sat_image.ts: -------------------------------------------------------------------------------- 1 | import {TileLayer, ImageProvider} from '@here/xyz-maps-core'; 2 | import {Map} from '@here/xyz-maps-display'; 3 | 4 | // Create a TileLayer using a ImageProvider 5 | var myLayer = new TileLayer({ 6 | // Name of the layer 7 | name: 'mySatelliteImages', 8 | // Minimum zoom level 9 | min: 14, 10 | // Maximum zoom level 11 | max: 20, 12 | // set the tileSize in pixel 13 | tileSize: 512, 14 | // Define provider for this layer 15 | provider: new ImageProvider({ 16 | // Name of the provider 17 | name: 'myImageProvider', 18 | // URL of image tiles 19 | url: `https://maps.hereapi.com/v3/background/mc/{z}/{x}/{y}/png8?apikey=${YOUR_API_KEY}&style=satellite.day&size=512` 20 | }) 21 | }); 22 | 23 | // setup the Map Display 24 | const display = new Map(document.getElementById('map'), { 25 | zoomlevel: 17, 26 | center: { 27 | longitude: -117.15406, 28 | latitude: 32.72966 29 | }, 30 | // add layer to display 31 | layers: [myLayer] 32 | }); 33 | -------------------------------------------------------------------------------- /packages/playground/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "path": { 3 | "xyz-maps": { 4 | "common": "../../common/dist/xyz-maps-common.js", 5 | "core": "../../core/dist/xyz-maps-core.js", 6 | "display": "../../display/dist/xyz-maps-display.js", 7 | "editor": "../../editor/dist/xyz-maps-editor.js" 8 | }, 9 | "doc": "/docs/", 10 | "destination": "dist", 11 | "resource": "./", 12 | "token": "./token.js" 13 | }, 14 | "exclude": { 15 | "editor": "${EXCLUDE_EDITOR}" 16 | }, 17 | "monaco": { 18 | "theme": "vs-dark" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /packages/playground/src/components/Button.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | @import 'Theme'; 20 | 21 | .button { 22 | outline: none; 23 | background-color: $primaryColor; 24 | border: none; 25 | color: white; 26 | padding: 5px; 27 | text-align: center; 28 | text-decoration: none; 29 | display: inline-block; 30 | font-size: 14px; 31 | font-family: $fontFamily; 32 | box-sizing: border-box; 33 | float: left; 34 | cursor: pointer 35 | } 36 | 37 | .button:hover, .button.active, #dl:hover { 38 | background-color: $secondaryColor; 39 | } 40 | -------------------------------------------------------------------------------- /packages/playground/src/components/Editor.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | .editorContainer { 21 | position: relative; 22 | display: flex; 23 | flex-direction: column; 24 | flex-grow: 1; 25 | float: left; 26 | box-sizing: border-box; 27 | 28 | .editor { 29 | box-sizing: border-box; 30 | position: relative; 31 | 32 | flex-grow: 1; 33 | } 34 | 35 | .monacoEditor{ 36 | height: 100%; 37 | flex-grow: 1; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /packages/playground/src/components/Navbar.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import React from 'react'; 21 | import './Navbar.scss'; 22 | 23 | const Navbar: React.FC = (props: { title: string, version: string }) => { 24 | return ( 25 | 30 | ); 31 | }; 32 | 33 | export {Navbar}; 34 | -------------------------------------------------------------------------------- /packages/playground/src/components/Preview.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | .preview { 21 | .iframe { 22 | width: 100%; 23 | height: 100%; 24 | border: none; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /packages/playground/src/components/Theme.scss: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | $logoUrl: url("assets/icon/logo.svg"); 20 | 21 | $backgroundColor: #E0E0E0; 22 | $navbarColor: #3a3d45; 23 | $primaryColor: #333; 24 | $secondaryColor: #666; 25 | $fontFamily: Arial, Helvetica, sans-serif; 26 | $primaryFontColor: black; 27 | $secondaryFontColor: white; 28 | $fontHighlightColor: $secondaryFontColor; 29 | -------------------------------------------------------------------------------- /packages/playground/src/index.tsx: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | import React from 'react'; 20 | import ReactDOM from 'react-dom'; 21 | import {App} from './App'; 22 | 23 | // @ts-ignore 24 | import examples from 'exampleslist'; 25 | 26 | 27 | ReactDOM.render(, document.getElementById('app')); 28 | -------------------------------------------------------------------------------- /packages/playground/src/token.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | // @ts-ignore 20 | import {TOKEN, APIKEY} from 'access_token'; 21 | 22 | declare global { 23 | const YOUR_ACCESS_TOKEN: string; 24 | const YOUR_API_KEY: string; 25 | 26 | interface Window { _APIKEY: string; _TKN: string} 27 | } 28 | 29 | window._TKN = TOKEN; 30 | window._APIKEY = APIKEY; 31 | -------------------------------------------------------------------------------- /packages/playground/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "target": "es5", 5 | "sourceMap": true, 6 | "allowJs": true, 7 | "skipLibCheck": true, 8 | "lib": [ 9 | "dom", 10 | "es2015", 11 | "webworker" 12 | ], 13 | "jsx": "react" 14 | }, 15 | "include": [ 16 | "examples/**/*", 17 | "src/**/*" 18 | ], 19 | "exclude": [ 20 | "node_modules", 21 | "dist" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /packages/tests/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | credentials.json 4 | -------------------------------------------------------------------------------- /packages/tests/assets/tiles/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/tests/assets/tiles/0.png -------------------------------------------------------------------------------- /packages/tests/assets/tiles/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/tests/assets/tiles/1.png -------------------------------------------------------------------------------- /packages/tests/assets/tiles/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/tests/assets/tiles/2.png -------------------------------------------------------------------------------- /packages/tests/assets/tiles/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/heremaps/xyz-maps/fd7cea52801090ba5b933ac202e8159dc4d91881/packages/tests/assets/tiles/3.png -------------------------------------------------------------------------------- /packages/tests/assets/tiles/tile.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /packages/tests/environments.json: -------------------------------------------------------------------------------- 1 | { 2 | "xyzhub": "https://xyz.api.here.com/hub", 3 | "image": "{LOCALHOST}/base/tests/assets/tiles/{QUADKEY}.png" 4 | } 5 | -------------------------------------------------------------------------------- /packages/tests/specs/common/main.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import './*/*'; 21 | -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/basic_get_cancel_tile_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/gettile_multiple_times_cancel_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/gettile_multiple_times_cancel_with_same_callback_requestagain_after_finish_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/gettile_multiple_times_cancel_with_same_callback_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/gettile_then_cancel_at_different_level_requestagain_after_finish_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "type": "GeoJSONProvider", 6 | "options": { 7 | "id": "placeProvider", 8 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 9 | "name": "Places", 10 | "level": 16, 11 | "ignoreTileQueryLimit": true 12 | } 13 | }, 14 | "min": 14, 15 | "max": 20 16 | }] 17 | } 18 | -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/gettile_then_cancel_at_different_level_requestagain_after_finish_with_same_callback_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "type": "GeoJSONProvider", 6 | "options": { 7 | "id": "placeProvider", 8 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 9 | "name": "Places", 10 | "level": 16, 11 | "ignoreTileQueryLimit": true 12 | } 13 | }, 14 | "min": 14, 15 | "max": 20 16 | }] 17 | } 18 | -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/gettile_then_cancel_at_high_level_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "type": "GeoJSONProvider", 6 | "options": { 7 | "id": "placeProvider", 8 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 9 | "name": "Places", 10 | "level": 16, 11 | "ignoreTileQueryLimit": true 12 | } 13 | }, 14 | "min": 14, 15 | "max": 20 16 | }] 17 | } 18 | -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/gettile_then_cancel_with_all_requests_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/layer_basic_get_cancel_tile_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/layer_gettile_multiple_times_cancel_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/layer_gettile_multiple_times_cancel_with_same_callback_requestagain_after_finish_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/layer_gettile_multiple_times_cancel_with_same_callback_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/layer_gettile_then_cancel_at_different_level_requestagain_after_finish_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "type": "GeoJSONProvider", 6 | "options": { 7 | "id": "placeProvider", 8 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 9 | "name": "Places", 10 | "level": 16, 11 | "ignoreTileQueryLimit": true 12 | } 13 | }, 14 | "min": 14, 15 | "max": 20 16 | }] 17 | } 18 | -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/layer_gettile_then_cancel_at_different_level_requestagain_after_finish_with_same_callback_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "type": "GeoJSONProvider", 6 | "options": { 7 | "id": "placeProvider", 8 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 9 | "name": "Places", 10 | "level": 16, 11 | "ignoreTileQueryLimit": true 12 | } 13 | }, 14 | "min": 14, 15 | "max": 20 16 | }] 17 | } 18 | -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/layer_gettile_then_cancel_at_high_level_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "type": "GeoJSONProvider", 6 | "options": { 7 | "id": "placeProvider", 8 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 9 | "name": "Places", 10 | "level": 16, 11 | "ignoreTileQueryLimit": true 12 | } 13 | }, 14 | "min": 14, 15 | "max": 20 16 | }] 17 | } 18 | -------------------------------------------------------------------------------- /packages/tests/specs/core/get_cancel_tiles/layer_gettile_then_cancel_with_all_requests_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 16 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/layer/add_remove_feature_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "addressLayer", 4 | "provider": { 5 | "id": "addressProvider", 6 | "type": "LocalProvider", 7 | "name": "Address", 8 | "level": 14 9 | }, 10 | "min": 14, 11 | "max": 20 12 | }] 13 | } 14 | -------------------------------------------------------------------------------- /packages/tests/specs/core/layer/add_remove_multiple_feature_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "addressLayer", 4 | "provider": { 5 | "id": "addressProvider", 6 | "type": "LocalProvider", 7 | "name": "Address", 8 | "level": 14 9 | }, 10 | "min": 14, 11 | "max": 20 12 | }] 13 | } 14 | -------------------------------------------------------------------------------- /packages/tests/specs/core/layer/clusterTileLayer.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "dataLayer", 4 | "provider": { 5 | "id": "dataProvider", 6 | "type": "LocalProvider" 7 | }, 8 | "min": 2, 9 | "max": 20 10 | }] 11 | } 12 | -------------------------------------------------------------------------------- /packages/tests/specs/core/layer/event_listeners_poi_layer_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeLayer", 4 | "provider": { 5 | "id": "placeProvider", 6 | "type": "LocalProvider", 7 | "name": "Places", 8 | "level": 16 9 | }, 10 | "min": 14, 11 | "max": 20, 12 | "data": { 13 | "local": [{ 14 | "id": -9119, 15 | "geometry": { 16 | "coordinates": [-88.7789715, 36.1600827, 0.0], 17 | "type": "Point" 18 | }, 19 | "type": "Feature", 20 | "properties": { 21 | "featureClass": "PLACE" 22 | } 23 | }, { 24 | "id": -9118, 25 | "geometry": { 26 | "coordinates": [-88.77912, 36.16015, 0.0], 27 | "type": "Point" 28 | }, 29 | "type": "Feature", 30 | "properties": { 31 | "featureClass": "PLACE" 32 | }, 33 | "class": "PLACE" 34 | }] 35 | } 36 | }] 37 | } 38 | -------------------------------------------------------------------------------- /packages/tests/specs/core/main.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import './get_cancel_tiles/*'; 21 | import './layer/*'; 22 | import './provider/*/*'; 23 | 24 | -------------------------------------------------------------------------------- /packages/tests/specs/core/provider/geojsonprovider/add_remove_feature_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeGeoJsonLayer", 4 | "provider": { 5 | "id": "placeGeoJsonProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 14 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/core/provider/geojsonprovider/event_listeners_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeGeoJsonLayer", 4 | "provider": { 5 | "id": "placeGeoJsonProvider", 6 | "type": "GeoJSONProvider", 7 | "url": "base/tests/assets/tiles/tile.json?quadkey={QUADKEY}", 8 | "name": "Places", 9 | "level": 14 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/display/general/add_remove_layer_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "imageLayer", 4 | "provider": { 5 | "id": "imageProvider", 6 | "type": "ImageProvider", 7 | "name": "image provider" 8 | }, 9 | "min": 14, 10 | "max": 20 11 | },{ 12 | "id": "linkLayer", 13 | "provider": { 14 | "id": "linkProvider", 15 | "type": "LocalProvider", 16 | "name": "Links", 17 | "level": 15, 18 | "class": "NAVLINK" 19 | }, 20 | "min": 14, 21 | "max": 20 22 | }] 23 | } 24 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/coordinates_convert_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/disable_zoomcontrol_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/display_map_and_link_layer.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "imageLayer", 4 | "provider": { 5 | "id": "imageProvider", 6 | "type": "ImageProvider", 7 | "name": "image provider" 8 | }, 9 | "min": 14, 10 | "max": 20 11 | },{ 12 | "id": "linkLayer", 13 | "provider": { 14 | "id": "linkProvider", 15 | "type": "LocalProvider", 16 | "name": "Links", 17 | "level": 15, 18 | "class": "NAVLINK" 19 | }, 20 | "min": 14, 21 | "max": 20, 22 | "data": { 23 | "local": [{ 24 | "id": 1003913693, 25 | "type": "Feature", 26 | "properties": { 27 | "featureClass": "NAVLINK" 28 | }, 29 | "geometry": { 30 | "type": "LineString", 31 | "coordinates": [ 32 | [75.1793588, 15.483777, 0], 33 | [75.1696812, 15.483777, 0] 34 | ] 35 | } 36 | }] 37 | } 38 | }] 39 | } 40 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/get_containers_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/get_functions_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/lock_viewport_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/map_destroy_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/pan_map_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/pixel_geo_coordinates_convert_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/polygon_render_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "areaLayer", 4 | "provider": { 5 | "id": "areaProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/set_functions_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "imageLayer", 4 | "provider": { 5 | "id": "imageProvider", 6 | "type": "ImageProvider", 7 | "name": "image provider" 8 | }, 9 | "min": 14, 10 | "max": 20 11 | },{ 12 | "id": "linkLayer", 13 | "provider": { 14 | "id": "linkProvider", 15 | "type": "LocalProvider", 16 | "name": "Links", 17 | "level": 15, 18 | "class": "NAVLINK" 19 | }, 20 | "min": 14, 21 | "max": 20 22 | },{ 23 | "id": "paLayer", 24 | "name": "Address Layer", 25 | "provider": { 26 | "id": "paProvider", 27 | "type": "LocalProvider", 28 | "name": "Address", 29 | "level": 14 30 | }, 31 | "min": 14, 32 | "max": 20 33 | },{ 34 | "id": "placeLayer", 35 | "provider": { 36 | "id": "placeProvider", 37 | "type": "LocalProvider", 38 | "name": "Places", 39 | "level": 14 40 | }, 41 | "min": 14, 42 | "max": 20 43 | }] 44 | } 45 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/set_get_behavior_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/set_get_viewbounds_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/display/general/zoom_in_20_plus.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "imageLayer", 4 | "provider": { 5 | "id": "imageProvider", 6 | "type": "ImageProvider", 7 | "name": "image provider" 8 | }, 9 | "min": 14, 10 | "max": 32 11 | },{ 12 | "id": "localLayer", 13 | "provider": { 14 | "id": "localProvider", 15 | "type": "LocalProvider", 16 | "name": "Links", 17 | "level": 15 18 | }, 19 | "min": 14, 20 | "max": 32, 21 | "data": { 22 | "local": [{ 23 | "type": "Feature", 24 | "properties": {}, 25 | "geometry": { 26 | "type": "Point", 27 | "coordinates": [74.17249, 15.47986] 28 | } 29 | }] 30 | } 31 | }] 32 | } 33 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/collision_detection_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "testLayer", 4 | "provider": { 5 | "id": "testProvider", 6 | "type": "LocalProvider" 7 | }, 8 | "min": 2, 9 | "max": 20 10 | }] 11 | } 12 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/layer_with_background_color_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "Layer1", 4 | "provider": { 5 | "id": "myProvider1", 6 | "type": "LocalProvider", 7 | "name": "my Provider", 8 | "level": 15 9 | }, 10 | "min": 14, 11 | "max": 20 12 | }, { 13 | "id": "Layer2", 14 | "provider": { 15 | "id": "myProvider2", 16 | "type": "LocalProvider", 17 | "name": "my Provider", 18 | "level": 15 19 | }, 20 | "min": 14, 21 | "max": 20 22 | }] 23 | } 24 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/setstylegroup_point_circle.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "name": "Link Layer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "LocalProvider", 8 | "name": "Links", 9 | "level": 15, 10 | "class": "NAVLINK" 11 | }, 12 | "min": 14, 13 | "max": 20 14 | },{ 15 | "id": "paLayer", 16 | "name": "Address Layer", 17 | "provider": { 18 | "id": "paProvider", 19 | "type": "LocalProvider", 20 | "name": "Address", 21 | "level": 14 22 | }, 23 | "min": 14, 24 | "max": 20, 25 | "data": { 26 | "local": [{ 27 | "id": 123, 28 | "geometry": { 29 | "coordinates": [73.549401, 19.815739, 0], 30 | "type": "Point" 31 | }, 32 | "type": "Feature", 33 | "properties": {} 34 | }] 35 | } 36 | }] 37 | } 38 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/setstylegroup_point_image.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "name": "Link Layer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "LocalProvider", 8 | "name": "Links", 9 | "level": 15, 10 | "class": "NAVLINK" 11 | }, 12 | "min": 14, 13 | "max": 20 14 | },{ 15 | "id": "paLayer", 16 | "name": "Address Layer", 17 | "provider": { 18 | "id": "paProvider", 19 | "type": "LocalProvider", 20 | "name": "Address", 21 | "level": 14 22 | }, 23 | "min": 14, 24 | "max": 20, 25 | "data": { 26 | "local": [{ 27 | "id": 123, 28 | "geometry": { 29 | "coordinates": [73.76268, 20.291689, 0], 30 | "type": "Point" 31 | }, 32 | "type": "Feature", 33 | "properties": { 34 | "address": "0" 35 | } 36 | }] 37 | } 38 | }] 39 | } 40 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/setstylegroup_point_rect.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "name": "Link Layer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "LocalProvider", 8 | "name": "Links", 9 | "level": 15, 10 | "class": "NAVLINK" 11 | }, 12 | "min": 14, 13 | "max": 20 14 | },{ 15 | "id": "paLayer", 16 | "name": "Address Layer", 17 | "provider": { 18 | "id": "paProvider", 19 | "type": "LocalProvider", 20 | "name": "Address", 21 | "level": 14 22 | }, 23 | "min": 14, 24 | "max": 20, 25 | "data": { 26 | "local": [{ 27 | "id": 123, 28 | "geometry": { 29 | "coordinates": [73.075272, 19.931463, 0], 30 | "type": "Point" 31 | }, 32 | "type": "Feature", 33 | "properties": {} 34 | }] 35 | } 36 | }] 37 | } 38 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/setstylegroup_point_text.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "name": "Link Layer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "LocalProvider", 8 | "name": "Links", 9 | "level": 15, 10 | "class": "NAVLINK" 11 | }, 12 | "min": 14, 13 | "max": 20 14 | },{ 15 | "id": "paLayer", 16 | "name": "Address Layer", 17 | "provider": { 18 | "id": "paProvider", 19 | "type": "LocalProvider", 20 | "name": "Address", 21 | "level": 14 22 | }, 23 | "min": 14, 24 | "max": 20, 25 | "data": { 26 | "local": [{ 27 | "id": 123, 28 | "geometry": { 29 | "coordinates": [73.124442, 20.181623, 0], 30 | "type": "Point" 31 | }, 32 | "type": "Feature", 33 | "properties": { 34 | "address": "O" 35 | } 36 | }] 37 | } 38 | }] 39 | } 40 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/setstylegroup_polygon_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "name": "Link Layer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "LocalProvider", 8 | "name": "Links", 9 | "level": 15, 10 | "class": "NAVLINK" 11 | }, 12 | "min": 14, 13 | "max": 20 14 | },{ 15 | "id": "buildingLayer", 16 | "provider": { 17 | "id": "buildingProvider", 18 | "type": "LocalProvider", 19 | "name": "Buildings", 20 | "level": 13 21 | }, 22 | "min": 14, 23 | "max": 20, 24 | "data": { 25 | "local": [{ 26 | "id": 123, 27 | "geometry": { 28 | "coordinates": [[[[73.471185, 21.4043, 0], [73.471469, 21.404854, 0], [73.472429, 21.404784, 0], [73.472376, 21.404245, 0], [73.471185, 21.4043, 0]]]], 29 | "type": "MultiPolygon" 30 | }, 31 | "type": "Feature", 32 | "properties": {} 33 | }] 34 | } 35 | }] 36 | } 37 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/style_type_model.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "modelLayer", 4 | "provider": { 5 | "id": "modelProvider", 6 | "type": "LocalProvider" 7 | }, 8 | "min": 14, 9 | "max": 20, 10 | "data": { 11 | "local": [{ 12 | "id": "model1", 13 | "geometry": { 14 | "coordinates": [73.549401, 19.815739, 0], 15 | "type": "Point" 16 | }, 17 | "type": "Feature", 18 | "properties": {} 19 | }] 20 | } 21 | }] 22 | } 23 | -------------------------------------------------------------------------------- /packages/tests/specs/display/layer/stylegroup_line_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "LocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": "123", 16 | "geometry": { 17 | "coordinates": [[73.707821, 21.189023, 0], [73.708821, 21.189023, 0], [73.709521, 21.188023, 0]], 18 | "type": "LineString" 19 | }, 20 | "type": "Feature", 21 | "properties": {} 22 | }] 23 | } 24 | }] 25 | } 26 | -------------------------------------------------------------------------------- /packages/tests/specs/display/listener/display_mapview_listener_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "name": "Link Layer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "LocalProvider", 8 | "name": "Links", 9 | "level": 15, 10 | "class": "NAVLINK" 11 | }, 12 | "min": 14, 13 | "max": 20 14 | }] 15 | } 16 | -------------------------------------------------------------------------------- /packages/tests/specs/display/listener/parent_map_listener_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "name": "Link Layer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "LocalProvider", 8 | "name": "Links", 9 | "level": 15, 10 | "class": "NAVLINK" 11 | }, 12 | "min": 14, 13 | "max": 20 14 | }] 15 | } 16 | -------------------------------------------------------------------------------- /packages/tests/specs/display/main.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import './*/*'; 21 | -------------------------------------------------------------------------------- /packages/tests/specs/display/observer/display_observer_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "name": "Link Layer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "LocalProvider", 8 | "name": "Links", 9 | "level": 15, 10 | "class": "NAVLINK" 11 | }, 12 | "min": 14, 13 | "max": 20 14 | }] 15 | } 16 | -------------------------------------------------------------------------------- /packages/tests/specs/editor/address/address_create_outside_viewport_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon": 75.55402265889137, "minLat": 14.021050590289647, "maxLon": 75.5583141933152, "maxLat": 14.024173325877541} 14 | },{ 15 | "id": "paLayer", 16 | "provider": { 17 | "id": "paProvider", 18 | "type": "TestLocalProvider", 19 | "name": "address", 20 | "level": 14 21 | }, 22 | "min": 14, 23 | "max": 20, 24 | "clear": {"minLon": 75.55402265889137, "minLat": 14.021050590289647, "maxLon": 75.5583141933152, "maxLat": 14.024173325877541} 25 | }] 26 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/address/address_create_remove_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -188807, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "path" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [77.326700675, 12.935861414, 0], 25 | [77.32831, 12.935861414, 0] 26 | ] 27 | } 28 | }] 29 | } 30 | },{ 31 | "id": "paLayer", 32 | "provider": { 33 | "id": "paProvider", 34 | "type": "TestLocalProvider", 35 | "name": "address", 36 | "level": 14 37 | }, 38 | "min": 14, 39 | "max": 20 40 | }] 41 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/address/address_delete_new_connected_link_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | },{ 14 | "id": "paLayer", 15 | "provider": { 16 | "id": "paProvider", 17 | "type": "TestLocalProvider", 18 | "name": "address", 19 | "level": 14 20 | }, 21 | "min": 14, 22 | "max": 20 23 | }] 24 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/area/area_create_drawingmanager_pan_map_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "buildingLayer", 4 | "provider": { 5 | "id": "buildingProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Buildings", 8 | "level": 13 9 | }, 10 | "min": 14, 11 | "max": 20, 12 | "clear": {"minLon":76.08097994367017,"minLat":13.21327162725639,"maxLon":76.085271478094,"maxLat":13.216405047338895} 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/area/area_create_drawingmanager_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "buildingLayer", 4 | "provider": { 5 | "id": "buildingProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Buildings", 8 | "level": 13 9 | }, 10 | "min": 14, 11 | "max": 20, 12 | "clear": {"minLon":76.08097994367017,"minLat":13.21327162725639,"maxLon":76.085271478094,"maxLat":13.216405047338895} 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/area/area_create_drawingmanager_vertical_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "buildingLayer", 4 | "provider": { 5 | "id": "buildingProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Buildings", 8 | "level": 13 9 | }, 10 | "min": 14, 11 | "max": 20, 12 | "clear": {"minLon": 76.08097994367017, "minLat": 13.21327162725639, "maxLon": 76.085271478094, "maxLat": 13.216405047338895} 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/area/area_create_remove_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "buildingLayer", 4 | "provider": { 5 | "id": "buildingProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Buildings", 8 | "level": 13 9 | }, 10 | "min": 14, 11 | "max": 20, 12 | "clear": {"minLon":77.02616423278812,"minLat":12.934031510649802,"maxLon":77.03045576721195,"maxLat":12.937168479488093} 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/area/area_transformer_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "buildingLayer", 4 | "provider": { 5 | "id": "buildingProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Buildings", 8 | "level": 13 9 | }, 10 | "min": 14, 11 | "max": 20, 12 | "data": { 13 | "local": [{ 14 | "id": -9078, 15 | "type": "Feature", 16 | "properties": { 17 | "featureClass": "AREA", 18 | "type": "building" 19 | }, 20 | "geometry": { 21 | "type": "MultiPolygon", 22 | "coordinates": [[[ 23 | [74.82131612, 12.901112607, 0], 24 | [74.82131612, 12.900589706, 0], 25 | [74.821852562, 12.901112607, 0], 26 | [74.82131612, 12.901112607, 0] 27 | ]]] 28 | } 29 | }] 30 | }, 31 | "clear": {"minLon":74.82077967826893,"minLat":12.90032825497022,"maxLon":74.82292544548085,"maxLat":12.901896955950562} 32 | }] 33 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/configs/autoconnectshapedistance_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.84065239205927,"minLat":17.450208371191806,"maxLon":77.84279815927118,"maxLat":17.451743625619756} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/configs/disconnectshapedistance_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.84065239205927,"minLat":17.450208371191806,"maxLon":77.84279815927118,"maxLat":17.451743625619756} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/configs/featureselectionbydefault_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.84065239205927,"minLat":17.450208371191806,"maxLon":77.84279815927118,"maxLat":17.451743625619756} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/configs/keepfeatureselection_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.84065239205927,"minLat":17.450208371191806,"maxLon":77.84279815927118,"maxLat":17.451743625619756} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/configs/maxroutingpointdistance_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.84065239205927,"minLat":17.450208371191806,"maxLon":77.84279815927118,"maxLat":17.451743625619756} 14 | }, { 15 | "id": "paLayer", 16 | "provider": { 17 | "id": "paProvider", 18 | "type": "TestLocalProvider", 19 | "name": "Address", 20 | "level": 14 21 | }, 22 | "min": 14, 23 | "max": 20, 24 | "clear": {"minLon":77.84065239205927,"minLat":17.450208371191806,"maxLon":77.84279815927118,"maxLat":17.451743625619756} 25 | }] 26 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/configs/minshapedistance_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.84065239205927,"minLat":17.450208371191806,"maxLon":77.84279815927118,"maxLat":17.451743625619756} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/configs/xtestmaxdistance_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.84065239205927,"minLat":17.450208371191806,"maxLon":77.84279815927118,"maxLat":17.451743625619756} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_connect_link_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -188845, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [77.262377116, 13.249935177, 0], 25 | [77.261840675, 13.249935177, 0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":77.26130423278812,"minLat":13.247322226004937,"maxLon":77.26559576721195,"maxLat":13.250457764052638} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_create_and_connect_to_link_head_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -188846, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [77.000270155, 13.074080504, 0], 25 | [77.000270155, 13.07460304, 0], 26 | [77.000806597, 13.074550786, 0] 27 | ] 28 | } 29 | }] 30 | }, 31 | "clear": {"minLon":77.09919727146911,"minLat":13.073035429092542,"maxLon":77.00348880589294,"maxLat":13.076170640691515} 32 | }] 33 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_create_and_connect_to_original_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -188847, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [77.220259106, 13.152202639, 0], 25 | [77.219722664, 13.152202639, 0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":77.21918622215452,"minLat":13.1495897122955,"maxLon":77.22347775657835,"maxLat":13.152725221581113} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_create_and_split_original_outofview_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -188848, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [79.262377116, 13.049935177, 0], 25 | [79.261840675, 13.049935177, 0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":79.26130423278812,"minLat":13.047322226004937,"maxLon":79.26559576721195,"maxLat":13.050457764052638} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_create_and_split_original_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -188849, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [79.262377116, 13.049935177, 0], 25 | [79.261840675, 13.049935177, 0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":79.26130423278812,"minLat":13.047322226004937,"maxLon":79.26559576721195,"maxLat":13.050457764052638} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_create_cancel_and_destroy_editor_display.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_dragmap_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":76.98291423278806,"minLat":12.886191210411639,"maxLon":76.98720576721189,"maxLat":12.889328779760234} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_events_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon": 77.26130423278812, "minLat": 13.047322226004937, "maxLon": 77.26559576721195, "maxLat": 13.050457764052638} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_high_zoomlevel_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_hove_shape_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_modify_shapepoint_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":76.98455933163416,"minLat":12.886584799258898,"maxLon":76.98885086605799,"maxLat":12.889722363675943} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":76.98291423278806,"minLat":12.886191210411639,"maxLon":76.98720576721189,"maxLat":12.889328779760234} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_styling_drawingboard_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.1238862327881,"minLat":12.75724740662794,"maxLon":77.12817776721192,"maxLat":12.760386583635622} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/drawingmanager/drawingmanager_vertical_coordinates_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/general/map_changes_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/general/map_click_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/general/map_destroy_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":76.7046872327881,"minLat":13.348505157574067,"maxLon":76.70897876721193,"maxLat":13.351636832270614} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/general/map_functions_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/general/map_show_hide_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -188912, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [75.553690675, 13.997501028, 0], 25 | [75.554227116, 13.997501028, 0], 26 | [75.554227116, 13.997761284, 0] 27 | ] 28 | } 29 | }] 30 | }, 31 | "clear": {"minLon":75.55315423278807,"minLat":13.994898449077894,"maxLon":75.5574457672119,"maxLat":13.9980215403139} 32 | }] 33 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/general/map_viewport_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/history/map_history_create_objects_undo_submit_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon": 73.4351692327881, "minLat": 18.81025963308342, "maxLon": 73.43946076721193, "maxLat": 18.81330635311909} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/history/map_history_multiple_steps_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }, { 14 | "id": "placeLayer", 15 | "provider": { 16 | "id": "placeProvider", 17 | "type": "TestLocalProvider", 18 | "name": "Places", 19 | "level": 14 20 | }, 21 | "min": 14, 22 | "max": 20 23 | }] 24 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/history/map_history_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }, { 14 | "id": "placeLayer", 15 | "provider": { 16 | "id": "placeProvider", 17 | "type": "TestLocalProvider", 18 | "name": "Places", 19 | "level": 14 20 | }, 21 | "min": 14, 22 | "max": 20 23 | }] 24 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/line/line_basics_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "lineLayer", 4 | "provider": { 5 | "id": "lineProvider", 6 | "type": "TestLocalProvider", 7 | "name": "lines", 8 | "level": 13 9 | }, 10 | "min": 14, 11 | "max": 20, 12 | "clear": {"minLon":76.08097994367017,"minLat":13.21327162725639,"maxLon":76.085271478094,"maxLat":13.216405047338895} 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/editor/line/multiline_basics_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "lineLayer", 4 | "provider": { 5 | "id": "lineProvider", 6 | "type": "TestLocalProvider", 7 | "name": "lines", 8 | "level": 13 9 | }, 10 | "min": 14, 11 | "max": 20, 12 | "data": { 13 | "local": [{ 14 | "id": "LINE", 15 | "type": "Feature", 16 | "properties": { 17 | "featureClass": "LINE" 18 | }, 19 | "geometry": { 20 | "type": "MultiLineString", 21 | "coordinates": [ 22 | [[76.083125712,13.214838342,0],[76.082589269,13.215360578,0],[76.082052827,13.214838342,0]] 23 | ] 24 | } 25 | }] 26 | }, 27 | "clear": {"minLon":76.08097994367017,"minLat":13.21327162725639,"maxLon":76.085271478094,"maxLat":13.216405047338895} 28 | }] 29 | } 30 | -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_addShape_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":76.99013846557614,"minLat":12.937723077590604,"maxLon":76.9987215344238,"maxLat":12.943996882946053} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_automatic_snapping_remove_link_commit_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189019, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [77.819175375, 14.367947986, 0], 25 | [77.819711816, 14.367947986, 0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon": 77.81863893278808, "minLat": 14.365328012378129, "maxLon": 77.8229304672119, "maxLat": 14.36847197816536} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_automatic_split_then_undo_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189057, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [76.254711816,15.319915405,0], 25 | [76.255784699,15.319915405,0], 26 | [76.255784699,15.31888015,0], 27 | [76.256321141,15.319397778,0] 28 | ] 29 | } 30 | }] 31 | }, 32 | "clear": {"minLon":76.25417537400267,"minLat":15.317327257476896,"maxLon":76.2584669084265,"maxLat":15.320433030356048} 33 | }] 34 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_autosplit_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":76.9757642327881,"minLat":12.936771527878818,"maxLon":76.98005576721192,"maxLat":12.939908462257108} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_click_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189058, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [76.79443,12.941905632,0], 25 | [76.791211349,12.941905632,0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":76.79013846557614,"minLat":12.937723077590604,"maxLon":76.7987215344238,"maxLat":12.943996882946053} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_create_remove_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":76.59291423278806,"minLat":12.886191210411639,"maxLon":76.59720576721189,"maxLat":12.889328779760234} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_editable_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189070, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [80.142980675,17.961410599,0], 25 | [80.144053558,17.961410599,0], 26 | [80.144053558,17.96039,0] 27 | ] 28 | } 29 | }] 30 | }, 31 | "clear": {"minLon":80.1424442327881,"minLat":17.95885909051715,"maxLon":80.14673576721193,"maxLat":17.96192089622336} 32 | }] 33 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_geofence_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189071, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [80.630968502,17.715947679,0], 25 | [80.632041386,17.715947679,0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":80.63043206012696,"minLat":17.713392650768355,"maxLon":80.63472359455079,"maxLat":17.716458680398574} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_modify_then_undo_clear_provider_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189076, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [77.132016594,13.661483899,0], 25 | [77.128797943,13.661483899,0] 26 | ] 27 | } 28 | }] 29 | } 30 | }] 31 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_remove_clear_provider_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189078, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [75.59443,12.941905632,0], 25 | [75.591211349,12.941905632,0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":75.59013846557614,"minLat":12.937723077590604,"maxLon":75.5987215344238,"maxLat":12.943996882946053} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_remove_shapepoint_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189078, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [79.922935296,12.264329726,0], 25 | [79.921862413,12.264329726,0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":79.92078952918393,"minLat":12.262232921174927,"maxLon":79.92508106360776,"maxLat":12.265378122231056} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_setcoordinates_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189080, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [77.178373847,13.404586883,0], 25 | [77.177837405,13.405109354,0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":77.17730096308306,"minLat":13.403019462458931,"maxLon":77.18159249750689,"maxLat":13.406154292590276} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_snap_delete_self_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189090, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [8.321713442,52.513371214,0], 25 | [8.321981662,52.513371214,0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":8.321176999791817,"minLat":52.512718277882726,"maxLon":8.32332276700373,"maxLat":52.51369767876929} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_snap_delete_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_split_property_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.29058253240203,"minLat":13.122505510406839,"maxLon":77.29487406682586,"maxLat":13.125640092169434} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_split_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":77.46839124999991,"minLat":13.210183549043407,"maxLon":77.47268278442374,"maxLat":13.213317008778247} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/link/link_zlevels_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189094, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "residential", 20 | "zLevels": [1,2,3] 21 | }, 22 | "geometry": { 23 | "type": "LineString", 24 | "coordinates": [ 25 | [77.196673463,13.104781478], 26 | [77.197746347,13.104259006], 27 | [77.196137021,13.104259006] 28 | ] 29 | } 30 | }] 31 | }, 32 | "clear": {"minLon":77.19560057937622,"minLat":13.10216910768031,"maxLon":77.19989211380005,"maxLat":13.105303948642003} 33 | }] 34 | } 35 | -------------------------------------------------------------------------------- /packages/tests/specs/editor/linkattributes/split_link_attribute_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/listener/map_listener_featureunselected_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "data": { 14 | "local": [{ 15 | "id": -189166, 16 | "type": "Feature", 17 | "properties": { 18 | "featureClass": "NAVLINK", 19 | "type": "primary" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [75.346895931,11.879082996,0], 25 | [75.347968814,11.879082996,0] 26 | ] 27 | } 28 | }] 29 | }, 30 | "clear": {"minLon":75.34635948871616,"minLat":11.876983174092402,"maxLon":75.35065102313999,"maxLat":11.880132900994667} 31 | }] 32 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/main.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import './*/*'; 21 | 22 | -------------------------------------------------------------------------------- /packages/tests/specs/editor/marker/marker_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "markerLayer", 4 | "provider": { 5 | "id": "markerProvider", 6 | "type": "TestLocalProvider", 7 | "level": 14 8 | }, 9 | "min": 14, 10 | "max": 20, 11 | "data": { 12 | "local": [{ 13 | "id": "MyMarker", 14 | "type": "Feature", 15 | "properties": { 16 | "featureClass": "MARKER" 17 | }, 18 | "geometry": { 19 | "type": "Point", 20 | "coordinates": [73.29398409, 19.27905288, 0] 21 | } 22 | }] 23 | } 24 | }] 25 | } 26 | -------------------------------------------------------------------------------- /packages/tests/specs/editor/observer/map_observer_active_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/observer/map_observer_ready_addlayer_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/observer/map_observer_ready_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon": 77.02616423278812, "minLat": 12.934031510649802, "maxLon": 77.03045576721195, "maxLat": 12.937168479488093} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/observer/map_observer_submit_removed_link.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }, { 14 | "id": "placeLayer", 15 | "provider": { 16 | "id": "placeProvider", 17 | "type": "TestLocalProvider", 18 | "name": "Places", 19 | "level": 14 20 | }, 21 | "min": 14, 22 | "max": 20 23 | }] 24 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/observer/map_observer_viewport_objects_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/poi/poi_and_link_create_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":80.19515423278807,"minLat":20.82515581985197,"maxLon":80.1994457672119,"maxLat":20.82816416512665} 14 | }, { 15 | "id": "placeLayer", 16 | "provider": { 17 | "id": "placeProvider", 18 | "type": "TestLocalProvider", 19 | "name": "Places", 20 | "level": 14 21 | }, 22 | "min": 14, 23 | "max": 20, 24 | "clear": {"minLon":80.19515423278807,"minLat":20.82515581985197,"maxLon":80.1994457672119,"maxLat":20.82816416512665} 25 | }] 26 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/poi/poi_create_remove_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }, { 14 | "id": "placeLayer", 15 | "provider": { 16 | "id": "placeProvider", 17 | "type": "TestLocalProvider", 18 | "name": "Places", 19 | "level": 14 20 | }, 21 | "min": 14, 22 | "max": 20 23 | }] 24 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/poi/poi_delete_new_connected_link_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }, { 14 | "id": "placeLayer", 15 | "provider": { 16 | "id": "placeProvider", 17 | "type": "TestLocalProvider", 18 | "name": "Places", 19 | "level": 14 20 | }, 21 | "min": 14, 22 | "max": 20 23 | }] 24 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/poi/poi_get_functions_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15 9 | }, 10 | "min": 14, 11 | "max": 20 12 | },{ 13 | "id": "placeLayer", 14 | "provider": { 15 | "id": "placeProvider", 16 | "type": "TestLocalProvider", 17 | "name": "Places", 18 | "level": 14 19 | }, 20 | "min": 14, 21 | "max": 20, 22 | "data": { 23 | "local": [{ 24 | "id": -48135, 25 | "type": "Feature", 26 | "properties": { 27 | "featureClass": "PLACE", 28 | "routingPoint": [78.26291, 19.20981, 0], 29 | "routingLink": "-178821", 30 | "name": "test hotel", 31 | "type": "hotel" 32 | }, 33 | "geometry": { 34 | "type": "Point", 35 | "coordinates": [73.29398409, 19.27905288, 0] 36 | } 37 | }] 38 | } 39 | }] 40 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/poi/poi_routingpoint_autoconnect_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestLocalProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":78.3532324569378,"minLat":17.31226128949558,"maxLon":78.35752399136163,"maxLat":17.315334100538948} 14 | }, { 15 | "id": "placeLayer", 16 | "provider": { 17 | "id": "placeProvider", 18 | "type": "TestLocalProvider", 19 | "name": "Places", 20 | "level": 14 21 | }, 22 | "min": 14, 23 | "max": 20, 24 | "clear": {"minLon":78.3532324569378,"minLat":17.31226128949558,"maxLon":78.35752399136163,"maxLat":17.315334100538948} 25 | }] 26 | } -------------------------------------------------------------------------------- /packages/tests/specs/editor/rangeselector/rangeselector_snap_overlap_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [ 3 | { 4 | "id": "linkLayer", 5 | "provider": { 6 | "id": "linkProvider", 7 | "type": "TestLocalProvider", 8 | "name": "Links", 9 | "level": 15 10 | }, 11 | "min": 1, 12 | "max": 20, 13 | "data": { 14 | "local": [ 15 | { 16 | "id": 1, 17 | "type": "Feature", 18 | "properties": { 19 | "featureClass": "NAVLINK" 20 | }, 21 | "geometry": { 22 | "type": "LineString", 23 | "coordinates": [ 24 | [-122.286678879, 37.818121035, 0], 25 | [-122.280241576, 37.818121035, 0] 26 | ] 27 | } 28 | } 29 | ] 30 | } 31 | } 32 | ] 33 | } 34 | -------------------------------------------------------------------------------- /packages/tests/specs/editor/style/custom_style_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "testLayer", 4 | "provider": { 5 | "type": "TestLocalProvider", 6 | 7 | "level": 13 8 | }, 9 | "min": 14, 10 | "max": 20, 11 | "data": { 12 | "local": [{ 13 | "id": "TestArea", 14 | "type": "Feature", 15 | "properties": { 16 | "featureClass": "AREA", 17 | "type": "building", 18 | "name": "test" 19 | }, 20 | "geometry": { 21 | "type": "MultiPolygon", 22 | "coordinates": [[[ 23 | [-111.718267489, 40.211738323, 0], 24 | [-111.718267489, 40.210918996, 0], 25 | [-111.717194605, 40.210918996, 0], 26 | [-111.717194605, 40.211738323, 0], 27 | [-111.718267489, 40.211738323, 0] 28 | ]]] 29 | } 30 | }] 31 | }, 32 | "clear": {"minLon":-111.71934037229381,"minLat":40.21050932858134,"maxLon":-111.71504883786998,"maxLat":40.21296729561897} 33 | }] 34 | } 35 | -------------------------------------------------------------------------------- /packages/tests/specs/integration/core/provider/set_header_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "placeGeoJsonLayer", 4 | "provider": { 5 | "id": "placeGeoJsonProvider", 6 | "type": "GeoJSONProvider", 7 | "name": "Places", 8 | "level": 14 9 | }, 10 | "min": 14, 11 | "max": 20 12 | }, { 13 | "id": "placeLayer", 14 | "provider": { 15 | "id": "placeProvider", 16 | "type": "SpaceProvider", 17 | "name": "Places", 18 | "level": 14 19 | }, 20 | "min": 14, 21 | "max": 20 22 | }, { 23 | "id": "spaceLayer", 24 | "provider": { 25 | "id": "spaceProvider", 26 | "type": "SpaceProvider", 27 | "name": "my SpaceProvider", 28 | "level": 15 29 | }, 30 | "min": 14, 31 | "max": 20 32 | }] 33 | } -------------------------------------------------------------------------------- /packages/tests/specs/integration/core/provider/spaceprovider/commit_add_remove_feature_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "spaceLayer", 4 | "provider": { 5 | "id": "spaceProvider", 6 | "type": "SpaceProvider", 7 | "name": "my SpaceProvider", 8 | "level": 1 9 | }, 10 | "min": 14, 11 | "max": 20 12 | }] 13 | } -------------------------------------------------------------------------------- /packages/tests/specs/integration/core/provider/spaceprovider/event_listeners_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "spaceLayer", 4 | "provider": { 5 | "id": "spaceProvider", 6 | "type": "SpaceProvider", 7 | "name": "my SpaceProvider", 8 | "level": 1 9 | }, 10 | "min": 14, 11 | "max": 20 12 | }] 13 | } -------------------------------------------------------------------------------- /packages/tests/specs/integration/display/general/init_requests_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "SpaceProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20 13 | }] 14 | } 15 | -------------------------------------------------------------------------------- /packages/tests/specs/integration/display/general/map_destroy_with_space_and_copyright_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "spaceLayer", 4 | "provider": { 5 | "id": "spaceProvider", 6 | "type": "SpaceProvider", 7 | "name": "my SpaceProvider", 8 | "level": 14 9 | }, 10 | "min": 14, 11 | "max": 20 12 | }] 13 | } -------------------------------------------------------------------------------- /packages/tests/specs/integration/editor/link_create_modify_remove_spec.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers": [{ 3 | "id": "linkLayer", 4 | "provider": { 5 | "id": "linkProvider", 6 | "type": "TestProvider", 7 | "name": "Links", 8 | "level": 15, 9 | "class": "NAVLINK" 10 | }, 11 | "min": 14, 12 | "max": 20, 13 | "clear": {"minLon":76.98291423278806,"minLat":12.886191210411639,"maxLon":76.98720576721189,"maxLat":12.889328779760234} 14 | }] 15 | } -------------------------------------------------------------------------------- /packages/tests/specs/integration/main.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import './core/layer/*'; 21 | import './core/provider/*.js'; 22 | import './core/provider/*/*'; 23 | import './display/*/*'; 24 | import './editor/*'; 25 | 26 | -------------------------------------------------------------------------------- /packages/tests/src/main-common.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | import {run} from './runner'; 20 | 21 | // @ts-ignore 22 | import mochaSettings from 'settings'; 23 | 24 | mocha.setup(mochaSettings); 25 | 26 | export default {run}; 27 | 28 | -------------------------------------------------------------------------------- /packages/tests/src/main-core.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import * as coreUtils from './utils/coreUtils'; 21 | import * as utils from './utils/utils'; 22 | 23 | import {run} from './runner'; 24 | 25 | // @ts-ignore 26 | import mochaSettings from 'settings'; 27 | 28 | mocha.setup(mochaSettings); 29 | 30 | export default {coreUtils, utils, run}; 31 | 32 | -------------------------------------------------------------------------------- /packages/tests/src/main-display.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import * as displayUtils from './utils/displayUtils'; 21 | import * as utils from './utils/utils'; 22 | import * as events from './utils/triggerEvents'; 23 | 24 | import {run} from './runner'; 25 | 26 | // @ts-ignore 27 | import mochaSettings from 'settings'; 28 | 29 | mocha.setup(mochaSettings); 30 | 31 | export default {displayUtils, utils, events, run}; 32 | 33 | -------------------------------------------------------------------------------- /packages/tests/src/main-editor.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import * as displayUtils from './utils/displayUtils'; 21 | import * as editorUtils from './utils/editorUtils'; 22 | import * as utils from './utils/utils'; 23 | import * as events from './utils/triggerEvents'; 24 | 25 | import {run} from './runner'; 26 | 27 | // @ts-ignore 28 | import mochaSettings from 'settings'; 29 | 30 | mocha.setup(mochaSettings); 31 | 32 | export default {displayUtils, editorUtils, utils, events, run}; 33 | 34 | -------------------------------------------------------------------------------- /packages/tests/src/main-integration.ts: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | 20 | import * as coreUtils from './utils/coreUtils'; 21 | import * as displayUtils from './utils/displayUtils'; 22 | import * as editorUtils from './utils/editorUtils'; 23 | import * as utils from './utils/utils'; 24 | import * as events from './utils/triggerEvents'; 25 | 26 | import {run} from './runner'; 27 | 28 | // @ts-ignore 29 | import mochaSettings from 'settings'; 30 | 31 | mocha.setup(mochaSettings); 32 | 33 | export default {displayUtils, editorUtils, coreUtils, utils, events, run}; 34 | 35 | -------------------------------------------------------------------------------- /packages/tests/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2017", 4 | "lib": ["es5", "ES2017", "dom"], 5 | "sourceMap": true, 6 | "allowJs": true, 7 | "types" : ["mocha", "chai"], 8 | "baseUrl": ".", 9 | "paths": { 10 | "*": ["src/utils/*"] 11 | }, 12 | "moduleResolution": "node", 13 | "resolveJsonModule": true, 14 | "esModuleInterop": true 15 | }, 16 | "include": [ 17 | "specs/**/*", "src/**/*" 18 | ], 19 | "exclude": [ 20 | "node_modules", 21 | "dist" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /packages/utils/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | *.d.ts 3 | *.js.map 4 | -------------------------------------------------------------------------------- /packages/utils/lib/buildDts/.gitignore: -------------------------------------------------------------------------------- 1 | reports/ 2 | -------------------------------------------------------------------------------- /packages/utils/lib/buildDts/config/api-extractor.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", 3 | "mainEntryPointFilePath": "/lib/index.d.ts", 4 | "bundledPackages": [], 5 | "apiReport": { 6 | "enabled": true, 7 | "reportFolder": "../reports", 8 | "reportTempFolder": "../reports/temp/" 9 | }, 10 | "docModel": { 11 | "enabled": false, 12 | "apiJsonFilePath": "../reports/.api.json" 13 | }, 14 | "dtsRollup": { 15 | "enabled": true, 16 | "untrimmedFilePath": "", 17 | "omitTrimmingComments": true, 18 | "publicTrimmedFilePath": "/dist/.d.ts" 19 | }, 20 | "tsdocMetadata": { 21 | "enabled": false 22 | }, 23 | "messages": { 24 | "compilerMessageReporting": { 25 | "default": { 26 | "logLevel": "warning" 27 | } 28 | }, 29 | "extractorMessageReporting": { 30 | "default": { 31 | "logLevel": "warning" 32 | }, 33 | "ae-missing-release-tag": { 34 | "logLevel": "none" 35 | } 36 | }, 37 | "tsdocMessageReporting": { 38 | "default": { 39 | "logLevel": "warning" 40 | } 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /packages/utils/lib/buildDts/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2022 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | require('ts-node').register(); 20 | 21 | const {build} = require('./src/buildDts'); 22 | 23 | module.exports = build; 24 | -------------------------------------------------------------------------------- /packages/utils/lib/changelog/README.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | Creates and updates CHANGELOG.md based on git commit logs.
    4 | In addition to multiple Conventional Commits logs are allowed for a single commit message. 5 | 6 | ## Usage 7 | ```javascript 8 | const changelog = require('changelog'); 9 | 10 | await changelog.update(); 11 | ``` 12 | 13 | ## API 14 | 15 | ### `.parse([options])` 16 | returns object containing parsed conventional commit messages 17 | 18 | ### `.getMarkup([options])` 19 | returns markup formatted string of conventional commit messages 20 | 21 | ### `.update([options])` 22 | updates CHANGELOG.md with latest conventional commit messages 23 | 24 | --- 25 | 26 | #### `.options.from` (optional) 27 | defaults to last semver tag 28 | 29 | #### `.options.to` (optional) 30 | defaults to HEAD 31 | 32 | #### `.options.filename` (optional) 33 | defaults to CHANGELOG.md 34 | 35 | #### `.options.path` (optional) 36 | path to project root. 37 | defaults to current directory 38 | 39 | --- 40 | 41 | ### License 42 | 43 | Copyright (C) 2019-2022 HERE Europe B.V. 44 | 45 | This project is licensed under the Apache License, Version 2.0 - see the [LICENSE](LICENSE) file for details 46 | -------------------------------------------------------------------------------- /packages/utils/lib/changelog/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /* 4 | * Copyright (C) 2019-2022 HERE Europe B.V. 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * 18 | * SPDX-License-Identifier: Apache-2.0 19 | * License-Filename: LICENSE 20 | */ 21 | 22 | const changelog = require('./src/index'); 23 | const argv = require('yargs')(process.argv.slice(2)) 24 | .options({ 25 | path: { 26 | alias: 'p', 27 | describe: 'the path to the module to update the changelog for.', 28 | demandOption: false, 29 | type: 'string' 30 | } 31 | }) 32 | .help() 33 | .argv; 34 | 35 | changelog.update(argv); 36 | -------------------------------------------------------------------------------- /packages/utils/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@here/xyz-maps-utils", 3 | "version": "0.41.0", 4 | "description": "Development utilities used to build XYZ Maps modules", 5 | "author": { 6 | "name": "HERE Europe B.V.", 7 | "url": "https://here.com" 8 | }, 9 | "license": "Apache-2.0", 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/heremaps/xyz-maps.git", 13 | "directory": "packages/utils" 14 | }, 15 | "private": true, 16 | "devDependencies": { 17 | "@microsoft/api-extractor": "^7.18.4", 18 | "cross-spawn": "^7.0.3", 19 | "simple-git": "^3.5.0", 20 | "ts-morph": "^11.0.3", 21 | "typescript": "^4.7.4", 22 | "yargs": "^17.0.1" 23 | }, 24 | "bin": { 25 | "build-changelog": "./lib/changelog/cli.js", 26 | "build-dts": "./lib/buildDts/cli.js" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /packages/utils/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "compilerOptions": { 4 | "target": "es5", 5 | "sourceMap": true, 6 | "allowJs": true, 7 | "skipLibCheck": true 8 | }, 9 | "include": [ 10 | "lib/**/*.ts" 11 | ], 12 | "exclude": [ 13 | "node_modules", 14 | "dist" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /scripts/prepare-pages.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2019-2021 HERE Europe B.V. 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | * 16 | * SPDX-License-Identifier: Apache-2.0 17 | * License-Filename: LICENSE 18 | */ 19 | const fs = require('fs-extra'); 20 | const {join} = require('path'); 21 | 22 | fs.emptyDirSync('deploy'); 23 | fs.copySync('docs/', 'deploy/docs'); 24 | fs.copySync('packages/playground/dist', 'deploy/playground'); 25 | for (let module of ['common', 'core', 'display', 'editor']) { 26 | fs.copySync(join('packages', module, 'dist'), 'deploy'); 27 | } 28 | -------------------------------------------------------------------------------- /scripts/publish-npm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -e 2 | # 3 | # Copyright (C) 2019-2021 HERE Europe B.V. 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | # 17 | # SPDX-License-Identifier: Apache-2.0 18 | # License-Filename: LICENSE 19 | # 20 | # simple script for npm publishing 21 | # to be run from travis 22 | 23 | set -ex 24 | 25 | # packages that should be published 26 | declare -a packages=("common" "core" "display" "editor") 27 | 28 | cd packages 29 | 30 | for pkg in "${packages[@]}" 31 | do 32 | cd "$pkg" 33 | npm publish $1 34 | cd - 35 | done 36 | 37 | echo "published $1 all packages to npm successfully!" 38 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "moduleResolution": "node", 5 | "sourceMap": true, 6 | "skipLibCheck": true, 7 | "baseUrl": ".", 8 | "paths": { 9 | "@here/xyz-maps-*": ["packages/*/src"] 10 | } 11 | }, 12 | "exclude": [ 13 | "node_modules", 14 | "dist" 15 | ], 16 | "files": [], 17 | "references": [ 18 | { "path": "packages/common" }, 19 | { "path": "packages/core" }, 20 | { "path": "packages/display" }, 21 | { "path": "packages/editor" } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /typedoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "XYZ Maps Documentation", 3 | "mode": "modules", 4 | "out": "docs", 5 | "theme": "default", 6 | "ignoreCompilerErrors": "false", 7 | "preserveConstEnums": "true", 8 | "exclude": "*.spec.ts", 9 | "disableSources": "true", 10 | "excludePrivate": "true", 11 | "excludeExternals": "true", 12 | "excludeNotExported": "true", 13 | "excludeNotDocumented": "true", 14 | "external-modulemap": ".*packages\/([^\/]+)\/.*", 15 | "stripInternal": "false", 16 | "plugin": ["@strictsoftware/typedoc-plugin-monorepo","typedoc-plugin-remove-references"] 17 | } 18 | --------------------------------------------------------------------------------