Adding openlayers.
This commit is contained in:
parent
eaa076384d
commit
ae647a0d9f
|
@ -1,27 +1,8 @@
|
||||||
import type { Component } from 'solid-js';
|
import type { Component } from 'solid-js';
|
||||||
|
import Map from './components/map';
|
||||||
import logo from './logo.svg';
|
|
||||||
import styles from './App.module.css';
|
|
||||||
|
|
||||||
const App: Component = () => {
|
const App: Component = () => {
|
||||||
return (
|
return <Map />;
|
||||||
<div class={styles.App}>
|
|
||||||
<header class={styles.header}>
|
|
||||||
<img src={logo} class={styles.logo} alt="logo" />
|
|
||||||
<p>
|
|
||||||
Edit <code>src/App.tsx</code> and save to reload.
|
|
||||||
</p>
|
|
||||||
<a
|
|
||||||
class={styles.link}
|
|
||||||
href="https://github.com/solidjs/solid"
|
|
||||||
target="_blank"
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
>
|
|
||||||
Learn Solid
|
|
||||||
</a>
|
|
||||||
</header>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
.ol-map {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
.ol-control {
|
||||||
|
position: absolute;
|
||||||
|
background-color: rgba(255, 255, 255, 0.4);
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
.ol-full-screen {
|
||||||
|
top: 0.5em;
|
||||||
|
right: 0.5em;
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
import { Component, createSignal, onMount } from 'solid-js';
|
||||||
|
import OlMap from 'ol/Map';
|
||||||
|
import View from 'ol/View';
|
||||||
|
import TileLayer from 'ol/layer/Tile';
|
||||||
|
import VectorLayer from 'ol/layer/Vector';
|
||||||
|
import VectorSource from 'ol/source/Vector';
|
||||||
|
import Feature from 'ol/Feature';
|
||||||
|
import Attribution from 'ol/control/Attribution';
|
||||||
|
import Rotate from 'ol/control/Rotate';
|
||||||
|
import ScaleLine from 'ol/control/ScaleLine';
|
||||||
|
import Control from 'ol/control/Control';
|
||||||
|
import OSM from 'ol/source/OSM';
|
||||||
|
import { useGeographic as olUseGeographic } from 'ol/proj';
|
||||||
|
|
||||||
|
import 'ol/ol.css';
|
||||||
|
import './Map.css';
|
||||||
|
|
||||||
|
const Map: Component = () => {
|
||||||
|
const [getMap, setMap] = createSignal<OlMap | null>(null);
|
||||||
|
let target: HTMLDivElement;
|
||||||
|
|
||||||
|
onMount(() => {
|
||||||
|
const olMap = new OlMap({
|
||||||
|
view: new View({
|
||||||
|
center: [0, 0],
|
||||||
|
zoom: 1,
|
||||||
|
}),
|
||||||
|
layers: [
|
||||||
|
new TileLayer({
|
||||||
|
source: new OSM(),
|
||||||
|
}),
|
||||||
|
//new VectorLayer({ source: newSource }),
|
||||||
|
],
|
||||||
|
target: target,
|
||||||
|
// controls,
|
||||||
|
});
|
||||||
|
// olMap.on(['moveend'], changeListener);
|
||||||
|
setMap(olMap);
|
||||||
|
});
|
||||||
|
|
||||||
|
// @ts-ignore
|
||||||
|
return <div class='ol-map' ref={target} />;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Map;
|
|
@ -0,0 +1 @@
|
||||||
|
export { default } from './Map';
|
|
@ -1,13 +0,0 @@
|
||||||
body {
|
|
||||||
margin: 0;
|
|
||||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
|
|
||||||
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
|
|
||||||
sans-serif;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
}
|
|
||||||
|
|
||||||
code {
|
|
||||||
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
|
|
||||||
monospace;
|
|
||||||
}
|
|
|
@ -1,7 +1,5 @@
|
||||||
/* @refresh reload */
|
/* @refresh reload */
|
||||||
import { render } from 'solid-js/web';
|
import { render } from 'solid-js/web';
|
||||||
|
|
||||||
import './index.css';
|
|
||||||
import App from './App';
|
import App from './App';
|
||||||
|
|
||||||
render(() => <App />, document.getElementById('root') as HTMLElement);
|
render(() => <App />, document.getElementById('root') as HTMLElement);
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 166 155.3"><path d="M163 35S110-4 69 5l-3 1c-6 2-11 5-14 9l-2 3-15 26 26 5c11 7 25 10 38 7l46 9 18-30z" fill="#76b3e1"/><linearGradient id="a" gradientUnits="userSpaceOnUse" x1="27.5" y1="3" x2="152" y2="63.5"><stop offset=".1" stop-color="#76b3e1"/><stop offset=".3" stop-color="#dcf2fd"/><stop offset="1" stop-color="#76b3e1"/></linearGradient><path d="M163 35S110-4 69 5l-3 1c-6 2-11 5-14 9l-2 3-15 26 26 5c11 7 25 10 38 7l46 9 18-30z" opacity=".3" fill="url(#a)"/><path d="M52 35l-4 1c-17 5-22 21-13 35 10 13 31 20 48 15l62-21S92 26 52 35z" fill="#518ac8"/><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="95.8" y1="32.6" x2="74" y2="105.2"><stop offset="0" stop-color="#76b3e1"/><stop offset=".5" stop-color="#4377bb"/><stop offset="1" stop-color="#1f3b77"/></linearGradient><path d="M52 35l-4 1c-17 5-22 21-13 35 10 13 31 20 48 15l62-21S92 26 52 35z" opacity=".3" fill="url(#b)"/><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="18.4" y1="64.2" x2="144.3" y2="149.8"><stop offset="0" stop-color="#315aa9"/><stop offset=".5" stop-color="#518ac8"/><stop offset="1" stop-color="#315aa9"/></linearGradient><path d="M134 80a45 45 0 00-48-15L24 85 4 120l112 19 20-36c4-7 3-15-2-23z" fill="url(#c)"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="75.2" y1="74.5" x2="24.4" y2="260.8"><stop offset="0" stop-color="#4377bb"/><stop offset=".5" stop-color="#1a336b"/><stop offset="1" stop-color="#1a336b"/></linearGradient><path d="M114 115a45 45 0 00-48-15L4 120s53 40 94 30l3-1c17-5 23-21 13-34z" fill="url(#d)"/></svg>
|
|
Before Width: | Height: | Size: 1.6 KiB |
Loading…
Reference in New Issue