现在不推荐用geo微格式标地图坐标,因其未被主流搜索引擎和地图库支持;应改用schema.org的JSON-LD结构化数据或data-属性配合JavaScript解析。

HTML里怎么用geo微格式标坐标
直接说结论:现在不推荐用geo微格式标地图坐标。它没被主流搜索引擎解析,浏览器也不识别,写了等于白写。
当年W3C草案提过geo,想用<span class="geo"><span class="latitude">39.904</span> <span class="longitude">116.407</span></span>这种结构让机器读坐标,但实际落地几乎为零——Google、Bing从没拿它当结构化数据用,OpenStreetMap、Leaflet这些地图库也完全无视它。
替代方案:用meta或script type="application/ld+json"
真要让坐标被机器理解(比如被搜索收录、被地图API自动抓取),得走标准结构化数据路径:
-
<meta>标签只适合单点、静态页面,比如在<head>里加<meta name="geo.position" content="39.904;116.407">,但仅部分老式移动浏览器(如旧版Opera Mini)会响应,现代环境基本失效 - 更靠谱的是用
script type="application/ld+json"写Place或GeoCoordinates,Google Search Console明确支持,且能带名称、地址、电话等上下文 - 示例片段:
{ "@context": "https://schema.org", "@type": "Place", "name": "北京故宫", "geo": { "@type": "GeoCoordinates", "latitude": 39.916, "longitude": 116.397 } }
geo类名别乱用,容易和CSS/JS冲突
哪怕你只是想自己用CSS高亮坐标,也别用class="geo"这种通用名:
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
立即学习“前端免费学习笔记(深入)”;
- 很多UI框架(如Bootstrap 5+)已预留
geo相关类名做地理定位功能,可能触发意外样式或JS行为 - 前端监控SDK(如Sentry、Datadog)有时会扫描含
geo的元素做位置埋点,导致误报 - 建议改用业务语义更强的名字,比如
class="venue-coords"或data-latlng="39.916,116.397"
前端展示坐标,优先用data-属性 + JS解析
如果目标是让用户点击后跳转地图,或者hover显示经纬度,别依赖微格式解析,直接用自定义属性更可控:
- 写法:
<address data-lat="39.916" data-lng="116.397">北京市东城区景山前街4号</address> - JS里用
el.dataset.lat和el.dataset.lng读取,兼容性好,无歧义 - 避免用空格分隔的
data-geo="39.916 116.397",不同浏览器对空格处理不一致,移动端尤其容易截断
真正麻烦的不是怎么写,而是很多人以为写了class="geo"就等于“做了SEO”或“支持地图集成”,其实连最基础的坐标校验都缺——纬度必须在-90~90之间,经度-180~180,手输错一位,后面全白搭。


















