当前位置:首页 > CSS

css制作谷歌地图

2026-04-02 06:44:42CSS

使用CSS制作谷歌地图效果

通过CSS可以模拟谷歌地图的基本外观,包括地图容器、标记点和信息窗口等元素。以下是实现方法:

创建地图容器

.map-container {
  width: 100%;
  height: 400px;
  background-color: #e8e8e8;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

添加地图网格线

.map-grid {
  position: absolute;
  width: 200%;
  height: 200%;
  background-image: 
    linear-gradient(#ccc 1px, transparent 1px),
    linear-gradient(90deg, #ccc 1px, transparent 1px);
  background-size: 20px 20px;
  animation: pan 60s linear infinite;
}

@keyframes pan {
  0% { transform: translate(0, 0); }
  100% { transform: translate(-50%, -50%); }
}

创建地图标记点

.map-marker {
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #ea4335;
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
  left: 50%;
  top: 50%;
  margin: -20px 0 0 -10px;
}

.map-marker::after {
  content: "";
  width: 10px;
  height: 10px;
  margin: 5px 0 0 5px;
  background-color: #fff;
  position: absolute;
  border-radius: 50%;
}

添加信息窗口样式

.info-window {
  position: absolute;
  background: white;
  padding: 12px;
  border-radius: 4px;
  box-shadow: 0 2px 7px rgba(0,0,0,0.3);
  font-family: Arial, sans-serif;
  transform: translate(-50%, -100%);
  max-width: 200px;
}

.info-window::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  margin-left: -10px;
  border-width: 10px 10px 0;
  border-style: solid;
  border-color: white transparent;
}

添加缩放控件

.map-controls {
  position: absolute;
  right: 10px;
  bottom: 20px;
  background: white;
  border-radius: 2px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.zoom-btn {
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  font-size: 18px;
  cursor: pointer;
  border-bottom: 1px solid #eee;
}

.zoom-btn:last-child {
  border-bottom: none;
}

HTML结构示例

<div class="map-container">
  <div class="map-grid"></div>
  <div class="map-marker"></div>
  <div class="info-window" style="left: 50%; top: 40%;">
    <h3>位置名称</h3>
    <p>这里是位置描述信息</p>
  </div>
  <div class="map-controls">
    <div class="zoom-btn">+</div>
    <div class="zoom-btn">-</div>
  </div>
</div>

增强交互效果

悬停动画效果

.map-marker:hover {
  animation: bounce 0.5s;
}

@keyframes bounce {
  0%, 100% { transform: rotate(-45deg) translateY(0); }
  50% { transform: rotate(-45deg) translateY(-10px); }
}

响应式设计

css制作谷歌地图

@media (max-width: 768px) {
  .map-container {
    height: 300px;
  }

  .info-window {
    max-width: 150px;
    font-size: 14px;
  }
}

注意事项

  1. 这只是一个视觉模拟,不包含实际地图功能
  2. 要实现真正的地图功能,建议使用Google Maps API
  3. 标记点位置需要通过CSS绝对定位精确控制
  4. 可以结合少量JavaScript实现基本的交互功能

通过以上CSS代码可以创建一个视觉上类似Google Maps的界面,但需要注意这只是一个静态展示效果。要实现完整的地图功能,需要集成官方地图API。

标签: 地图css
分享给朋友:

相关文章

用css制作下拉菜单

用css制作下拉菜单

使用纯CSS制作下拉菜单 HTML结构 基础的下拉菜单需要嵌套的HTML结构,通常使用<ul>和<li>标签实现层级关系: <div class="dropdown"&…

css日历制作

css日历制作

基础日历结构 使用HTML创建日历的基本框架,通常包含表格元素。月份、星期几和日期通过<table>标签组织,表头显示星期几,表格主体填充日期数字。 <div class="cal…

css制作网站

css制作网站

基础结构与样式设置 HTML文件需包含基本结构,CSS通过<style>标签内嵌或外链.css文件引入。全局样式重置常用* { margin: 0; padding: 0; }清除默认间距…

css jquery

css jquery

CSS 与 jQuery 的基础用法 CSS(层叠样式表)用于控制网页的样式和布局,而 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Aja…

css 制作目录

css 制作目录

使用CSS制作目录的方法 CSS可以用于创建美观且结构清晰的目录,以下是几种常见的方法: 使用无序列表(ul)和样式化 通过无序列表创建目录结构,再利用CSS进行美化: <div c…

css图标制作

css图标制作

使用CSS制作图标的方法 纯CSS绘制基础形状 通过CSS的border、width、height等属性可以绘制简单图标: .heart { width: 20px; height: 20p…