아래 코드는 Firefox 및 IE9에서는 잘 작동하지만 IE8에서는 마커를 업데이트하는 데 문제가 있습니다. 내가 "SCRIPT16389을. : 지정되지 않은 오류 main.js, 라인 (20) 문자 313"GET 번 상자에 포장 마커 데이터Google지도 클러스터 IE8 문제
의 새로운 세트를 업데이트하지 않는내 newdata.json 형식은 아래
{
"points": [
{
"lat": "-28.0000",
"long": "133.1500",
"id": 0
},
{
"lat": "-28.4710",
"long": "153.3443",
"id": 1
}
]
}
하고있다 스크립트 내가 deleteOverlays에 뭔가를 추측 JSON을 얻고 점
IE8지도로드 미세하고 intial 데이터가 잘 표시됩니다에var map=null;
var markersArray = [];
var markerCluster= null;
google.load('maps', '3', {
other_params: 'sensor=true'
});
google.setOnLoadCallback(initialize);
function initialize() {
var mapcentre = new google.maps.LatLng(-29,135);
var mapOptions = {
zoom: 5,
center: mapcentre,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map'), mapOptions);
startTimer();
}
function startTimer(){
setInterval(function() {
deleteOverlays();//should delete any existing point and clear the cluster
addMarker();
},3000);
}
function addMarker() {
$.ajax({
type: "GET",
url: "newdata.json",
async: false,
dataType: "json",
success: function(data){
for (var i = 0, dataPoint; dataPoint = data.points[i]; i++) {
var latLng = new google.maps.LatLng(dataPoint.lat,dataPoint.long);
var marker = new google.maps.Marker({
position: latLng
});
markersArray.push(marker);
}
markerCluster = new MarkerClusterer(map, markersArray);
}
});
}
// Deletes all markers in the array by removing references to them
function deleteOverlays() {
if (markersArray.length > 0) {
for (i in markersArray) {
markersArray[i].setMap(null);
}
markersArray.length = 0;
}
if(markerCluster!= null) {
markerCluster.clearMarkers();
}
}
를 표시하는 클러스터링을 사용하지만, 새로운 데이터가 너무 업데이트되지 않습니다 있나요?
는'in' 객체의 속성을 반복하는 것이며, "배열"나는 거의 바보를 호출하지 것이다 단지 numberish 특성을 가진 객체입니다 . 바보 같은 IMO는 언어의 모든 다른 객체와 관련이없는 배열과 관련된 마술적인 일이 있다는 부당한 가정입니다. – cHao
그래,하지만 배열 속성을 someArray.0으로 배열 요소에 액세스 할 수 있어야합니다 (어쨌든 불법 레이블이 아니라 브라우저가 가장주의해야합니다). - 허용하면 모호함이 발생합니다. 배열 인덱스가 정렬됩니다. 일반 개체 속성은 그렇지 않습니다. 그들은 다른 규칙을 따르는 다른 동물이며, 그렇게 취급되어야합니다. 사양이 명확하지 않다면 그렇게해야합니다. 우리는 일반화 된 이터레이터를 곧 출시 할 예정이지만, 속성과 배열 키를 분리하는 것이 불편한 것보다 유용합니다 (IMO). –
수정, 배열 요소가 아니라 속성을 의미합니다. 유용한만큼, 메타 데이터 속성을 배열에 추가 한 다음 in 루프에서 hasOwn 검사를 사용하고 키 배열 요소가 적중하지 않을 것이라고 가정 할 수 있다면 얼마나 편리할까요? ? 정말 큰 배열을 상상해보십시오. –