我有从db
返回值的repo方法这是代码
public List<Logging> GetDriving()
{
using (TraxgoDB ctx = new TraxgoDB())
{
var items = ctx.Logging.Where(x => x.Datatype == Datatype.Position).AsEnumerable().Select(
x => new Logging
{
Longitude = x.Longitude,
Latitude = x.Latitude,
Speed = x.Speed,
CurrentDateTime = x.CurrentDateTime.Date
}
).ToList();
return items;
}
}
在js中,我需要在热图上隐藏标记,其中CurrentDateTime不是==输入时间。
所以这样我会显示所有标记
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 () {
heatmap.setMap(null);
var startValue = $('#startDate').val();
var filtered = [];
$.each(marker, function (i, marker) {
var getDate = marker.date.match(/\d/g).join('');
var markerDate = new Date(parseFloat(getDate));
var valDate = new Date(startValue);
if (markerDate.getTime() === valDate.getTime()) {
filtered.push(marker);
} else {
console.log('marker date is', markerDate.getTime(), 'valdate is', valDate.getTime());
}
});
var pointArray = new google.maps.MVCArray(filtered);
console.log(pointArray);
heatmap = new google.maps.visualization.HeatmapLayer({
data: pointArray
});
heatmap.setMap(map);
});
但是在日志中我看到过滤后没有值。
但为什么?
我在输入13/11/2017
和数据库中我有2017-13-10 18:50:46.0000000
所以它可能是相同的。
我的错误在哪里?
感谢您的帮助。
以下是markerDate
这是valDate
但是如果我写console.log(startValue);
,为什么它无效我有13/11/2017