いつもお世話になっております。
Google Maps API にて外部のJSONファイルを読み込みピンを表示させています。
JSONの読み込み時にjQuery.grepを使用して表示させるピンに絞り込みをかけています。
その際、JSONファイルに記述されている日時を現在日時と比較し、過去のもののみ表示という風にしたいのですが、JSONの時間が世界標準時間となっております。
これを日本時間に変換し、かつ現在時間と比較したいのですが変換の記述をどのようにすれば良いかわかりません。
ご存知の方は教えていただきたいです。
ソースは下記になります。
var map; var markers = []; var infowindow = new google.maps.InfoWindow(); function initialize() { geocoder = new google.maps.Geocoder(); var center = new google.maps.LatLng(XXX,XXX); map = new google.maps.Map(document.getElementById('map'), { zoom: 12, center: center, mapTypeId: google.maps.MapTypeId.ROADMAP }); markMultiple(); } function markMultiple(){ $.getJSON('JSONファイル', function(data) { data = $.grep(data, function(obj, i) { var now_time = new Date(); var now_y = now_time.getFullYear(); var now_m = ("0"+(now_time.getMonth() + 1)).slice(-2); var now_d = ("0"+now_time.getDate()).slice(-2); var now_h = ("0"+now_time.getHours()).slice(-2); var now_i = ("0"+now_time.getMinutes()).slice(-2); var now_s =("0"+now_time.getSeconds()).slice(-2); var now_l = ("0"+now_time.getMilliseconds()).slice(-3); var now = now_y + '/' + now_m + '/' + now_d + ' ' + now_h + ':' + now_i + ':' + now_s; return now > obj.date }); $.each(data, function(i,obj) { var latLng = new google.maps.LatLng( obj.map_latitude, obj.map_longitude ); var content = ピンをクリック後吹き出しの内容; markMap(latLng, content); }); var markerCluster = new MarkerClusterer(map, markers); }); } function markMap(position, content){ var marker = new google.maps.Marker({ position: position, icon: 'img/icon.png' }); google.maps.event.addListener(marker, 'click', function() { infowindow.setContent(content); infowindow.open(map, marker); }); markers.push(marker); } google.maps.event.addDomListener(window, 'load', initialize);
JSONは以下になります。
[ { "id": "0", "station": "渋谷駅", "timer": "", "date": "2004-12-22T15:00:00.000Z", "map_latitude": XXX, "map_longitude": XXX, }, { "id": "1", "station": "原宿駅", "timer": "on", "date": "2004-12-23T15:00:00.000Z", "map_latitude": XXX, "map_longitude": XXX, } ]
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/21 03:49
2018/08/21 03:51
2018/08/21 04:14
2018/08/21 04:27
2018/08/21 04:35