В обновлении 7.1.2 модуля "Управление структурой" появились новые компоненты для работы с картами Google Maps.
Компоненты по структуре, интерфейсу управления, да и по внешнему виду тоже, абсолютно идентичны компонентам Яндекс.Карт. Т.е., мы имеем те же самые компоненты Настраиваемой карты (bitrix:map.google.view), Поиска по карте (bitrix:map.google.search) и служебный компонент, отвечающий, собственно, за отображение карты (bitrix.map.google.system). [spoiler] Карта с точками:
Поиск:
Управление видом карты:
Несколько хинтов для желающих кастомизировать карты с использованием API
Получить доступ к объекту карты можно аналогично Яндекс.Картам - window.GLOBAL_arMapObjects['идентификатор_карты']
Если вызвать системный компонент bitrix:maps.google.system с параметром DEV_MODE=>'Y', то весь функционал карты будет загружен динамически, что позволит использовать карты во всевозможной динамике на странице, типа AJAX или плавающих слоев. Кстати, для Яндекс.Карт это тоже актуально.
Максим, большое Вас спасибо. Это как раз что нужно! Я не программист. Но мне нужно знать ответы на несколько вопросов, чтобы поставить правильно задачу для программистов. Очень надеюсь, что поможете мне разобраться. 1. Что дает Ваш компонент? Зачем он нужен вообще? 2. Доступны ли Гуглу данные, которые выкладываются на картах?
1. Компоненты нужны, если вам, например, нужно показать какие-либо фиксированные точки на карте. Бизнес-задач можно придумать много - от простейшей страницы "О компании" с картой до справочника предприятий, привязанного к карте. 2. Все данные хранятся на сервере, мы в гугл ничего не отправляем. Хотя, теоретически, гугл может получить эти данные, внеся такой функционал в свои скрипты. Хотя, пока что я ничего подобного не замечал. Да и зачем им?
Но в принципе все это можно сделать и без компонента, так ведь? Если я правильно понимаю, компонент - это чистая визуализация, т.е. как бы визуальный редактор Google Maps, я правильно понимаю?
Ну это уже вопрос из серии "А зачем нам CMS, мы же и так PHP знаем, щас сами сайт напишем". Естественно, это все можно сделать и без компонента. Собственно, для того оно и создавалось гуглем. Просто, если вы хотите вставить карту, то нужно идти на гугл, читать документацию, смотреть примеры. А если впоследствии выяснится, что управлять сайтом будет личный секретарь директора, то придется еще писать отдельный интерфейс настройки для всего этого. Т.е., проделывать ту же самую работу по созданию компонента.
Вы очевидно поняли неверно подтекст вопроса. Я не программист. Собственно подтекста и не было, мне ДЕЙСТВИТЕЛЬНО самому надо было понять что к чему и разложить все по полочкам. Я хотел убедиться, что я правильно понимаю, что есть этот компонент (да и вообще "компонент" как понятние, я только знакомлюсь с Битриксом, общаюсь тут и параллельно сдаю тесты на сертификацию. Планируем исполнить интересный проект на нем). А за сам компонент еще раз искренне благодарю!
Компонент - это некая сущность системы, которая предоставляет функционал, решающий какой-то набор бизнес-задач, допускающий некоторое количество настроек с целью приближения к конкретной задаче. В целом, если со стороны, то создается страница, на нее визуальным редактором кидается компонент, настраиваются параметры, и на сайте готов, например, раздел форума, блогов или просто новостная лента.
Если возможностей компонента не хватает для конкретной задачи, то любой компонент можно скопировать и изменить его функционал как душе угодно. Или скопировать только шаблон компонента, не трогая функциональную часть.
Большие объемы данных пока не тестировались. Тестирование и возможная оптимизация стоят в планах. Но имхо это имеет смысл делать не со стандартным на данный момент поставляемым функционалом, а уже со своей кастомизацией под конкретную задачу.
Тема: «Google Map интеграция» в форуме Те задачу по выводу определенных обьектов, попадающих в заданную область, из большого числа элементов до сих пор решать самим?
Про отдельное тип свойства "Привязка к карте" разговоры уже шли, но анонсировать пока еще рано. Кроме того, предлагаемая задача достаточно специфическая, потому совершенно не факт, что появится в основном функционале.
У нас уже несколько проектов есть, где требуется полноценная навигация на карте по обьектам, сохраненным в собственной базе. Причем обьектов очень много.
Требуется, как правило, для каких-либо риелторских организаций, компаниям занимающихся недвижимостью, но больше всего бизнесам, связанным с туризмом и путешествиям. Так что, говорить о специфичности и маловостребованности не приходится. Востребованность на рынке есть.
Я так понимаю, пока нет отдельного типа свойства "Привязка к карте", координаты объектов хранятся в базе в виде отдельных свойств инфоблока. Соответственно, как я вижу реализацию: 1. нет смысла выводить всю базу целиком в точки карты. потому, по событию перемещения карты + некоторый таймаут делаются аяксовые запросы на сервер с текущими координатами и масштабом. 2. на сервере выбираются входящие в такое окно точки, формируется ответ, отсылается клиенту. насколько я помню, апи инфоблоков вполне позволяет делать выборки с классификаторами вида "<" или ">", так что выборка не должна быть сложной. 3. на клиенте строятся новые точки, удаляются старые, выводится список объектов.
Максим, с точками - нет проблем. НО Земельнокадастровой организации требуются полигоны. А порталу по туризму требуются и полигоны и линии. Причем один обьект может харакетризоваться несколькими примитивами - кругосветное путешествие с описанием маршрута и мест. Ну, с "вписыванием" в инфоблоки подобной структуры можно повозиться - примитивы и обьекты в разные блоки или обьект в один элемент, содержащий много примитивов. Варианты подобрать можно. Но вот механизма отбора разнородных примитивов (линий, многоугольников) под окно карты в штатной реализации нет. Хотелось бы видеть приближение к Spatial Extensions Пока приходиться изворачиваться так как описал в вышеуказаном топике на форуме.
Ну и еще задачка на раздумье - предположим, что в окно карты попадает достаточно много примитивов. Возьмем базу риелторов в Москве, а пользователь смотрит всю Москву. Или портал по туризму - просмотр при показе любого континента целиком. Как показать не все примитивы, попавшие в окно, а лишь их некие групповые обьединения. Но это задачка больше на алгоритмы, чем к реализации в битрикс. Однако, если будет реализовано в каком-либо общеупотребимом виде (ранги обьектов, группировки), то будет просто замечательно.
Будут вам линии ) К моменту написания компонентов по яндекс-картам, у яндекса был баг с API работы с ломаными, из-за которого пришлось выпустить без них. Соответственно, гугл тоже пошел без ломаных. Сейчас яндекс уже исправил проблему, так что в ближайшем будущем выйдет для обоих типов карт.
Спасибо! А будет даже с поиском и показом по большим обьемам данных? И даже с нормальным интерфейсом занесения разных примитивов с описаниями в инфоблоки? А поиск (показать только примитивы, попавшие целиком или частично в окно карты) работать будет даже на простых инфоблоках (не инфоблоки плюс)?
Если да, то пойду радовать программистов, что мы очередной раз выпустили велосипед перед его релизом!!
В догонку, интерфейс по занесению разнородных примитивов с описанием и картинкой хотябы на фронт-офисе (молчу молчу про визуальное оформление кастомного свойства инфоблока) тоже ооочень хочется.
http://www.1c-bitrix.ru/products/cms/...le=fileman Модуль "Управление структурой", версия 7.1.2, бета. Чтобы обновиться до нее, нужно в настройках Главного модуля снять флаг "Загружать только стабильные обновления".
Подскажите, пожалуйста, каким образом можно поменять служебные надписи, которые теперь выводятся на Google-карте ("Карта", "Спутник", "Названия объектов", ...) ?
А может быть Вам в качестве примера работы с Google API реализовать автоматически генерируемую карту с партнерами? А то она, не отображает актуальной информации. Я вот, сейчас, искал партнера из Австралии, так в списке стран в фильтре Австралии, вообще, нет.
Максим, было бы супер, если вы добавите в админке у полей привязки к картам Яндекса или Google поля input text куда при клике по карте заносились координаты (в базе же это текстовое поле?). И тогда будет удобно эти координаты либо самим вбивать ручками, либо копировать в другие поля. Хочется большей информативности от данных полей.
Добрый день, вопрос такой Завела в некоем инфоблоке 2 свойства с типом "привязка к гугл-карте"
при попытке вывода элементов показывается только первая гугл-карта (в браузерах FF и Opera), вместо второй - стандартный текст "загрузка карты". В IE6 и Safari 3.2.1 все ок
Я не программист. Но мне нужно знать ответы на несколько вопросов, чтобы поставить правильно задачу для программистов. Очень надеюсь, что поможете мне разобраться.
1. Что дает Ваш компонент? Зачем он нужен вообще?
2. Доступны ли Гуглу данные, которые выкладываются на картах?
2. Все данные хранятся на сервере, мы в гугл ничего не отправляем. Хотя, теоретически, гугл может получить эти данные, внеся такой функционал в свои скрипты. Хотя, пока что я ничего подобного не замечал. Да и зачем им?
А за сам компонент еще раз искренне благодарю!
Если возможностей компонента не хватает для конкретной задачи, то любой компонент можно скопировать и изменить его функционал как душе угодно. Или скопировать только шаблон компонента, не трогая функциональную часть.
уже есть, но в бета-версии
Те задачу по выводу определенных обьектов, попадающих в заданную область, из большого числа элементов до сих пор решать самим?
Требуется, как правило, для каких-либо риелторских организаций, компаниям занимающихся недвижимостью, но больше всего бизнесам, связанным с туризмом и путешествиям.
Так что, говорить о специфичности и маловостребованности не приходится. Востребованность на рынке есть.
1. нет смысла выводить всю базу целиком в точки карты. потому, по событию перемещения карты + некоторый таймаут делаются аяксовые запросы на сервер с текущими координатами и масштабом.
2. на сервере выбираются входящие в такое окно точки, формируется ответ, отсылается клиенту. насколько я помню, апи инфоблоков вполне позволяет делать выборки с классификаторами вида "<" или ">", так что выборка не должна быть сложной.
3. на клиенте строятся новые точки, удаляются старые, выводится список объектов.
По поводу штатной реализации думаем.
НО
Земельнокадастровой организации требуются полигоны.
А порталу по туризму требуются и полигоны и линии.
Причем один обьект может харакетризоваться несколькими примитивами - кругосветное путешествие с описанием маршрута и мест. Ну, с "вписыванием" в инфоблоки подобной структуры можно повозиться - примитивы и обьекты в разные блоки или обьект в один элемент, содержащий много примитивов. Варианты подобрать можно.
Но вот механизма отбора разнородных примитивов (линий, многоугольников) под окно карты в штатной реализации нет.
Хотелось бы видеть приближение к
Пока приходиться изворачиваться так как описал в вышеуказаном топике на форуме.
Ну и еще задачка на раздумье - предположим, что в окно карты попадает достаточно много примитивов. Возьмем базу риелторов в Москве, а пользователь смотрит всю Москву. Или портал по туризму - просмотр при показе любого континента целиком. Как показать не все примитивы, попавшие в окно, а лишь их некие групповые обьединения.
Но это задачка больше на алгоритмы, чем к реализации в битрикс. Однако, если будет реализовано в каком-либо общеупотребимом виде (ранги обьектов, группировки), то будет просто замечательно.
А будет даже с поиском и показом по большим обьемам данных?
И даже с нормальным интерфейсом занесения разных примитивов с описаниями в инфоблоки?
А поиск (показать только примитивы, попавшие целиком или частично в окно карты) работать будет даже на простых инфоблоках (не инфоблоки плюс)?
Если да, то пойду радовать программистов, что мы очередной раз выпустили велосипед перед его релизом!!
Модуль "Управление структурой", версия 7.1.2, бета. Чтобы обновиться до нее, нужно в настройках Главного модуля снять флаг "Загружать только стабильные обновления".
Добавляя код напрямую, оно работает… Так и должно быть?
Или стилями.
Спасибо за оперативный ответ
а так и вправду прекрасно он и без модуля вставляется ручками ....
А может быть Вам в качестве примера работы с Google API реализовать автоматически генерируемую карту с партнерами? А то она, не отображает актуальной информации. Я вот, сейчас, искал партнера из Австралии, так в списке стран в фильтре Австралии, вообще, нет.
Завела в некоем инфоблоке 2 свойства с типом "привязка к гугл-карте"
при попытке вывода элементов показывается только первая гугл-карта (в браузерах FF и Opera), вместо второй - стандартный текст "загрузка карты". В IE6 и Safari 3.2.1 все ок
Вот эта страница:
кроме того, не нашла место, где можно настроить масштаб карты, выводимой из этого свойства, а также текст метки
<?$APPLICATION->IncludeComponent("bitrix:map.google.system",".default",array(
"INIT_MAP_TYPE" => "HYBRID",
"MAP_WIDTH" => "600",
"MAP_HEIGHT" => "500",
"CONTROLS" => array(
"SMALL_ZOOM_CONTROL",
"TYPECONTROL",
"SCALELINE"
),
"OPTIONS" => array(
"ENABLE_SCROLL_ZOOM",
"ENABLE_DBLCLICK_ZOOM",
"ENABLE_DRAGGING",
"ENABLE_KEYBOARD"
),
"MAP_ID" => ""
)
);?>