Автоматический вывод карты Yandex в материалах K2.

  • Maxor
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
12 years 6 days ago #290 by Maxor
Дмитрий, а вот такая мысль в голову пришла...
По пунктам:
1. В Sobi есть поле адреса, у каждой записи оно лежит в чётко-определённом месте;
2. Написать Joomla-плагин интеграции Вашего компонента и Sobi, который брал-бы адреса со всех записей в БД у Sobi, так-же он мог-бы брать категории, в которых эти записи находятся;
3. Далее он пишет эти данные в БД Вашего компонента;
4. Соответственно Ваш компонент по этим данным уже из своей БД создаёт метки на карте;
5. Итого: имеем возможность вывести на сайте карту, на которой можно увидеть все организации из Sobi и карту в каждой записи каталога с меткой организации, без участия пользователя;
6. Можно даже, на общей карте, дать возможность пользователю выборать, какие категории организаций он хочет видеть на ней.

Итого: не нужно разбираться с написанием плагинов под Sobi, но при этом сделать вкусный плагин интеграции.

Please Log in or Create an account to join the conversation.

More
12 years 6 days ago - 12 years 6 days ago #291 by Dima
По пунктам отвечаю
1 - да, контакты как Sobi так и Joomla структурированы.
Но:
То, как я напишу туда информацию - это раз.
Например, ул. Ленина дом 10, Ленина ул., 10, улица Ленина д 10, или просто Ленина 10.
Поверьте, я с этими адресами постоянно работаю на своих проектах (по работе, не по joomla) при интеграции, загрузке данных и прочем.
У вас может быть несколько улиц Ленина в разных частях города

Далее, если забираем данные из Соби, то что делать в случае когда вы добавляете данные. У Вас возникнет потребность в корректной дозагрузке.

Далее - геокодер. При геокодировании текстовый адрес переводится в координаты. Как правильно вы соберете текстовый адрес зависит результат. Плюс геокодер может вернуть вам не одну запись, т.к. может выдать несколько похожих адресов.
Результат геокодирования - как он привязан в самом АПИ может Вас не обрадовать: вы можете попасть на соседний дом, или вообще не найти данные.

Так что автоматизация в приличном варианте невозможна.

п6 - Вы можете создать список, каждый элемент сопоставлен с вызовом статьи. В статье делаете вызов плагина по категории.
Либо сделать пункт меню, вызвать компонент и указать ему управление метками через список групп. Только сейчас грузятся сразу все метки. Динамических запросов еще не сделано, но ближе к лету надеюсь реализовать.

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

Интегрироваться с SobiPro можно разными путями. Например, как сейчас сделана интеграция с контактами. Т.е. из компонента можно записывать данные в таблицу контактов Соби, почему нет?

Объясняю: у меня есть интеграция с контактами. Если она включена на карте, и пользователям разрешен ввод, то если он заполняет любое поле контакта, я создаю запись в таблице joomla, где хранятся контакты и автоматом связываю его с меткой.
В результате есть метка + контакт + связь между ними. Удаляю метку - удаляется и контакт, если перед этим не отключили интеграцию на карте

Don't forget support my developments: post review in JED , donate , help with translation ;)
Last edit: 12 years 6 days ago by Dima.

Please Log in or Create an account to join the conversation.

More
12 years 6 days ago #292 by Dima
Т.е. Вы можете, например, дать пользователю возможность вводить свои метки, и создавать необходимые записи в SobiPro. Только надо смотреть какие значения по умолчанию ставить в поля (видимые и нет). Туда же - в балун вставки, можно вывести и категории Sobi и т.п. (как я сейчас вывожу категории компонента и группу)

Don't forget support my developments: post review in JED , donate , help with translation ;)

Please Log in or Create an account to join the conversation.

More
12 years 6 days ago #293 by Dima
Другое дело, что мы опять тогда приходим к связи один к одному. Как и в случае с Field в Sobi
Т.е. Вы не сможете сказать, что это одна и та же контора, только разные офисы (или филиалы).

Т.е. например, у вас
Первая запись
"ООО Рога и Копыта" по адресу тупик Перестройки 10
Вторая запись
"ООО Рога и Копыта опт" по адресу Биржевая площадь 5

Будет означать две разные конторы, а не связанные филиалы. Правда может оно Вам и не надо.
Ну, по аналогии, например, филиалы банка - например, 50 записей о разных адресах.

Хотя я не знаю, может и надо разные записи. Тут надо Вам смотреть. Ведь еще есть поиск. Как он будет искать по адресу.

Don't forget support my developments: post review in JED , donate , help with translation ;)

Please Log in or Create an account to join the conversation.

  • Maxor
  • Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
12 years 6 days ago #298 by Maxor
В общем, я решил пока вообще остаться на Joomla 1.5.
Уж слишком много проблем с переходом на 2.5. И каталог лишь одна из них.
Соответственно, как и намечено, буду обновлять весь портал, но на старой версии движка.
И даже при этом у меня будет к Вам как минимум один вопрос:
Я выше приводил пример вызова Яндекс-карты у себя в карточке клиента, в Sobi2. Так вот у меня там проблема есть не решённая, даже две в одной я бы сказал.
Когда открывается карточка клиента, карта стоит в первой вкладке. Я хотел её во вторую вкладку поставить, но не знаю, как её заставить прорисоваться при этом.
И второе, это то, что в IE8 или 7, не помню точно, карта не сидит в указаных рамках, а расползается на 3/4 окна браузера.

Please Log in or Create an account to join the conversation.

More
12 years 5 days ago #301 by Dima
Про перенос на вторую вкладку - это надо вызвать перерисовку карты в момент переключения табов.

api.yandex.ru/maps/jsapi/doc/ref/reference/map.xml#redraw

Про вторую ошибку - тут несколько возможных вариантов, например, карта указана 100% ширины, она вычислилась правильно, но IE7 игнорировал какой-либо стить, типа display:inline-block.

Don't forget support my developments: post review in JED , donate , help with translation ;)

Please Log in or Create an account to join the conversation.

Time to create page: 0.096 seconds

Donate


Go to top