index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IP 定位示例</title>
<style>
body {
font-family: Arial, sans-serif;
}
#location {
margin: 20px;
padding: 20px;
border: 1px solid #ddd;
border-radius: 4px;
background-color: #f9f9f9;
}
#map {
width: 100%;
height: 400px;
margin-top: 20px;
}
</style>
</head>
<body>
<h1>IP 定位</h1>
<div id="location">
<p>IP 地址: <span id="ip"></span></p>
<p>城市: <span id="city"></span></p>
<p>地区: <span id="region"></span></p>
<p>国家: <span id="country"></span></p>
<p>经度: <span id="longitude"></span></p>
<p>纬度: <span id="latitude"></span></p>
</div>
<div id="map"></div>
<script>
function loadLocationData() {
fetch('https://ipapi.co/json/')
.then(response => response.json())
.then(data => {
document.getElementById('ip').textContent = data.ip;
document.getElementById('city').textContent = data.city;
document.getElementById('region').textContent = data.region;
document.getElementById('country').textContent = data.country_name;
document.getElementById('longitude').textContent = data.longitude;
document.getElementById('latitude').textContent = data.latitude;
loadMap(data.latitude, data.longitude);
})
.catch(error => console.error('Error fetching IP data:', error));
}
function loadMap(latitude, longitude) {
const map = new google.maps.Map(document.getElementById('map'), {
center: { lat: latitude, lng: longitude },
zoom: 8
});
new google.maps.Marker({
position: { lat: latitude, lng: longitude },
map: map
});
}
document.addEventListener('DOMContentLoaded', loadLocationData);
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_GOOGLE_MAPS_API_KEY">
</script>
</body>
</html>
评论区