Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 移动/更新基于JSON的标记_Javascript_Jquery_Json_Google Maps - Fatal编程技术网

Javascript 移动/更新基于JSON的标记

Javascript 移动/更新基于JSON的标记,javascript,jquery,json,google-maps,Javascript,Jquery,Json,Google Maps,下面是我网站上的jquery代码。一个ADS-B recviver正在上传带有飞机lat/long信息的live.JSON文件。我已经把它们做成了标记,但它们只有在我刷新页面时才会更新。我试过设定间歇时间,做了很多研究,但还没走多远。 关于我能做什么有什么想法吗?也许我没有把设定的时间间隔放在正确的地方 function initialize() { var mapOptions = { center: new google.maps.LatLng(-36.363, 175.044), zoo

下面是我网站上的jquery代码。一个ADS-B recviver正在上传带有飞机lat/long信息的live.JSON文件。我已经把它们做成了标记,但它们只有在我刷新页面时才会更新。我试过设定间歇时间,做了很多研究,但还没走多远。 关于我能做什么有什么想法吗?也许我没有把设定的时间间隔放在正确的地方

function initialize() {

var mapOptions = {
center: new google.maps.LatLng(-36.363, 175.044),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};

var infoWindow = new google.maps.InfoWindow();
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);



$.getJSON('https://crossorigin.me/http://radar1.ddns.net:3080/data/aircraft.json', function(data){
             $.each( data.aircraft, function(i, value) {


            var myLatlng = new google.maps.LatLng(value.lat, value.lon, value.flight, value.altitude);
            var marker = new google.maps.Marker({
            position: myLatlng,
            icon: 'airplane.jpg',
            map: map,
            title: "Callsign   Altitude  "+value.flight+value.altitude

            });

     var marker = new google.maps.Marker({
position: new google.maps.LatLng(-37.008625, 174.785047),
icon: 'airport.png',
map: map,
});        



        });
});


}

嘿,Kieran,试试下面的代码,每隔20秒刷新一次地图

<script type="text/javascript">
var timerID = null;
var map;
var timerRunning = false;
var delay = 20000; // refresh every 20 seconds
var zoomToExtents = 0;
var openedInfoWindow = null;
// Initialize Timer
function initializeTimer() {

    initialize();
    StopTheClock();
    StartTheTimer();
}
function StopTheClock() {
    if (timerRunning)
        clearTimeout(timerID)
    timerRunning = false;
}
function StartTracking() {
    StartTheTimer();
}
function StartTheTimer() {
   // alert('hi');
    readData();
    timerRunning = true;
    timerID = self.setTimeout("StartTracking()", delay)
}


google.maps.event.addDomListener(window, 'load', initializeTimer);
function initialize() {

    var mapOptions = {
        center: new google.maps.LatLng(-36.363, 175.044),
        zoom: 5,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var infoWindow = new google.maps.InfoWindow();
    map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}
    function readData() {

        $.getJSON('https://crossorigin.me/http://radar1.ddns.net:3080/data/aircraft.json', function (data) {
            $.each(data.aircraft, function (i, value) {


                var myLatlng = new google.maps.LatLng(value.lat, value.lon, value.flight, value.altitude);
                var Latlngs = new google.maps.LatLng(-37.008625, 174.785047);
                map.setCenter(Latlngs);
                var marker = new google.maps.Marker({
                    position: myLatlng,
                    icon: 'airplane.jpg',
                    map: map,
                    title: "Callsign   Altitude  " + value.flight + value.altitude

                });

                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng(-37.008625, 174.785047),
                    icon: 'airplane.jpg',
                    map: map,
                });



            });
        });

    }

var-timerID=null;
var映射;
var timerRunning=错误;
var延迟=20000;//每20秒刷新一次
var zoomToExtents=0;
var openedinfown=null;
//初始化定时器
函数初始化项(){
初始化();
停止锁定();
开始计时();
}
函数StopTheClock(){
如果(定时)
清除超时(timerID)
timerRunning=false;
}
函数StartTracking(){
开始计时();
}
函数startTimer(){
//警报(“hi”);
readData();
timerRunning=true;
timerID=self.setTimeout(“StartTracking()”,延迟)
}
google.maps.event.addDomListener(窗口'load',InitializeTime);
函数初始化(){
变量映射选项={
中心:新的google.maps.LatLng(-36.363175.044),
缩放:5,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var infoWindow=new google.maps.infoWindow();
map=new google.maps.map(document.getElementById(“map_canvas”),mapOptions);
}
函数readData(){
$.getJSON('https://crossorigin.me/http://radar1.ddns.net:3080/data/aircraft.json,函数(数据){
美元每架(数据、飞机、功能(i、值){
var mylatng=new google.maps.LatLng(value.lat,value.lon,value.flight,value.aighty);
var Latlngs=new google.maps.LatLng(-37.008625174.785047);
地图设置中心(Latlngs);
var marker=new google.maps.marker({
职位:myLatlng,
图标:“Airport.jpg”,
地图:地图,
标题:“呼号高度”+value.flight+value.altime
});
var marker=new google.maps.marker({
位置:新google.maps.LatLng(-37.008625174.785047),
图标:“Airport.jpg”,
地图:地图,
});
});
});
}

你好,默翰,谢谢,它很管用!只是一个小问题,旧的立场仍然显示任何方式来消除这一点,只是显示一条线背后的ifs历史,请?或者只是一个图标。