提升extent变量状态;修改部分默认值
This commit is contained in:
@@ -96,12 +96,15 @@ export const useData = () => {
|
||||
};
|
||||
|
||||
const MapComponent: React.FC<MapComponentProps> = ({ children }) => {
|
||||
const MAP_EXTENT = config.MAP_EXTENT as [number, number, number, number];
|
||||
const MAP_URL = config.MAP_URL;
|
||||
|
||||
// Subscribe to project context for workspace changes
|
||||
const project = useProject();
|
||||
const MAP_WORKSPACE = project?.workspace || config.MAP_WORKSPACE;
|
||||
const MAP_EXTENT = (project?.extent || config.MAP_EXTENT) as [
|
||||
number,
|
||||
number,
|
||||
number,
|
||||
number,
|
||||
];
|
||||
const MAP_URL = config.MAP_URL;
|
||||
const MAP_VIEW_STORAGE_KEY = `${MAP_WORKSPACE}_map_view`; // 持久化 key
|
||||
|
||||
const mapRef = useRef<HTMLDivElement | null>(null);
|
||||
@@ -464,7 +467,7 @@ const MapComponent: React.FC<MapComponentProps> = ({ children }) => {
|
||||
const scadaLayer = new VectorLayer({
|
||||
source: scadaSource,
|
||||
style: scadaStyle,
|
||||
// extent: extent, // 设置图层范围
|
||||
extent: MAP_EXTENT, // 设置图层范围
|
||||
maxZoom: 24,
|
||||
minZoom: 11,
|
||||
properties: {
|
||||
|
||||
@@ -155,7 +155,7 @@ export const ProjectSelector: React.FC<ProjectSelectorProps> = ({
|
||||
value={workspace}
|
||||
onChange={(e) => setWorkspace(e.target.value)}
|
||||
fullWidth
|
||||
helperText="例如: TJWater"
|
||||
helperText="例如: tjwater"
|
||||
/>
|
||||
<TextField
|
||||
label="管网名称"
|
||||
|
||||
@@ -7,6 +7,7 @@ import { ProjectSelector } from "@/components/project/ProjectSelector";
|
||||
interface ProjectContextType {
|
||||
workspace: string;
|
||||
networkName: string;
|
||||
extent: number[];
|
||||
}
|
||||
|
||||
const ProjectContext = createContext<ProjectContextType | undefined>(undefined);
|
||||
@@ -19,6 +20,7 @@ export const ProjectProvider: React.FC<{ children: React.ReactNode }> = ({
|
||||
const [currentProject, setCurrentProject] = useState({
|
||||
workspace: config.MAP_WORKSPACE,
|
||||
networkName: NETWORK_NAME || "tjwater",
|
||||
extent: config.MAP_EXTENT,
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
@@ -47,7 +49,7 @@ export const ProjectProvider: React.FC<{ children: React.ReactNode }> = ({
|
||||
localStorage.removeItem(`${ws}_map_view`);
|
||||
}
|
||||
|
||||
setCurrentProject({ workspace: ws, networkName: net });
|
||||
setCurrentProject({ workspace: ws, networkName: net, extent: extent || config.MAP_EXTENT });
|
||||
|
||||
// Save to localStorage
|
||||
localStorage.setItem("NEXT_PUBLIC_MAP_WORKSPACE", ws);
|
||||
|
||||
Reference in New Issue
Block a user