2017-06-26 11 views
-1

iny以下のコードです。JSONファイルのデータを表示する情報ウィンドウがいくつかあります。 InfoMarkersがマーカーをクリックして開いていないと問題が起きています。これは私にとって非常に新しいものなので、私が間違っていることについての助けは素晴らしいでしょう。私が苦しんでいる場合は申し訳ありません。マーカー情報ウィンドウが開かない

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({ 
content: value.altitude + value.hex 
}); 



map = new google.maps.Map(document.getElementById("map_canvas"), 
mapOptions); 
window.setInterval(function() { 
     readData(); 
    }, 1000); 
} 
var marker = {}; 

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); 
    if (marker[value.squawk]) { 
    marker[value.squawk].setPosition(myLatlng); 
    console.log("moving marker for " + value.squawk); 
    } else { 
    marker[value.squawk] = new google.maps.Marker({ 
     position: myLatlng, 
     icon: 'airplane.jpg', 
     map: map, 
     title: "Callsign Altitude " + value.flight + value.altitude 
    }); 
    console.log("creating marker for " + value.squawk); 
    } 




      marker.addListener('click', function() { 
infowindow.open(map, marker); 
    }); 







     }); 
    }); 

} 

答えて

0

あなた、間違った場所にある情報ウィンドウ...マーカーリスナー

var infowindow = new google.maps.InfoWindow({ 
    content: value.altitude + value.hex 
    }); 

    marker.addListener('click', function() { 
    infowindow.open(map, marker); 
    }); 
0

はあなたのコードがbelow.Iのようなものを実装していないはずですが、あなたはクリックイベントをバインドする必要が前にコードを移動してみてください各マーカー上にある。

var marker = {}; 
    var objMarker; 
    $.each(data.aircraft, function(i, value) { 

     var infowindow = new google.maps.InfoWindow({ 
      content: "content here" 
     }); 
     var myLatlng = new google.maps.LatLng(value.lat, value.lon, value.flight, value.altitude); 

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

     google.maps.event.addListener(marker[i], 'click', function() { 
      infowindow.open(map, marker[i]); 
     }); 
    }) 
関連する問題