Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 实时更新标记_Javascript_Json_Google Maps - Fatal编程技术网

Javascript 实时更新标记

Javascript 实时更新标记,javascript,json,google-maps,Javascript,Json,Google Maps,我需要从json文件中获取新位置,该文件将定期更新,以便在地图上更新它,而无需重复重新加载整个页面。不使用Ajax我怎么办 if (GBrowserIsCompatible()) { //==add controls var map = new GMap(document.getElementById("map")); map.addControl(new GL

我需要从json文件中获取新位置,该文件将定期更新,以便在地图上更新它,而无需重复重新加载整个页面。不使用Ajax我怎么办

                 if (GBrowserIsCompatible()) {
                 //==add controls
                 var map = new GMap(document.getElementById("map"));
                 map.addControl(new GLargeMapControl());
                 map.addControl(new GMapTypeControl());
                 map.setCenter(new GLatLng(-29.870879, 30.977258),15);

                 var htmls = [];
                 var i = 0;

                 //create marker and set up infoWindow
                 function createMarker(point,ID,name) {
                 var marker = new GMarker(point);
                 GEvent.addListener(marker, "click", function() {
                 marker.openInfoWindowHtml(ID+"<br/>Name: " +name);

                 });

                  return marker;
                }



            process_Data = function(doc) {
                 //parse json file
                 var jsonData = eval('(' + doc + ')');

                 // ======== Plots the markers on Google Maps============

                   for (var i=0; i<jsonData.markers.length; i++) {
                       var point = new GLatLng(jsonData.markers[i].lat, jsonData.markers[i].lng);
                        var marker = createMarker(point,jsonData.markers[i].ID,jsonData.markers[i].name);
                       map.addOverlay(marker);

                       }
                     }

                      GDownloadUrl("points.json", process_Data);

                      }
if(GBrowserIsCompatible()){
//==添加控件
VarMap=新的GMap(document.getElementById(“map”);
addControl(新的GlargeMappControl());
addControl(新的GMapTypeControl());
地图设置中心(新格拉特林(-29.870879,30.977258),15);
var htmls=[];
var i=0;
//创建标记并设置信息窗口
函数createMarker(点、ID、名称){
var标记=新的GMarker(点);
addListener(标记“单击”,函数(){
marker.openInfoWindowHtml(ID+“
Name:”+Name); }); 返回标记; } 过程\数据=功能(文档){ //解析json文件 var jsonData=eval(“(“+doc+”)”); //=========在谷歌地图上绘制标记============
对于(var i=0;iIs)您有什么理由不想使用AJAX吗?不一定,如果它能工作,它将是完美的。如果您使用的是Google Maps API V2,您应该升级到V3,因为V2已不推荐使用,并且只剩下一年多一点的保证寿命。
var marker;

// every 10 seconds
setInterval(updateMarker,10000);

function updateMarker() {
   $.post('/path/to/server/getPosition',{}, function(json) {
      var LatLng = new google.maps.LatLng(json.latitude, json.longitude);
      marker.setPosition(LatLng);
   });
}