Google maps api adds duplicate markers on all copies of continents. Strange bug.

Find a strange bug when displaying many markers on the map.


let marker = new google.maps.Marker

This is what it looks like when outputting less than 255 markers:

Google maps api correct work for less than 255 markers

And this is what it looks like when more than 255 markers:

Google maps api duplicate markers on all copies of continents for small zoom

As you can see, on the copies of the continents on the right and left, markers are also placed and this confuses visitors.

I did not find any other signs that could influence this. This problem was not reproduced on the dev version of the site. The only difference with production was the number of events. Added cycle limit:


if ( i > 255 ) {
break;
}

And although the problem was not reproduced after loading the page, when using zoom, duplicates appeared again.

I experimented with different marker and map options and found MarkerOptions — optimized. By specifying optimized:true the problem started reproducing on the dev site. But if you specify optimized:false, the problem stops reproducing completely:


let marker = new google.maps.Marker({
position: new google.maps.LatLng(tlat, tlong),
icon: {
url: item_icon,
size: sizem,
scaledSize: sizem
},
map: map,
optimized: false,
});

Conclusion: Because we used of png icons as markers, and have large number of markers the google api turn on optimization, which leads to the creation of duplicate markers on copies of continents.

Анализ кода установщика вредоносов на jScript

Сегодня 27.10.2015 столкнулся с очередными «письмами счастья». Текст письма следующий:

Акт сверки(в приложении к пиcьмy).
Убедительная просьба до завтрашнего обеда выслать отсканированную копию подписанного с Вашей стороны экземпляра или же ваши замечания.
Хотели бы подчеркнуть, что за Вашей фирмой висит непогашенный платеж за август.

Файл представлял собой zip (акт_сверки_120951784.zip) в котором внутри .js, при этом расширение в имени стояло pdf, но за пробелами спрятано расширение js. Код JS не сложный, хотя и содержит много лишнего, сжат и содержит не читаемые названия переменных и функций. Я решил разобраться, что он делает.

Действия скрипта по шагам смотри далее…
Читать далее «Анализ кода установщика вредоносов на jScript»

Вывод прогресса буферизации. network.bufferingProgress Windows Media Player Плагина.

В дополнение к статье Слежение за состоянием воспроизведения (playstate), которую я опубликовал ранее. Немного разобравшись, дополнил код выводом в статус прогресса буферизации.

Немного на перед забегая скажу — прогресс буферизации можно получить с помощью свойства Network.bufferingProgress.

Смотрим далее код…
Читать далее «Вывод прогресса буферизации. network.bufferingProgress Windows Media Player Плагина.»

Слежение за состоянием воспроизведения (playstate) Windows Media Player Плагина. Play State Change Event

В данной статье я покажу как заставить Windows Media Player Plugin (type=»application/x-ms-wmp») показывать состояние (playState) воспроизведения – то, что плеер делает с потоком в данный момент, буферизируе поток, соединяется с сервером, либо воспроизводит тишину. Для этого я использую в IE attachEvent(«playStateChange»,send_status); и в FireFox — OnDSPlayStateChangeEvt(NewState). Также видны общие принципы вставки плеера на совою страничку.
Читать далее «Слежение за состоянием воспроизведения (playstate) Windows Media Player Плагина. Play State Change Event»