Указание адреса через перемещение метки по Яндекс.карте

Тема в разделе "JavaScript", создана пользователем danneo, 26 дек 2013.

Модераторы: ZiX
  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.418
    Симпатии:
    109
    Видел на одном сайте процесс добавления адреса фирмы: указывается адрес. Если адрес не понятен, то пользователю предлагается вручную указать метку на карте. Для этого он захватывает метку выше карты, перемещает ее по карте. И так указывается нужный адрес.
    Не понятно, как происходит проверка адреса, как происходит перемещение метки.
    Есть какие-то готовые примеры подобной задачи, опыт?
     
    Prostobv нравится это.
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    При перемешении метки по карте она привязывается к gps координатам, потом через api maps.(yandex|google) получаем информацию о картографических данных этого объекта (улица, номер дома) http://api.yandex.ru/maps/jsbox/event_reverse_geocode
     
    antiterror нравится это.
  3. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.418
    Симпатии:
    109
    и как это использовать в php (этапы), как определить, что такой адрес найден и его название?

    Пытаюсь разобраться на локалке. Пробую сделать различные фигуры на карте, например, объект круг, ничего не выводит. Получается только простую метку (балун). Хотя копирую все с яндекса.
    Например, вот:http://api.yandex.ru/maps/jsbox/clusterer_create
    копирую весь код, вставляю к себе, выходит пустая страница...
    что за ерунда?
     
  4. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    90% на то, что открываешь страничку на html сохранённую на диск через браузер и браузер неверно понимает откуда загрузить js-скрипт карт или параноит по безопасности.
    Подробности можно в консоле отладки посмотреть (CTRL+shift+i для многих браузеров).
    Фикс: открывай страницу через локально установленный сервер.

    Использовать события - http://api.yandex.ru/maps/jsbox/event_properties
    Или добавить на страницу кнопку, при клике на которую js получит координаты/адресс объекта и передаст его в php скрипт на обработку.
     
    danneo нравится это.
  5. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.418
    Симпатии:
    109
    да там проблема была в том, что в песочнице указан путь до js файла неявно, без "http". Если добавить, то все работает.
    Только вот какая проблема... если подключать js файл тегами, которые даются на странице получения api-ключа, то все перестает работать. Если брать теги из песочницы, то все работает. Похоже, что там разные файлы и разные методы в них описаны?

    Вопрос все про то же...
    как построить процесс добавления пользователем? Например, пользователь ввел адрес в разные поля формы: "страна, область, город, улица, дом, строение, корпус, офис". Я должен отправить это на сервер через ajax в функцию. Она должна вернуть мне координаты, либо ошибку.
    Далее, если есть ошибка, то вывести карту с перемещаемой меткой для ручного указания адреса. От карт через ajax будет возврат координат.
    Правильно?
    Вопрос: как мне это дело перевести в адрес и разнести по полям формы?

    Не хочу создавать еще одну тему по картам...
    подскажите, пожалуйста, еще по такому вопросу:
    хочу вывести все метки на странице, где список (много записей), например, объекты недвижимости или фото...
    На этой странице необходимо подключить подключить js файл, создать карту, создать объект кластеризации. А далее нужно создать массив координат объектов. И добавить этот весь массив, как объект на карту через метод кластеризации.
    Вопрос:
    Как на php собрать этот массив объектов? Сделаю выборку. А далее, не могу сообразить, как из php массива передать в массив карты (js код). На каком этапе это делать, как через шаблонизатор? Делаю на DLE. И что лучше передавать в js файл карты, адреса объектов или их координаты?
     
  6. Prostobv

    Prostobv Создатель

    Регистр.:
    4 дек 2013
    Сообщения:
    20
    Симпатии:
    8
    по первому вопросу: так может пользователю сразу карту для выбора подсовывать чтобы он точку на карте ставил, а далее уже как в примере Яндекса просто разбивать адрес и разносить значения по полям
    Код:
    var addr = firstGeoObject.properties.get('text').split(',');
    $('#addr_country').value(addr[0]);
                    $('#addr_city').value(addr[1]);
                    $('#addr_street').value(addr[2]);
                    $('#addr_dom').value(addr[3]);
    
     
  7. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.418
    Симпатии:
    109
    ну вряд ли кто-то будет указывать адрес на карте снуля... не каждый найдет свой город, дом...
     
  8. Prostobv

    Prostobv Создатель

    Регистр.:
    4 дек 2013
    Сообщения:
    20
    Симпатии:
    8
    откопал тут давеча в блоге Яндекс API Карт http://ymapsapi.ya.ru/replies.xml?item_no=1631, ссылочку на сервис «КЛАДР в облаке»
    мне кажется, вам такое идеально подойдёт!
     
    danneo нравится это.
  9. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.418
    Симпатии:
    109
    насколько я понял, вряд ли... мне нужно искать по своей базе. Тем более у меня на сайте куча другой информации в зависимости от города.
     
  10. calipsio

    calipsio Писатель

    Регистр.:
    1 мар 2008
    Сообщения:
    8
    Симпатии:
    0