📅  最后修改于: 2023-12-03 15:39:28.850000             🧑  作者: Mango
谷歌地图在过去的几年中一直为外出旅行者等提供最好的服务,但是,它最近废弃了它的左窗格。左窗格是一个显示附近地点、路况和实时交通等功能的面板,这对于地图消费者来说是非常重要的。
尽管左窗格已经被废弃,但是作为一名程序员,您可以使用一些代码来重建这个面板。
您可以使用谷歌地图API来重建左窗格功能。通过使用JavaScript,您可以自定义左窗格,并添加您自己的功能。
下面是您可以使用的示例代码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Custom Controls</title>
<style>
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#pano {
width: 200px;
height: 200px;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
// This example demonstrates how to add a custom control to the Street View
// panorama. When the control is clicked, the map markers are toggled on or
// off.
var map;
var panorama;
function initMap() {
// Set up the map.
var mapDiv = document.getElementById('map');
map = new google.maps.Map(mapDiv, {
center: {lat: 42.345573, lng: -71.098326},
zoom: 14
});
// Set up the street view panorama.
var panoramaDiv = document.getElementById('pano');
panorama = new google.maps.StreetViewPanorama(
panoramaDiv, {
position: {lat: 42.345573, lng: -71.098326},
pov: {
heading: 34,
pitch: 10
},
visible: true
});
// Add a toggle control to the Street View panorama.
var toggle = document.createElement('div');
toggle.style.width = '100px';
toggle.style.height = '40px';
toggle.style.background = 'white';
toggle.style.textAlign = 'center';
toggle.style.paddingTop = '10px';
toggle.style.cursor = 'pointer';
toggle.innerHTML = 'Marker Toggle';
panorama.controls[google.maps.ControlPosition.TOP_CENTER].push(toggle);
// Listen for the toggle and hide/show the markers accordingly.
toggle.addEventListener('click', function() {
markers.forEach(function(marker) {
marker.setMap(marker.getMap() ? null : map);
});
});
// Set up the markers.
var markers = [
new google.maps.Marker({
position: {lat: 42.345573, lng: -71.098326},
map: map,
title: 'Marker 1'
}),
new google.maps.Marker({
position: {lat: 42.347347, lng: -71.080983},
map: map,
title: 'Marker 2'
}),
new google.maps.Marker({
position: {lat: 42.366665, lng: -71.062292},
map: map,
title: 'Marker 3'
}),
new google.maps.Marker({
position: {lat: 42.385898, lng: -71.072834},
map: map,
title: 'Marker 4'
})
];
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
</body>
</html>
您可以自由地更改代码以定制您想要的效果。您还可以将代码添加到现有的项目中或创建新的项目。
虽然谷歌地图废弃了左窗格功能,但是,这不会阻止您打造自己的地图应用程序。使用JavaScript和谷歌地图API,您可以重建左窗格,并添加自己的功能。