Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями – Продолжение-3

Автор: | 01.12.2009

Ранее на своем блоге я писал как можно осуществить возможность добавления меток пользователями: Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями – Продолжение-2, Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями – Продолжение и Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями.

В этой заметке я хочу рассказать об измененном способе вывода меток пользователей из базы данных, используя файл в формате YMapsML.

Привожу код файла create_YMapsML-2.php.

Он отличается от кода в файле create_YMapsML.php, рассматриваемого в заметке ссылка следующим:

— в начале файла браузеру передается заголовок header("Content-type: text/xml");

— xml-код выводится с помощью оператора echo, а не записывается в файл.

Файл vivid_mappoint_xml.php тоже немного измениться.

Здесь заменяем строку

var ml = new YMaps.YMapsML( ‘http://webmap-blog-ru/files/point_users.xml’ );

на

var ml = new YMaps.YMapsML( ‘http://webmap-blog-ru/files/ create_YMapsML-2.php ‘ );

В этой строке мы подгружаем php файл для создания файла в формате YMapsML

А также передней добавляем строку map.removeAllOverlays(); — здесь мы убираем все ранее наложенные оверлеи.

После мы изменяем наименование файла в который передаются введенные значения в форме с outpoint2.php на outpoint2-2.php

Затем нам нужно изменить файл outpoint2.php

В нем мы убираем строчку include ("create_YMapsML.php");

А также изменяем название файла в ссылке Вернуться к карте с vivid_mappoint_xml.php на vivid_mappoint_xml-2.php

Давайте проверим пример в действии.

Загружаем страницу по адресу http://webmap-blog.ru/files/vivid_mappoint_xml-2.php

Наблюдаем карту с метками пользователей.

Рис.1 Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями – Продолжение-3

Щелкаем мышью в произвольном месте карты и добавляем свою метку – название и описание.

Рис.2 Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями – Продолжение-3

После этого мы видим сообщение о добавлении метки.

Возвращаемся на карту и наблюдаем нашу добавленную метку.

Рис.3 Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями – Продолжение-3

Исходный код новых файлов: create_YMapsML-2.php, vivid_mappoint_xml-2.php, outpoint2-2.php

Яндекс.Карта на Вашем сайте с возможностью добавления меток пользователями – Продолжение-3: 31 комментарий

  1. Asmadey

    А можно ли сделать так чтобы в метки кроме текста еще и фото можно было бы добавлять и каждой метке присваивалось ID пользователя который ее добавил, чтобы потом это все выводилось?

  2. vadim_host

    У меня назрел вопрос, я сколько читал — не понял как это исполнить в джумле, поставил компонент яндекс карт, где и как в компоненте прописать добавление маркеров с карты? В html — я почти ноль

  3. Дмитрий

    У меня выдает ошибку в окошке
    ошибка:[object Object]
    Как исправить??

  4. AlexAl

    ох автор. большое спасибо за инфу. буду пробовать. было бы большим даром если вы бы все же это объеденили в компонент. и что бы пользователи могли редактировать свои метки. Большое спасибо. буду следить за новостями

  5. AlexAl

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

  6. Андрей

    Люди подскажите «Зарегистрировался и получил ключ, создал Mysql базу с ней соединяется установлена прога wampserver но гогда запускаю http://имя компа/vivid_mappoint_xml.php у меня пишет не правельный ключ.» пробовал ваш ключь который описан в коде таже беда. Подскажите что делать?

  7. Андрей

    Мои файлы в каталого «config.php»»create_YMapsML.php»»outpoint2.php»»vivid_mappoint_xml.php» Этого достаточно чтобы запустить карту или еще нужно что-то?

  8. Андрей

    У меня такая же проблема как и у Дмитрия
    У меня выдает ошибку в окошке
    при загрузке vivid_mappoint_xml-2.php
    ошибка:[object Object]
    Как исправить??????????????????????????

    1. admin Автор записи

      Дело в том в каком редакторе вы исправляете файл vivid_mappoint_xml-2.php, когда сохраняете файл в формате utf-8 В некоторых редакторах добавляется символ длинного пробела chr(160), который не является валидным utf-символом, как и любые другие символы однобайтных кодировок, чей бинарный код начинается с 10. Можете попробовать использовать редактор Notepad++

  9. Андрей

    Если можно скиньте полный проект вашей разработки, плиззз!!!!

  10. Андрей

    Тотал Коммандер и блокнот ни каких редакторов не использую все по старинке

  11. Андрей

    Тоже самое в базу запомнил данные а их не выводит в файле vivid_mappoint_xml-2.php ссылаюсь на http://мой ip/project-kaliningrad.ru/domains/public_html/Admin/create_YMapsML-2.php и опять такая же беда использовал ваш архив с файлами

  12. Андрей

    Я использовал таблицу MySQL которая была описана ранее, может у тебя структура другая пришли ее.

    1. admin Автор записи

      А вы файл create_YMapsML-2.php с локального хоста вызываете? Дело в том, чтобы подгружать YMapsML он должен быть виден из интернета, т.к. он обрабатывается сервером Яндекса. Файл create_YMapsML-2.php как раз и формирует YMapsML-файл.

  13. Андрей

    Самое интересное что когда отрываешь http://isoo-kaliningrad.ru/Admin/create_YMapsML-2.php он показывает метки
    $[metaDataProperty.AnyMetaData.adress]
    ]]> Объекты карте 65432121.990813 54.320759 65454121.953048 54.354463 hkhk20.705413 54.753969 vgfnghn20.588684 54.798425 gfhfgh20.484313 54.813497 dfdfx20.541992 54.737286 gfjdtj20.476074 54.727749 cvbxgfbn20.706787 54.752381 b ncg20.628509 54.742053 tyjgtj20.466461 54.769852 аенракр20.626842 54.639597 dfgапр44.021369 56.309424 дшоэжлд44.021026 56.298927 РїСЂРѕРїСЂСЊ43.996306 56.304462 AndreyAndrey43.982917 56.304653 45енкер44.00592 56.294536

  14. Андрей

    Notice
    : Use of undefined constant cx — assumed ‘cx’ in


    /home/НАЗВАНИЕ/НАЗВАНИЕ САЙТА/docs/Admin/create_YMapsML-2.php

    on line
    54

    43.968841

    Notice
    : Use of undefined constant cy — assumed ‘cy’ in


    /home/НАЗВАНИЕ/НАЗВАНИЕ САЙТА/docs/Admin/create_YMapsML-2.php

    on line
    54

    56.312287

    Почему он так делает
    в creat

  15. Андрей

    Сделайте дампинг базы mysql может у меня там кроется проблема

  16. Андрей

    Люди я долго думал почему у меня выводит метки и пишет Ошибка: Object Obect
    Выданный проект с файлам create_YMapsML-2.php «Файлы проекта» перекодируйте в UTF-8 без BOM просто в UTF-8 не работает

  17. Николай

    Тоже столкнулся с
    Ошибка: Object Obect
    Оказалось в базе ланных была запись с плохим символом, типа карточного символа пики. Удалил символ и все заработало. Так что смотрите за кодировкой и символами

  18. Евгений

    Добрый день, хочу создать карту для своих пользователей, использую примеры, которые вы здесь выложили. С вашими примера карта вsходит нормально с Вашими метками, но без ошибок. Как только меняю в файле vivid_mappoint_xml-2.php строку var ml = new YMaps.YMapsML( ‘http://webmap-blog.ru/files/create_YMapsML-2.php’ ); на var ml = new YMaps.YMapsML( ‘http://konstantinov.pro/files/create_YMapsML-2.php’ ); сразу выходит Ошибка: Object Obect.
    Ничего понять не могу, почему она возникает, получается ошибка возникает когда он пытается вывести слои

  19. Евгений

    Послушался Андрея сделал файл create_YMapsML-2.php в UTF-8 без BOM. Ошибка пропала, но почему-то текст в базу данных передается кракозябрами.
    У меня cms не поддерживает utf, только windows-1251.
    При создании таблицы указываю кодировку в формате cp1251, как сделать так, чтобы при отправке данных в таблицу файл outpoint отправлял их в правильном формате?
    Когда метку добавляю, перехожу на файл outpoint он пишет ваша метка успешно создана, все по русски, но видимо в момент записи в таблицу все перекодируется и в конечном итоге все метки выглядят кракозябрами.
    Посмотрите пожалуйста здесь http://konstantinov.pro/karta.html

  20. Gizmo

    Для сайта, наверно всё таки, лучше когда файл в формате YMapsML записывается в файл, а не формируется при помощи оператора echo?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *