【发布时间】:2016-12-25 23:13:05
【问题描述】:
尝试制作一个按钮来显示/隐藏地图上的标记。代码从位置数组中创建一组标记,并最初在地图上显示它们。当我单击按钮隐藏标记时,它会隐藏它们,但是当我再次单击它以显示标记时,它什么也不做。我只是一个初学者,但我已经坚持了很长时间。请帮忙。
var locations = [
['1', 33.727190, -117.851863],
['2', 34.094715, -117.773466],
['3', 34.143758, -118.782985],
['4', 33.732112, -117.845280],
['5', 33.136157, -117.156101],
['6', 33.875900, -118.034982],
['7', 33.871597, -118.242668],
['8', 33.979397, -118.047032],
['9', 33.710725, -117.859015]
];
var locationsMarkers = [];
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 34.052234, lng: -118.243685},
zoom: 8
});
setMapOnLocations(map)
}
function setLocations(locations) {
for (var i = 0; i < locations.length; i++) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1],locations[i][2]),
map: map
});
locationsMarkers.push(marker);
}
}
function setMapOnLocations(map) {
setLocations(locations);
for (var i = 0; i < locationsMarkers.length; i++) {
locationsMarkers[i].setMap(map);
}
}
function clearLocations() {
setMapOnLocations(null);
}
function showLocations() {
setMapOnLocations(map);
}
$(document).ready(function(){
var x = false;
$("#button").on('click', function(){
if (!x){
clearLocations()
x = true;
}
else {
showLocations()
x = false;
}
});
});
【问题讨论】:
标签: javascript jquery google-maps google-maps-markers