Мне нужно автоматически менять значки Google Maps на основе внутреннего содержимого автоматически обновляемого элемента DOM.Значок маркера Google Maps Автоматическое изменение
Я просмотрел документацию для addListener
и addDomListener
, но это все мыши и клики и прочее. Мне нужно, чтобы он обнаружил изменение чистого содержимого HTML в рассматриваемом элементе, и если это значение соответствует определенным условиям, измените значок маркера на его основе.
Вот код, я использую:
infowindow=new google.maps.InfoWindow();
for (i=0;i<buildings.length;i++){
marker=new google.maps.Marker({
position:new google.maps.LatLng(buildings[i][4],buildings[i][5]),
map:map,
shadow:shadow,
icon:greenIcon,
title:buildings[i][0]+" \n"+buildings[i][1],
zIndex:buildings[i][6]
});
}
Я думаю о добавлении setInterval
в сочетании с JQuery, чтобы заставить значение buildings[i][7]
массива (не входит в выше) равным содержание DIV в вопросе , а затем запустить несколько условных операторов, чтобы определить, соответствует ли он правильным критериям для изменения значка маркера.
Но после этого я потерял информацию о том, как заставить маркер фактически измениться на основе динамически обновляемого значения.
Спасибо. Это часть того, что я искал (я также нашел его по адресу http://stackoverflow.com/questions/1941260/google-maps-api-v3-how-do-i-dynamically-change-the-marker-icon) ... но есть ли способ обнаружить изменение элемента DOM (который вызовет изменение), или мне просто придется положить его на 'setInterval'? Я бы предпочел не делать этого, если мне это не нужно. – InterfaceGuy
Ну, так как нет никакого способа получить уведомление об изменениях элемента, вам придется либо: опросить элемент (используя 'setInterval', если хотите), либо использовать механизмы привязки данных, которые мы обсуждали по вашему другому вопросу: http://stackoverflow.com/q/10355852/1314132. –
Спасибо Шон. Ваша помощь была незаменимой. :) – InterfaceGuy