Tôi đang làm việc trên trang tìm nạp mã với httpObject Javascript và sử dụng nó để cập nhật hai phần tử trên trang - một bản đồ google và DIV liệt kê những điểm mà điểm đánh dấu .Tự động thêm người nghe vào Google Maps Markers
Bit đó hoạt động tốt. Vấn đề là khi tôi tạo ra các dấu hiệu, tôi làm như vậy thông qua một vòng lặp for, và tôi thêm người nghe vào điểm đánh dấu trong mỗi vòng lặp. Sau đó, khi tôi kiểm tra trang, tôi thấy điều tương tự xảy ra với mọi điểm đánh dấu.
Di chuột qua điểm đánh dấu sẽ thay đổi màu đường viền của bit tương ứng của DIV. Thay vào đó, mỗi điểm đánh dấu thay đổi đường viền của bit cuối cùng. Dường như mỗi lần tôi thêm người nghe, tôi cũng ghi đè lên người nghe của các điểm đánh dấu đã thêm trước đây.
Tôi hiểu rằng điều này là để làm với API Google Maps giữ lại danh tính của điểm đánh dấu ngay cả khi bạn tạo một điểm mới trong Javascript. Những gì tôi không nhận được nó như thế nào để có được xung quanh nó - tôi đã cố gắng tạo ra một mảng bên ngoài vòng lặp, và thay đổi
var newMarker = new GMarker(newLatLng);
với newMarker [đếm] = new GMarker (newLatLng);
nhưng vẫn không hoạt động.
Giúp tôi, StackOverflow. Bạn là hy vọng duy nhất của tôi. :)
Edit: Một ít mã hơn
for (count=0;count<=LatArray.length;count++)
{
thisLat = LatArray[count];
thisLong = LongArray[count];
thisHTML = HTMLArray[count];
newLatLng = new GLatLng(thisLat, thisLong, true);
if (mapBounds.containsLatLng(newLatLng))
{
//alert(count);
var dinnerNumber = "dinner_"+count;
newMarkers[count] = new GMarker(newLatLng);
map.addOverlay(newMarkers[count]);
GEvent.addListener(newMarkers[count],'mouseover',function(){document.getElementById(dinnerNumber).style.borderColor = '#000000';
});
}// for
1 cho tham khảo Star Wars (phi rác một) – karim79
Chúng tôi có thể lấy mẫu mã lớn hơn không? Rất khó để biết vấn đề là gì. – karim79