import { Component, createSignal } from "solid-js";
import MapGL, { Viewport, Layer3D } from "solid-map-gl";
import 'mapbox-gl/dist/mapbox-gl.css';
import { SceneLoader } from '@babylonjs/core/Loading';
import '@babylonjs/loaders';
const [viewport, setViewport] = createSignal({
center: [148.9819, -35.3981],
zoom: 18,
pitch: 60,
} as Viewport);
const App: Component = () => (
<MapGL
options={{ style: 'mb:light', antialias: true }}
viewport={viewport()}
onViewportChange={(evt: Viewport) => setViewport(evt)}
>
<Layer3D
babylon
defaultLight
origin={[148.9819, -35.39847]}
onAdd={(scene) => {
SceneLoader.LoadAssetContainerAsync(
'https://docs.mapbox.com/mapbox-gl-js/assets/34M_17/',
'34M_17.gltf',
scene
).then((modelContainer: any) => modelContainer.addAllToScene());
}}
/>
</MapGL>
);