当然,我很乐意为您详细说明这段代码。这是一个使用百度地图 API 的 HTML 页面,用于显示您公司的位置和信息。
让我逐部分解释:
1. HTML 结构:
<!DOCTYPE html>
<html>
<head>
<!– 元数据和样式 –>
</head>
<body>
<div id="map"></div>
<script>
<!– JavaScript 代码 –>
</script>
</body>
</html>
这是基本的 HTML 结构,包含一个用于显示地图的 div 元素。
2. CSS 样式:
<style type="text/css">
#map { … }
.custom-info-window { … }
.custom-info-window h4 { … }
.custom-info-window p { … }
.custom-info-window .label { … }
</style>
这些样式定义了地图容器的大小和信息窗口的外观。
3. JavaScript 函数:
a
function loadBaiduMapScript() {
var script = document.createElement("script");
script.src = "https://api.map.baidu.com/api?v=3.0&ak=YOUR_API_KEY&callback=initMap";
document.body.appendChild(script);
}
这个函数动态加载百度地图 API。它创建一个 script 标签,设置 src 属性为百度地图 API 的 URL,并将其添加到文档中。
b.
function initMap() {
// 创建地图实例
var map = new BMap.Map("map");
// 设置地图中心点和缩放级别
var point = new BMap.Point(118.089478, 24.479509);
map.centerAndZoom(point, 15);
// 添加控件
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
// 创建标记
var marker = new BMap.Marker(point);
map.addOverlay(marker);
// 创建和打开信息窗口
var content = '…'; // HTML 内容
var infoWindow = new BMap.InfoWindow(content, {…});
marker.openInfoWindow(infoWindow);
// 添加点击事件监听器
marker.addEventListener("click", function(){
this.openInfoWindow(infoWindow);
});
}
这是主要的地图初始化函数。它创建地图实例,设置中心点和缩放级别,添加控件,创建标记,并设置信息窗口。
4. 脚本加载:
javascript
loadBaiduMapScript();
这行代码调用 `loadBaiduMapScript()` 函数来加载百度地图 API。
5. 回调机制:
百度地图 API 加载完成后,会自动调用 `initMap()` 函数(通过 URL 中的 `callback=initMap` 参数指定)。
主要功能:
– 显示一个居中的百度地图。
– 在地图上标记您公司的位置。
– 默认打开一个信息窗口,显示公司名称、电话、手机和地址。
– 如果信息窗口被关闭,点击标记可以重新打开它。
使用注意:
– 需要将 `YOUR_API_KEY` 替换为有效的百度地图 API 密钥。
– 坐标 (118.089478, 24.479509) 是厦门市的大致位置,可能需要调整以精确匹配您公司的实际位置。
这个代码为您提供了一个简单而有效的方式来在网页上展示您公司的位置和联系信息。如果您有任何特定部分需要更详细的解释,或者想要进行任何修改,请随时告诉我。
效果可以查看
https://www.xmhudong.com/map.html
百度坐标拾取地址