<div id="locateBtn" style="position: absolute; top: 100px; right: 50px; width: 37.5px; height: 37.5px; background: rgb(133, 136, 136); border-radius: 50%; box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2); cursor: pointer; z-index: 999;"> <div style="position: absolute; top: 13.75px; left: 13.75px; width: 10px; height: 10px; border-radius: 50%; background: #fff;"></div> </div> 请将代码修改为 常见的定位到当前位置的 CSS样式
时间: 2024-04-03 19:36:43 浏览: 14
要实现定位到当前位置的 CSS 样式,需要使用 JavaScript 获取到当前位置的经纬度信息,然后将经纬度信息传递给 CSS 样式进行定位。以下是一种实现方式:
HTML 代码:
```
<div id="locateBtn"></div>
```
CSS 样式:
```
#locateBtn {
position: fixed;
bottom: 20px;
right: 20px;
width: 40px;
height: 40px;
background-image: url('https://cdn.jsdelivr.net/gh/googlemaps/v3-utility-library/master/markerclusterer/images/gm/largered.png');
background-size: contain;
background-repeat: no-repeat;
background-position: center;
cursor: pointer;
}
```
JavaScript 代码:
```
function initMap() {
// 创建地图对象
const map = new google.maps.Map(document.getElementById("map"), {
center: { lat: -34.397, lng: 150.644 },
zoom: 8,
});
// 创建定位按钮
const locateBtn = document.getElementById("locateBtn");
// 添加点击事件监听器
locateBtn.addEventListener("click", function () {
// 获取当前位置信息
navigator.geolocation.getCurrentPosition(
function (position) {
const latlng = {
lat: position.coords.latitude,
lng: position.coords.longitude,
};
// 定位到当前位置
map.setCenter(latlng);
},
function () {
alert("无法获取当前位置信息!");
}
);
});
}
```
其中,CSS 样式设置了一个固定定位(position: fixed)的 div 元素,位置在浏览器右下角(bottom: 20px; right: 20px),宽度和高度都是 40px,背景图像是一个红色的定位图标,点击后会触发 JavaScript 代码中的事件监听器。
JavaScript 代码中,使用了 HTML5 的 geolocation API 获取当前位置信息,然后将经纬度信息传递给 Google Maps API 进行地图定位。