Клуб API Карт

Добавить несколько своих карт на карту Яндекса

sfd-pano
17 февраля 2010, 11:41

Тема такая. Сделал сайт с использованием Яндекс.карт. Теперь нужно сделать так, чтобы на масштабах, где отсутствуют карты Яндекса, показывались мои. Мест для показа своих карт будет достаточно много.

 

Самостоятельно пробовал использовать яндексовую подготовку слоя тайлов, карта легла точно, на трех масштабах. Только теперь надо поместить несколько таких карт на свой сайт.

Подскажите, как решить данную задачу.

11 комментариев
Подписаться на комментарии к посту
тут сложнее малек.
в тех маштабах где яндекс карт нет якарты старается блокировать зумконтрол, посему вам надо реализовать свой слой тайлов со своими лимитами - они перетрут данные яндекса.

шаг два - отфоркаться от интерфейса тайла, а стандартный перегрузить так чтобы по onError его вызывался onLoad вашего( либо ваши показывались на тех тайлах где яндекс тайлы ерронулись, звучит страшнее чем делается )
это позволит вам показывается именно там где у яндекса ничего нет.

проблема - иногда у яндекса карта есть, но пуста или замылена, но раз файл есть - вы не отрисуетесь..

вот такие пироги
Если на всех слоях использовать один и тот шаблон для URL'а, то можно добавить один слой, а тайлы сложить в одну директорию.

Если я вас неправильно понял, то опишите результат, который вы хотите получить, более подробно.
Спасибо за внимание. Постараюсь объяснить, что надо.
Есть карта с метками. Нужно чтобы при увеличении масштаба в районе метки более 14, там где отсутствует Яндекс-карта, либо она не очень точная, появлялась своя, более  подробная карта, с увеличением 15-17. Меток со своими картами много.
В этой связи есть вопросы.
1.   Как вписать обработчик новых карт в скрипт своей страницы?
2. Как делать ссылки на тайлы разных карт?
Как я и говорил, необходимо все слои напилить так, чтобы они использовали один и тот же шаблон URL'а.  Таким образом необходимо будет добавить на карту один слой, а тайлы будут браться из одного места.

Если не получится, то дайте ссылку на страничку.
Не получается. Появляется один новый слой, метки пропадают, в общем плохо. Ссылка на страницу: http://sfd-pano.narod.ru
Мне б добавить новый слой ко всему тому, что есть - и все. Помогите.
Скажите адрес или адреса, с которых необходимо брать тайлы или же можете выложить напиленные тайлы в архиве на народе.
Положил тайлы на сайт в папки 15,16,17. Сделал кнопку "Голубая даль", по которой в новом окне вызывается map.html, полученный с помощью яндексовой подготовки тайлов. Это работает. Но мне необходимо, чтобы слой с новыми тайлами показывался непосредственно на главной странице, в продолжение увеличения карты, с сохранением меток и прочего оформления.
На народ выложил архив с тайлами
Вот упрощенный код:
window.onload = function () {
    var map = new YMaps.Map(document.getElementById("YMapsID"));
   
    // Создание источника данных
    var myData = new YMaps.TileDataSource("http://sfd-pano.narod.ru/%z/tile-%x-%y.jpg", true, false);
    myData.getTileUrl = function (tile, zoom) {
        return this.getTileUrlTemplate().replace(/%x/i, tile.x).replace(/%y/i, tile.y).replace(/%z/i, zoom);
    }

    // Создаем новый тип карты (стандартные слои схемы + новый слой)
    var myMapType = new YMaps.MapType(YMaps.jQuery.merge(YMaps.MapType.MAP.getLayers(), [ new YMaps.Layer(myData)]), "Cхема");
   
    // Переключатель типов карт использует новый тип карты
    var typeControl = new YMaps.TypeControl([
        myMapType,
        YMaps.MapType.SATELLITE,
        YMaps.MapType.HYBRID
    ]);
    map.addControl(typeControl);
   
    // Центрируем карту
    map.setCenter(new YMaps.GeoPoint(38.1354677040751, 44.4927424361955), 17, myMapType);
}

Думаю, теперь будет понятно, как встроить эти строчки в свой скрипт. Но если возникнут вопросы - обязательно пишите.
Да!!! Получилось.
Еще маааленький штришок...
Нужно, чтобы по умолчанию у карты был новый тип "Схема", кнопки переключения типов карт не нужны.
Ура!!! Я все сделал, как хотел. Огромное спасибо за помощь!!!