Показать сообщение отдельно
  #1 (permalink)  
Старый 08.01.2011, 00:13
Новичок на форуме
Отправить личное сообщение для tipugin Посмотреть профиль Найти все сообщения от tipugin
 
Регистрация: 08.01.2011
Сообщений: 1

Менеджер для Yandex/Google Maps в одном флаконе
С JS работаю редко и в основном с jquery, поэтому с опп-бест-практис в js я знаком плохо, нужен совет опытных товарищей =) Сейчас встала задача обернуть управление google/яндекс карт в один класс. Чтобы в любой момент можно было переключаться между двумя видами карт без потери данных (например как на AlterGeo).
Тут возник вопрос - как это лучше делать? Например, нужно поставить точку на карте - какой выход нашел я (выдержка):
MapsManager = function(settings) {

  var self = this;

  this.settings = {
    provider: 'gmaps'
  }

  this.createPointer = function() {
    switch(self.settings.provider) {
      case 'gmaps':
        // реализую через апи гмэпс
        break;
      case 'ymaps':
        // реализую через апи яндекса
        break;
    }
  }

}


Тоесть в каждом ключевом методе класса я держу свитч на два вида апи. Может существует более элегантный вариант? Очень буду рад помощи
Ответить с цитированием