gpt4 book ai didi

javascript - 谷歌地图中的过滤器不起作用(JS)

转载 作者:行者123 更新时间:2023-11-30 21:00:20 24 4
gpt4 key购买 nike

我有 JS 脚本文件,我从后端获取标记并初始化 map

代码如下:

    function initMap() {
map = new google.maps.Map(document.getElementById('map'),
{
zoom: 5,
center: { lat: 51.0742853, lng: 11.0294547 },
mapTypeId: 'roadmap'
});
var centerControlDiv = document.createElement('div');
var centerControlDiv2 = document.createElement('div');
var centerControl = new CenterControl(centerControlDiv, map);
var centerControl2 = new CenterControl1(centerControlDiv, map);

centerControlDiv.index = 1;
map.controls[google.maps.ControlPosition.TOP_CENTER].push(centerControlDiv);
getDriving();
} //map initialization
// get Driving and show on layer
function getDriving() {
var url = $('#map').data('request-url2');
$.getJSON(url,
function (data) {


$.each(data,
function (i, item) {
marker.push({
'location': new google.maps.LatLng(item.Latitude, item.Longitude),
'map': map,
'weight': item.Speed,
'radius': 10,
'date': item.CurrentDateTime
});
});
var pointArray = new google.maps.MVCArray(marker);

heatmap = new google.maps.visualization.HeatmapLayer({
data: pointArray
});
heatmap.setMap(map);
});
};

我需要按日期过滤它们

所以我写了这个函数

 $('#filter').on('click',
function () {
var startValue = $('#startDate').val(moment($(this).val()).format('DD/MM/YYYY'));
var endValue = $('#endDate').val(moment($(this).val()).format('DD/MM/YYYY'));
map.markers = [];
map.markers.push(marker);
console.log(map.markers);
$.each(map.markers, function (i, marker) {
if (marker.date === startValue)
marker.setVisible(false);
else
marker.setVisible(true);
});
});

在控制台中我看到了我所有的标记

这是截图 Screen

但是我在控制台中有这个错误:

Uncaught TypeError: marker.setVisible is not a function

我该如何解决?

最佳答案

你应该使用 setMap() 而不是 setVisible()

if (marker.date === startValue)
marker.setMap(null);
else
marker.setMap(map);

显然 map 对象必须可以通过点击函数访问

关于javascript - 谷歌地图中的过滤器不起作用(JS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47201339/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com