﻿function yMapLoader(ctrl, addresString) {
    var map = new YMaps.Map(YMaps.jQuery(ctrl)[0]);
    map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
    map.addControl(new YMaps.TypeControl());
    map.addControl(new YMaps.Zoom());
    map.addControl(new YMaps.ScaleLine());

    // Запуск процесса геокодирования
    var geocoder = new YMaps.Geocoder(addresString,
                { results: 1, boundedBy: map.getBounds() });

    // Создание обработчика для успешного завершения геокодирования
    YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
        // Если объект был найден, то добавляем его на карту
        // и центрируем карту по области обзора найденного объекта
        if (this.length()) {
            var geoResult = this.get(0);
            map.addOverlay(geoResult);
            map.setBounds(geoResult.getBounds());
            map.setZoom(15);
        }
    });

    // Процесс геокодирования завершен неудачно
    YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) {
        alert("Произошла ошибка при загрузке карты: " + error);
    });
}
