Клуб API Карт

Геокодирование и создание меток одновременно

drac0Sha
19 октября 2011, 15:54

Подскажите пожалуйста, как мне добавить к кодму геокодирования (привидённому ниже) код создания метки.

чтобы пользователь мог легко ввести адрес (геокодирование ему сразу отображает этот адрес)

и тут же мог нажать на кнопку отметить !

чтобы появилась метка )

 

[code]

  1. function initialize() {
  2.  var map, geoResult;
  3.  
  4.  
  5.  
  6.         // Создание обработчика для события window.onLoad
  7.  
  8.         YMaps.jQuery(function () {
  9.  
  10.             // Создание экземпляра карты и его привязка к созданному контейнеру
  11.  
  12.             map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
  13.  
  14.  
  15.  
  16.             // Установка для карты ее центра и масштаба
  17.  
  18.             map.setCenter(new YMaps.GeoPoint(37.6455.76)10);
  19.  
  20.  
  21.  
  22.             // Добавление элементов управления
  23.  
  24.             map.addControl(new YMaps.TypeControl());
  25.  
  26.         });
  27.  
  28.  
  29.  
  30.         // Функция для отображения результата геокодирования
  31.  
  32.         // Параметр value - адрес объекта для поиска
  33.  
  34.         function showAddress (value) {
  35.  
  36.             // Удаление предыдущего результата поиска
  37.  
  38.             map.removeOverlay(geoResult);
  39.  
  40.  
  41.  
  42.             // Запуск процесса геокодирования
  43.  
  44.             var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});
  45.  
  46.  
  47.  
  48.             // Создание обработчика для успешного завершения геокодирования
  49.  
  50.             YMaps.Events.observe(geocoder, geocoder.Events.Loadfunction () {
  51.  
  52.                 // Если объект был найден, то добавляем его на карту
  53.  
  54.                 // и центрируем карту по области обзора найденного объекта
  55.  
  56.                 if (this.length()) {
  57.  
  58.                     geoResult = this.get(0);
  59.  
  60.                     map.addOverlay(geoResult);
  61.  
  62.                     map.setBounds(geoResult.getBounds());
  63.  
  64.                 }else {
  65.  
  66.                     alert("Ничего не найдено")
  67.  
  68.                 }
  69.  
  70.             });
  71.  
  72.  
  73.  
  74.             // Процесс геокодирования завершен неудачно
  75.  
  76.             YMaps.Events.observe(geocoder, geocoder.Events.Faultfunction (geocoder, error) {
  77.  
  78.                 alert("Произошла ошибка: " + error);
  79.  
  80.             })
  81.  
  82.         }
  83.         }

 

[/code]

6 комментариев
Подписаться на комментарии к посту

map.addOverlay(geoResult);

как раз добавляет первый результат геокодирования (метку) на карту

к  сожалению, он не добавляет, если смотреть реализацию, он просто показывает это место на карте, а именно отметиться нет ! 

дайте ссылку на страницу

я не могу, так как это не страница, это приложение, могу полностью код страницы кинуть !

неужели ни у кого нет, варианта http://api.yandex.ru/maps/jsapi/examples/geocoding.html

только где рядом с кнопкой искать, ещё могла бы быть кнопка отметить !

и одновременно создавалась вечеринка ! )

ааа и я понял ) я неправильно выразился ) !

map.addOverlay(geoResult);

добавляет метку на карту ) это да )

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

была карта, где все люди создавали по событию....и они отображались на карте, и были видны всем

или хотя бы определенная метка, созданная пользователем, при заходе на неё, открывала именно то место