рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ, рдиреЛрдХрд┐рдпрд╛ рдореИрдкреНрд╕ рдХреЛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдлрд╝реНрд▓рд┐рдХрд░ рдлреЛрдЯреЛ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ
рджрд┐рд▓рдЪрд╕реНрдк рдореИрд╢рдк рдерд╛ рдЬрд╣рд╛рдВ рдЖрдк рдирдХреНрд╢реЗ рдкрд░ рдЬрд┐рдпреЛрдЯреИрдЧ рдХрд┐рдП рдЧрдП рдЯреИрдЧ рдХреЗ рд╕рд╛рде рддрд╕реНрд╡реАрд░реЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рдордиреЗ рдиреЛрдХрд┐рдпрд╛ рдореИрдкреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореИрд╢рдЕрдк рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдЖрдЬ рд╣рдо рджрд┐рдЦрд╛рдПрдВрдЧреЗ рдХрд┐ рдореИрдк рдкрд░ рдЯреНрд╡рд┐рдЯрд░ рдкрд░ рдХреБрдЫ рд╣реИрд╢рдЯреИрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рддреАрд╡реНрд░рддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдХрд┐рдпрд╛ рдореИрдкреНрд╕ рдЬреЗрдПрд╕ рдПрдкреАрдЖрдИ + рдЯреНрд╡рд┐рдЯрд░ рд╕рд░реНрдЪ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдореИрд╢рдЕрдк рдиреАрдЪреЗ рдХреА рдЫрд╡рд┐ рдХреА рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛ред

рдкрд░рдВрдкрд░рд╛ рд╕реЗ, рд╣рдо index.html рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░рд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдЖрд░рдВрднреАрдХреГрдд рд╣реЛрдЧрд╛:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title>Nokia Maps Heatmap demo</title> <link rel="stylesheet" href="main.css"> </head> <body> <div id="annotations"> <h2></h2> </div> <div id="map" class="map"><div id="map-loading" class="map-loading"></div></div> <script src="http://api.maps.nokia.com/2.2.1/jsl.js?with=all"></script> <script src="places-heatmap.js"></script> <script src="process-tweets.js"></script> </body> </html>
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдордиреЗ рддреБрд░рдВрдд рддреАрди рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкрд╣рдЪрд╛рди рдХреАред рдкрд╣рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ
api.maps.nokia.com/2.2.1/jsl.js
api.maps.nokia.com/2.2.1/jsl.js
рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
рдЕрдВрддрд┐рдо рдкреЛрд╕реНрдЯ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдпрд╣ рдиреЛрдХрд┐рдпрд╛ рдореИрдкреНрд╕ рдЬреЗрдПрд╕ рдПрдкреАрдЖрдИ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред
places-heatmap.js
рдХреЛ рдУрд╡рд░рд▓реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдореЗрдВ рдПрдХ рддреАрд╡реНрд░рддрд╛ рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдФрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
process-tweets.js
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╣реИрд╢рдЯреИрдЧ рдФрд░ рдЬрд┐рдпреЛрд▓реЛрдХреЗрд╢рди рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рдЯреНрд╡реАрдЯреНрд╕ рдХреА
process-tweets.js
, рд╕рд╛рде рд╣реА рдЗрди рдЯреНрд╡реАрдЯреНрд╕ рдХреЛ рддреАрд╡реНрд░рддрд╛ рдХреЗ рдирдХреНрд╢реЗ рдХреА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ (рдЕрдХреНрд╖рд╛рдВрд╢ / рджреЗрд╢рд╛рдВрддрд░, рд╢рд╣рд░) рдХреЗ рд╕рд╛рде рдЬрд┐рдпреЛрдХреЛрдбрд┐рдВрдЧ рдХрд░рддреА рд╣реИред
рдЗрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╕реАрдзреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдХреЛрдб рдХреЛ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рд╕реНрдерд╛рдиреЛрдВ-heatmap.js
var HH = {};
рдЖрдк
рдиреЛрдХрд┐рдпрд╛ рдореИрдкреНрд╕ рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА
nokia.maps.heatmap.Overlay
рд╡рд░реНрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдУрд╡рд░рд▓реЗ рдХреА рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдЬреЛ
nokia.maps.heatmap.Overlay.Options рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрдЯ рдХреА
рдЧрдИ рд╣реИрдВ ред
рдкреНрд░рдХреНрд░рд┐рдпрд╛-tweets.js
HH.TweetHeatmap = function () { "use strict"; var self, init, pageSetup, switchInput, changeHash, allPlaces = [], addPlaces, addSearch, tweetPlace, getLocation, addToPlace, futureCheck, futureCount = 0, rendered = false, locationsObj = {}, locationsTweets = [], displayHeatmap; init = function () { var locations, i; self = this;
рдЯреНрд╡рд┐рдЯрд░ рд╕рд░реНрдЪ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рдордирдорд╛рдирд╛ рддреНрд░рд┐рдЬреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреГрдереНрд╡реА рдХреА рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЗ рдмрд░рд╛рдмрд░) рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рдЯреНрд╡реАрдЯреНрд╕ рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИ, рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдпрд╣ 100 рд╕реЗ рдЕрдзрд┐рдХ рдЯреНрд╡реАрдЯ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрдИ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрджреЗрд╢ рдЦреЛрдЬ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
process-tweets.js
рдХреЗ рдЕрдВрдд рдореЗрдВ
process-tweets.js
рдЖрдк рдЙрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕реАрдзреЗ рдЯреНрд╡рд┐рдЯрд░ рд╕рд░реНрдЪ рдПрдкреАрдЖрдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рд╡реЗ рд╣рдорд╛рд░реЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВ рдФрд░ рд╡рд░реНрддрдорд╛рди рд╣реИрд╢рдЯреИрдЧ (рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ) рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рд╡рд╛рдпрд╛
document.getElementsByTagName('h2')[0].innerHTML = '#' + window.location.hash.substring(1);
рд╣рдо рдПрдХ рд╣реИрд╢рдЯреИрдЧ рдХреЛ URL рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдЗрд╕ рддрд░рд╣ рд╣рдорд╛рд░реЗ index.html рдХреЛ рдХрд┐рд╕реА рднреА рд╣реИрд╢рдЯреИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП iframe рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рд╛рдЗрдЯ рдкрд░ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрд░реЛрдд рджреЗрдЦреЗрдВ
рдПрдХ рдЬреАрд╡рдВрдд рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВред рд╕реВрддреНрд░реЛрдВ рдХреЛ
рдЬреАрдердм рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдПрдкреАрдЖрдИ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛