Javascript 标记信息窗口未打开
在下面的代码中,我有一些显示JSON文件数据的信息窗口。我遇到问题,单击标记时信息标记无法打开。任何关于我做错了什么的帮助都会很好,因为这对我来说都是全新的。对不起,如果我是一个痛苦的人Javascript 标记信息窗口未打开,javascript,google-maps,Javascript,Google Maps,在下面的代码中,我有一些显示JSON文件数据的信息窗口。我遇到问题,单击标记时信息标记无法打开。任何关于我做错了什么的帮助都会很好,因为这对我来说都是全新的。对不起,如果我是一个痛苦的人 function initialize() { var mapOptions = { center: new google.maps.LatLng(-36.363, 175.044), zoom: 5, mapTypeId: google.maps.MapTypeId.ROAD
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);
});
});
});
}
您的信息窗口位于错误的位置。。。尝试将代码移到标记侦听器之前
var infowindow = new google.maps.InfoWindow({
content: value.altitude + value.hex
});
marker.addListener('click', function() {
infowindow.open(map, marker);
});
您的代码应该如下所示。我尚未实现,但您必须绑定每个标记上的单击事件
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]);
});
})