<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
body{
background: #202020;
}
div.rect {
width: 50px;
height: 50px;
background: yellow;
}
</style>
</head>
<body>
<div class="rect" id="rotate-rect"></div>
<script>
var rect = document.getElementById('rotate-rect');
var a = 1, b = 0, c = 0, d = 1, tx = 10, ty = 10, angle = 0, currentAngle;
function getAngleToRAD(){
if(angle === 360){
angle = 0;
}
return angle++ * Math.PI / 180;
}
function update(){
currentAngle = getAngleToRAD();
rect.style.transform = 'matrix(' + Math.cos(currentAngle) + ',' + Math.sin(currentAngle) + ',' + -Math.sin(currentAngle) + ',' + Math.cos(currentAngle) + ',' + tx + ',' + tx + ')'
window.requestAnimationFrame(update);
}
update();
</script>
</body>
</html>
var ButtonFactory = (function(){
function ButtonFactory(){
}
ButtonFactory().prototype.getLikeButton = function(){
var likeButton = document.createElement('button');
likeButton.style.background = 'ff00ff';
likeButton.style.innerHTML = 'like';
return likeButton;
};
return ButtonFactory;
})();
var buttonFactory = new ButtonFactory();
document.getElementsByTagName('body')[0].appendChild(buttonFactory.getLikeButton());
var Snake = (function(){
function Snake(){
this.body = [];
this.score = 180;
this.gameTime = 0;
this.level = 0;
this.levelStep = 0;
}
return Snake;
})();
var snake = new Snake(); // у этого объекта свойства по умолчанию
...
...
snake = new Snake(); // теперь присваеваем свойству snake новый объект с свойствами по умолчанию
var json = {
"stops" : [{
"zoneId":"5522bdb1e4b047df5b5b7afa",
"coords":[[
[49.25100320801442,28.541126489672024],
[49.25156346163994,28.542151093515713],
[49.25113626882619,28.542376399072964],
[49.25074759018555,28.541657567056973],
[49.25076509829823,28.54119622710641],
[49.25100320801442,28.541126489672024]
]],
"name":"Ватутина",
"description":""
}]
};
var polygonCoords = [];
var coords = json.stops[0].coords[0],
length = coords.length,
point,
POSITION_X = 0,
POSITION_Y = 1;
for(var i = 0; i < length; i++){
point = coords[i];
console.log(point[POSITION_X],point[POSITION_Y]);
// new google.maps.LatLng(point[POSITION_X],point[POSITION_Y]);
}
function initialize_map( ) {
var latlng = new google.maps.LatLng(info.stops[0].coords[0][0]);
var myOptions = {
zoom: 18,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var polygonCoords = [];
// ниже, я сохранил ссылку на json в свойство json,
// но как видно из Вашего кода, он у Вас называется info
// по этому я закоментирую свою строчку и оставлю Вашу.
// var coords = info.stops[0].coords[0],
var coords = info.stops[0].coords[0],
length = coords.length,
point,
POSITION_X = 0,
POSITION_Y = 1;
for(var i = 0; i < length; i++){
point = coords[i];
polygonCoords.push(new google.maps.LatLng(point[POSITION_X],point[POSITION_Y]));
}
var polygon = new google.maps.Polygon({
path: polygonCoords,
strokeColor: "#5196DB",
strokeOpacity: 1,
strokeWeight: 2,
fillColor: "#8ab9e7",
fillOpacity: 0.5
});
polygon.setMap(map);
return map;
}
// на это замыкание не ведет ни одной ссылки.
(function(window){
// someVar не является частью замыкания.
// чтобы somevar относилась к полю замыкания
// её нужно объявить с контекстом this.
// То есть
// this.somevar =[];
var somevar =[];
// свойство x не является частью замыкание,
// так как объявлено с контекстом window.
window.x = function () {
//
//
}
x.y = function() {
// имеем доступ к somevar
}
})(window);
var newy = function () {
// отсюда тоже хотим работать с somvar
}
//делаем
// таким образом невозможно обратится к
// области видимости замыкания, так как
// ссылка на функцию х не имеет никакого отношения
// к этому самому замыканию. Оно объявленно в window.
x.y=newy;