Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Приветствую всех, уважаемые харбожители!
ng-map создавала общий scope и принимала общие конфиги для всех объектов карты, все нижеперечисленные директивы должны быть вложены внутрь данной.ng-map-canvas для полотна картыng-map-marker для позиционирования маркера. Для нескольких маркеров можно использовать ng-repeat :)ng-map-route и ng-map-route-waypoint (в сочетании с ng-repeat) для отрисовки маршрутовng-markers-cloud — оптимизированный вариант для показа большого количества маркеров, в ng-model можно передать массив для вывода. Из минусов — наблюдение за массивом ведется только по ссылке, изменение отдельных элементов не приведет к перерисовке.ng-map-overlay — универсальная директива, годится как для отображения кастомных маркеров, так и для модальных окон на карте, всплывающих облачков, тултипов. Создавала оверлэй для карты, куда помещалось переданное внутри директивы html-содержимое со всеми преимуществами дата-байндинга.<div ya-map="..." ng-model="..." ... ></div> <div ng-map><ng-map-canvas><ng-map-marker ng-repeat="..."></div>
<ng-map-marker ng-repeat="geoObject in geoObjects" source="geoObject|serializeGeoObject">ng-repeat при каждом изменении массива будет вызывать полную перерисовку карты.<div map ... >
<point ng-repeat="...">
</div>
$scope.on('$destroy", function () {
map.removeMarker(marker);
});
require: '^map') и взаимодействовать напрямую.$scope.changeCenter = function(){
var currentCenter = $scope.mapProperties.params.center;
if(!currentCenter){
$scope.mapProperties.params.center = {x:37.64, y:55.76};
}else if(currentCenter.x && currentCenter.y){
$scope.mapProperties.params.center='Казахстан, город Алматы';
}else if(currentCenter.length===2){
$scope.mapProperties.params.center = null;
}else if(currentCenter==='Казахстан, город Алматы'){
$scope.mapProperties.params.center = [37.64,55.76];
}
};
Яндекс карты для angular.js