add all parcels
This commit is contained in:
parent
a9ae7a3241
commit
534846b9ec
2 changed files with 31 additions and 3 deletions
|
|
@ -122,6 +122,7 @@ const map = new Map({
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div ref={mapDivRef} className='map' />
|
<div ref={mapDivRef} className='map' />
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,7 @@ import GeoJSON from "ol/format/GeoJSON"
|
||||||
import {Style, Icon, Fill, Circle, Stroke} from "ol/style"
|
import {Style, Icon, Fill, Circle, Stroke} from "ol/style"
|
||||||
|
|
||||||
const OpenLayersMap = () => {
|
const OpenLayersMap = () => {
|
||||||
|
const [data,setData] = useState({});
|
||||||
const mapDivRef = useRef<HTMLDivElement>(null);
|
const mapDivRef = useRef<HTMLDivElement>(null);
|
||||||
const popupRef = useRef<HTMLDivElement>(null);
|
const popupRef = useRef<HTMLDivElement>(null);
|
||||||
|
|
||||||
|
|
@ -39,6 +40,14 @@ style: new Style({
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
});
|
||||||
|
const vectorsource_offset: any = new VectorSource();
|
||||||
|
const format: any = new GeoJSON();
|
||||||
|
//vectorsource_offset.addFeature(format.readFeatures(data))
|
||||||
|
|
||||||
|
const vectorLayer2: any = new VectorLayer({
|
||||||
|
source: vectorsource_offset,
|
||||||
|
|
||||||
});
|
});
|
||||||
const vectorLayer1: any = new VectorLayer({
|
const vectorLayer1: any = new VectorLayer({
|
||||||
source: new VectorSource({
|
source: new VectorSource({
|
||||||
|
|
@ -48,12 +57,31 @@ attributions: ['Los Angeles GeoHub |']
|
||||||
}),
|
}),
|
||||||
|
|
||||||
});
|
});
|
||||||
|
const urls: string[] = [];
|
||||||
|
for(var i = 0; i < 1088001; i = i + 2000){
|
||||||
|
const url_2: any = `https://geo.sandag.org/server/rest/services/Hosted/Parcels/FeatureServer/0/query?where=1%3D1&outFields=*&returnGeometry=true&resultOffset=${i}&resultType=none&f=geojson`;
|
||||||
|
urls.push(url_2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// default view
|
// default view
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
||||||
|
|
||||||
|
urls.forEach((url,index) => {
|
||||||
|
|
||||||
|
fetch(url)
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(response => vectorsource_offset.addFeatures(format.readFeatures(response, {
|
||||||
|
dataProjection: 'EPSG:4326',
|
||||||
|
featureProjection: map.getView().getProjection(),
|
||||||
|
})))
|
||||||
|
.catch(error => console.error(error));
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
const overlay = new Overlay({
|
const overlay = new Overlay({
|
||||||
element: popupRef.current as HTMLDivElement,
|
element: popupRef.current as HTMLDivElement,
|
||||||
autoPan: {
|
autoPan: {
|
||||||
|
|
@ -68,8 +96,7 @@ const overlay = new Overlay({
|
||||||
new TileLayer({
|
new TileLayer({
|
||||||
source: new OSM(),
|
source: new OSM(),
|
||||||
}),
|
}),
|
||||||
vectorLayer,
|
vectorLayer2,
|
||||||
vectorLayer1
|
|
||||||
],
|
],
|
||||||
view: new View({
|
view: new View({
|
||||||
center: [-13042228, 3857849],
|
center: [-13042228, 3857849],
|
||||||
|
|
@ -134,7 +161,7 @@ const feature = map.forEachFeatureAtPixel(e.pixel, function (feature) {
|
||||||
//def_view.fit(geoJSONFeatures[0].getGeometry().getExtent(), { padding: [100, 100, 100, 100]});
|
//def_view.fit(geoJSONFeatures[0].getGeometry().getExtent(), { padding: [100, 100, 100, 100]});
|
||||||
|
|
||||||
return () => map.setTarget(undefined);
|
return () => map.setTarget(undefined);
|
||||||
}, []);
|
}, [data]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue