零基础webgis开发入门:HTML/CSS/JavaScript前端核心基础②

作者:GIS668800日期:2026/5/28

CSS:页面样式与布局美化

CSS 全称层叠样式表,核心作用是控制HTML元素的外观和布局,包括大小、颜色、背景、位置、边距等。

在WebGIS中,CSS直接决定地图的显示尺寸、是否全屏、页面是否有白边等关键效果。

CSS的核心逻辑可总结为两步走:选元素、改样式

第一步:选元素(选择器)

1)什么是选择器:

选择器是CSS的核心,作用是从页面众多HTML元素中,筛选出需要修改样式的目标元素。

想象一群小黄人站你面前,你想把单眼的小黄人选出来变红色。

  • 第一步:选出所有的单眼小黄人
  • 第二步:修改颜色为红色

CSS也是这个逻辑:先选出目标元素,再改它的样式。

  • 第一步:通过选择器,找出符合要求的HTML元素
  • 第二步:修改找出来的元素的属性

GIS开发最常用:类选择器、ID选择器,其中ID选择器是地图容器专属常用选择器

  1. id选择器

作用:选择某一个元素,该元素通过id属性指定

语法:

1#id名 {
2  属性: 值;
3}

示例:

<div id="container"></div>

第二步:声明块——修改元素样式属性

选中元素后,通过样式属性修改外观,GIS开发最常用的基础属性:宽度、高度、背景色、边距等。

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8" />
5    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7    <title>id选择器</title>
8    <style>
9        #container {
10            /* w300+h300 */
11            width: 300px;
12            height: 300px;
13            /* bgc */
14            background-color: skyblue;
15        }
16    </style>
17</head>
18<body>
19    <div id="container"></div>
20    <!-- emmet: #container -->
21</body>
22</html>

JavaScript:让页面动起来

JavaScript是解释型编程语言,不需要编译,浏览器直接运行。

在WebGIS开发中,JS是绝对核心:地图加载、点位标记、路径绘制、距离计算、点击交互、数据渲染等所有动态功能,全部依靠JS实现。

1. 变量:存数据

变量是数据容器,用于存储固定数据,GIS中常用于存放经纬度、缩放级别、文本信息等参数

1// 数值变量:存储地图缩放等级
2var i = 1
3// 字符串变量:存储提示文本、备注信息
4var str = '欢迎大家来新中地教育学习GIS开发'
5
6// 打印变量,查看数据
7console.log(str)

变量的声明

1var i = 1
2var str = '欢迎大家来新中地教育学习GIS开发'

变量的使用

声明一个名为arr的变量,并将其赋值为一个包含数字 1、2、3 的数组。

console.log(str)

2. 数组:存一组数据

数组是一组数据的集合,可批量存储多个数据。在GIS开发中使用频率极高,主要用来存储一组坐标、多个标记点位、路径轨迹点位等。

1// 定义数组,存储一组数值
2var arr = [1,2,3]

3. 函数:封装代码片段

函数是可重复使用的代码片段,用于封装固定功能,避免代码冗余,让代码结构更清晰。GIS中常用于封装添加标记、删除点位、计算距离、清空地图等通用操作。

基础语法包含:函数声明、函数调用、参数、返回值

1// 无参无返回值函数
2function fun() {
3    console.log('hello')
4}
5// 调用函数,执行功能
6fun()
7// 带参数、带返回值函数(GIS计算常用)
8function add(x, y) {
9    return x + y
10}

函数的声明

1// 无参无返回值函数
2function fun() {
3    console.log('hello')
4}

函数的调用

1// 调用函数,执行功能
2fun()

​​​

函数的组成

  • 参数
  • 返回值
1// 带参数、带返回值函数(GIS计算常用)
2function add(x, y) {
3    return x + y
4}

4. 对象:属性和方法的集合

对象是**属性(数据)+ 方法(功能)**的集合,是GIS开发最核心的数据结构。高德、百度、天地图等GIS API的地图实例、标记实例、配置参数,全部以对象形式存在。

1// 字面量方式创建对象
2var obj = {};
3
4// 通过构造函数定义对象
5var p = new Person();

日常开发中通过 . 语法访问对象的属性和方法,操作地图参数。

5. 事件:用户操作触发代码

事件的核心逻辑:触发操作 => 执行对应代码。用户的点击、拖拽、缩放、移动等操作都属于事件,触发后执行的函数称为回调函数。

GIS常见事件:地图点击事件、标记拖拽事件、地图缩放结束事件、点位悬浮事件等。

更多GIS数据|开发|考研|竞赛|就业学习内容点这里 - 哔哩哔哩https://www.bilibili.com/opus/1199975937945370645?spm_id_from=333.1387.0.0GIS | 零基础入门WebGIS开发,《智慧校园》项目实战_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Ui4y1U7c6/?spm_id_from=333.1387.homepage.video_card.click&vd_source=9629e581233f391f52868addec97b4bb


零基础webgis开发入门:HTML/CSS/JavaScript前端核心基础②》 是转载文章,点击查看原文


相关推荐


TOML 深度调研:对比 YAML、JSON 等五大配置格式,哪种最适合你的项目?
王若风2026/5/6

大家好,我是若风。 上周在配置一个 Rust 项目的时候,我盯着 Cargo.toml 发了一会儿呆。然后突然意识到一件事:我写了这么多年代码,跟配置文件打交道的时间可能比写业务逻辑还多。package.json、docker-compose.yml、tsconfig.json、.gitignore、terraform.tf……每个项目至少 3 到 5 个配置文件。 但说实话,我从来没认真想过一个问题:为什么这些工具要用不同的配置格式? YAML 写 Kubernetes 配置,JSON 写 p


如何将SVG格式文件转为PDF? 方便打印输出、正式汇报、跨平台展示
诸葛大钢铁2026/4/26

在日常设计、开发与文档交付过程中,SVG转PDF是一个非常高频但容易被忽视的需求。很多人一开始会觉得“只是格式转换而已”,但真正遇到输出打印、正式汇报或跨平台展示时才发现:SVG在不同设备上的兼容性并不总是稳定,而PDF才是更通用、更专业的交付格式。 尤其是在以下场景中,这个需求会变得非常明显: 设计稿需要提交评审或印刷 网页图标或流程图需要归档成标准文件 跨平台传输时避免样式错乱 因此,一个稳定、清晰、无损的SVG转PDF方案就显得非常重要。 一、设计软件直接导出


《swiftUI进阶 第9章SwiftUI 状态管理完全指南》
90后晨仔2026/4/18

概述 状态管理是 SwiftUI 应用的核心。本章将系统介绍从 iOS 13 到 iOS 17+ 的所有状态管理技术,包括传统的 ObservableObject 系列和现代的 @Observable 宏,帮助你根据项目需求选择最合适的方案。 第一部分:基础状态管理(iOS 13+) 1. @State:本地视图状态 @State 用于管理视图内部的简单状态,当值改变时自动刷新 UI。 struct CounterView: View { @State private var coun


Nginx 从入门到精通:全面解析与实战指南
程序员果子2026/4/10

目录 前言:为什么要学 Nginx? 一、Nginx 基础入门:从零搭建第一个服务 1.1 初识 Nginx:它是什么,能做什么? 1.2 第一个 Nginx 服务:最小化配置实战 1.3 安装:Linux 里的 Nginx 魔法:从下载到部署,轻松拿捏! 二、核心架构与配置解析:读懂 Nginx 的 "运行逻辑" 2.1 架构精髓:Master-Worker 进程模型 2.2 配置骨架:从 http 到 location 的层级关系 2.3 静态资源服务:Nginx 的 "原


多Agent工作流开发
字节逆旅2026/4/2

最近 OpenClaw、Claude Code 特别火,我当时就在想,能不能写个自己的Agent,让它自动根据我的需求文件干活?比如我改个 tasks.md,它就自动跳出来把代码写了。这不比怼着ide开发高级多了? 最开始的想法非常简单粗暴:用 Node.js 写个脚本,利用 chokidar 盯着一个 todo 文件夹。只要文件一变,脚本就通过 child_process 里的 exec 去调 claude 命令。 初版脚本核心逻辑: const chokidar = require('cho


利用 Cloudflare 邮件路由实现无限子邮箱配置指南
墨风如雪2026/3/24

上几期文章我介绍了怎么把域名托管到CLoudFlare和免费白嫖CF CDN的操作,这次我演示的是我日常最喜欢的功能之一,邮箱路由功能。可以只需要一个域名就可以拥有属于自己的邮箱,而且可以创建无限的子邮箱提供使用。 在这里你不需要搭建复杂的邮局,只要你有一个托管在 Cloudflare 的域名,就可以用任意的前缀邮箱来注册你想要的账号,所有邮件都会自动转发到你指定的主邮箱里面,接收验证码会非常的方便。 强大的开源资源库 在正式配置之前,我这里先介绍一个收集了十分多使用CLoudFlare免费资源


告别登录中断:前端双 Token无感刷新
发现一只大呆瓜2026/3/16

前言 在前后端分离的项目中,为了安全,Token 通常会设置有效期。但如果 Token 过期时强制用户重新登录,会极大地破坏用户体验。如何做到在用户毫无察觉的情况下,自动完成 Token 的续期?本文将深度拆解 “双 Token 无感刷新” 的实现机制。 一、 为什么需要“无感刷新”? 举个简单例子,你正在某 App 编辑内容,中途切出几分钟,再切回来时,直接弹出登录页,提示“登录已过期,请重新登录”,这种场景很容易让用户流失。 传统的单 Token 方案存在一个两难境地: 有效期过短:用户操


构建无障碍组件之Switch Pattern
anOnion2026/3/8

Switch Pattern 详解:构建无障碍开关组件 开关(Switch)是一种模拟物理开关的控件,用于在两个状态(通常是"开"和"关")之间切换。在一些 UI 组件库中,它也被称为 Toggle(切换开关)。本文基于 W3C WAI-ARIA Switch Pattern 规范,详解如何构建无障碍的开关组件。 一、Switch 的定义与核心概念 1.1 什么是 Switch Switch 是一种特殊的二元状态控件,它: 模拟物理开关的行为 在两个互斥状态之间切换(开/关、启用/禁用) 与


纯 CSS 实现弹性文字效果
掘金安东尼2026/2/28

原文:How to Create a CSS-only Elastic Text Effect 翻译:TUARAN 欢迎关注 前端周刊,每周更新国外论坛的前端热门文章,紧跟时事,掌握前端技术动态。 每个字母单独动画的文字效果总是很酷、很吸睛。这类错峰动画通常依赖 JavaScript 库实现,对我们要实现的这种相对轻量的设计效果来说,代码往往偏重。本文将探索只用 CSS、无需 JavaScript 实现 fancy 文字效果的技巧(意味着需要手动拆分字符)。 截至撰写时,仅 Chrome 和


LiteOps:轻量级CI/CD平台,重塑开发运维新体验
YL_jia2026/2/19

LiteOps:轻量级CI/CD平台,重塑开发运维新体验 在效率至上的时代,LiteOps正以“简洁易用”和“开箱即用”的理念,重新定义自动化部署流程。 一、LiteOps:为何成为开发运维的新宠? 在软件开发的快速迭代中,持续集成和持续部署(CI/CD) 已成为提升开发效率和软件质量的关键手段。 然而传统CI/CD工具往往配置复杂、学习曲线陡峭。LiteOps作为一个专注于实用性的轻量级CI/CD平台,应运而生,它开源免费,能够为开发团队提供高效、便捷的自动化构建和部署解决方案。 1.1

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 聚合阅读