Closed svetlyak40wt closed 10 years ago
Борис, я так и не смог вспомнить, при каких обстоятельствах проявлялся баг. Сейчас поставил твою новую версию — всё работает. Большое спасибо!
Кстати, как на счет того, чтобы добавить в модуль возможность загружать объекты по урлу, используя geoXml, а то сейчас для этого приходится городить такой код:
ymapsLoader.ready(function (ymaps) {
ymaps.geoXml.load(map_url)
.then(function (res) {
var map = angular.element($('.the-map')).scope().map;
map.geoObjects.add(res.geoObjects);
}, function (error){
$scope.log.error('Не получилось загрузить xml карту: ' + error);
});
});
Очень рад, что у вас получилось это сделать, пусть даже не совсем идеальным кодом.
Сейчас сделал одно важное изменение, благодаря которому до карты стало проще достучаться. Теперь вы можете написать директиву ymap-geoxml
которая будет делать то, что вам нужно. Примерный код выглядит так:
myApp.directive('ymapGeoxml', function() {
return {
restrict: "EA",
require : '^yandexMap',
link : function ($scope, elm, attr, mapCtrl) {
ymaps.geoXml.load(map_url)
.then(function (res) {
var map = angular.element($('.the-map')).scope().map;
map.geoObjects.add(res.geoObjects);
}, function (error){
$scope.log.error('Не получилось загрузить xml карту: ' + error);
});
}
}
});
А верстка получится такая:
<yandex-map center="center" zoom="zoom">
<ymap-geoxml url="xmlUrl"></ymap-geoxml>
</yandex-map>
все изменения попали в текущий master
У вас упали unit-тесты. Это произошло потому что в них не ожидался вызов метода
map.panTo
. Я реализовал функционал обновления центра и масштаба карты и добавил соответствующий пример Ошибка с неопределеннымnewBounds
у меня не возникала, прежде чем что-то исправлять, хотелось бы знать, что именно ломается. Предлагаю вам разобраться в этом и дополнить этот pull-request тестом для воспроизведения ошибки. Не забудьте сделать rebase относительно master-а, я его обновил