Перейти к содержимому


Открыть адрес в Яндекс карте


Сообщений в теме: 26

#1 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 327 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 25 Февраль 2011 - 18:30

Элементарное, но довольно полезное дополнение.
При выборе контрагента справа в столбце выводится кнопка "Показать на карте". При нажатии в отдельном окне открывается карта Яндекс (возможно, наверное, и Google подключить) с фирмой и расположением ее на карте.
Выполнено через "Дополнительные действия" таблицы "Контрагенты".
Прикрепленный файл  Show_map.jpg   59,5К   97 Количество загрузок:
Код следующий:
$data=data_table("Контрагенты","id={ID}");
if ($data['Фактический адрес']) {$address=urlencode($data['Фактический адрес']);}
else {$address=urlencode($data['Юридический адрес']);}
$firm=urlencode($data['Полное название']);
echo "<iframe width='800px' height='600px' src='http://maps.yandex.ru/?text=" . $firm . "&where=" . $address. "&results=20&z=17&l=map'></iframe>";
В таблице Контрагенты (в моем случае) два адресных поля: Юридический адрес и Фактический. Второй для отображения имеет большее значение. Если не заполнен - берем из "Юридического".
Просто и удобно.

Творческая группа "ТАВР".

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 635 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 28 Февраль 2011 - 09:41

Спасибо, действительно актуальная вещь.

#3 SysLink

    Активный участник

  • Пользователи
  • PipPipPip
  • 54 сообщений
  • Пол:Мужчина
  • Город:г.Москва

Отправлено 27 Апрель 2011 - 22:47

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

Прикрепленный файл  crm_karta.jpg   80,01К   72 Количество загрузок:

кстати, было бы интересно, прикрутить в CRM возможность работы с картами... очень нужная штука для компаний, у которых есть собственная курьерская служба :)
Основатель и экс-директор интернет-магазина с оборотом более миллиарда рублей. Автор книги "Успешный интернет-магазин с нуля". Автор персонального блога, пишу об электронной коммерции и бизнесе в целом. Бизнес-практик и наставник. Куратор и идейный вдохновитель ряда корпоративных веб-разработок. Да и просто хороший позитивный человек! ;)

#4 sistema_105

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 13 Октябрь 2011 - 22:51

:)
Странно код установил, карта открывается но - центр Москвы, а не тот адрес который указан, в программе.

#5 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 327 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 13 Октябрь 2011 - 23:37

Просмотр сообщенияsistema_105 (13.10.2011, 22:51) писал:

:)
Странно код установил, карта открывается но - центр Москвы, а не тот адрес который указан, в программе.
По умолчанию в Яндекс поиск установлен по региону Москва. Изменить его можно в настройках.
Могу предположить следующее: в адресе не указан населенный пункт и второе не установлен правильно регион поиска.

Творческая группа "ТАВР".

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.


#6 sistema_105

    Новичок

  • Пользователи
  • Pip
  • 9 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 14 Октябрь 2011 - 22:02

Просмотр сообщенияandibrag (13.10.2011, 23:37) писал:

По умолчанию в Яндекс поиск установлен по региону Москва. Изменить его можно в настройках.
Могу предположить следующее: в адресе не указан населенный пункт и второе не установлен правильно регион поиска.

Я вставляю указанный в программе Кб адрес в Яндекс карты и карты показывают адрес ... получается что адрес мы указываем корректно а вот ваш код написан неправильно... или снова скажете что то не так мы делаем :angry:

#7 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 327 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 14 Октябрь 2011 - 22:13

Просмотр сообщенияsistema_105 (14.10.2011, 22:02) писал:

Я вставляю указанный в программе Кб адрес в Яндекс карты и карты показывают адрес ... получается что адрес мы указываем корректно а вот ваш код написан неправильно... или снова скажете что то не так мы делаем :angry:
Название полей в Вашей базе соответствует полям прописанным в коде?

Творческая группа "ТАВР".

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.


#8 smart

    Активный участник

  • Пользователи
  • PipPipPip
  • 296 сообщений
  • Пол:Мужчина
  • Интересы:v1980.9@gmail.com

Отправлено 15 Декабрь 2011 - 23:46

а можно выложить пример печатной формы? какой там код примерно должен быть?

#9 Querco

    Новичок

  • Пользователи
  • Pip
  • 6 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 19 Январь 2012 - 12:29

Господа в версии 1.9.5 как это решение работает ? У меня что то ничего не показывает ..
DA Querco

#10 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 327 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 19 Январь 2012 - 16:14

работает, код не менял

Творческая группа "ТАВР".

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.


#11 WhiteRussian

    Участник

  • Пользователи
  • PipPip
  • 11 сообщений

Отправлено 05 Май 2012 - 11:58

Просмотр сообщенияSysLink (27 Апрель 2011 - 22:47) писал:

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

Прикрепленный файл crm_karta.jpg

кстати, было бы интересно, прикрутить в CRM возможность работы с картами... очень нужная штука для компаний, у которых есть собственная курьерская служба :)

Подскажите, пожалуйста, как реализован показ карты через печатную форму? Если можно - пример кода. Заранее благодарю.

#12 SysLink

    Активный участник

  • Пользователи
  • PipPipPip
  • 54 сообщений
  • Пол:Мужчина
  • Город:г.Москва

Отправлено 13 Май 2012 - 16:33

Просмотр сообщенияWhiteRussian (05 Май 2012 - 11:58) писал:

Подскажите, пожалуйста, как реализован показ карты через печатную форму? Если можно - пример кода. Заранее благодарю.
Да, в общем то относительно не сложно. Через API яндекс карт.

Код в заголовок шаблона.
Вмето #### нужно поставить ключ от API яндекс карт
Вместо георрафических координат "@@@@, @@@@" нужно поставить свою точку ближайшую (широту и долготу), если регион не Москва.
Найти свои координаты можно тут
{literal}
<script src="http://api-maps.yandex.ru/1.1/index.xml?key=####" type="text/javascript"></script>
  <script type="text/javascript">
	  var map, geoResult;

	  window.onload = function () {
		  map = new YMaps.Map(document.getElementById("YMapsID"));
		  map.setCenter(new YMaps.GeoPoint(@@@@, @@@@), 10);
		  map.addControl(new YMaps.TypeControl());
		
		  map.addControl(new YMaps.ToolBar());
		  map.addControl(new YMaps.Zoom());
		  map.addControl(new YMaps.MiniMap());
		  map.addControl(new YMaps.ScaleLine());
		  <!--map.addControl(new YMaps.SearchControl());-->
		  showAddress(document.getElementById("address").value);
	  }

	  function showAddress (value) {
		  map.removeOverlay(geoResult);
		  var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()});

		  YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
			  if (this.length()) {
				  geoResult = this.get(0);
				  map.addOverlay(geoResult);
				  map.setBounds(geoResult.getBounds());
			  }else {
				  alert("Ничего не найдено")
			  }
		  });
	  }
  </script>
{/literal}

Это в тело печатной формы, в нужное место.
Вместо {$Gorod} и {$Adres} подставить свои переменные города и адреса. Если города нет, можно не указывать, оставить только адрес.
<form action="#" onsubmit="showAddress(this.address.value);return false;">
<div>
  <input id="address" style="width:620;height:23" type="text" value="{$Gorod}&nbsp;{$Adres}" /> <input type="submit" value="Искать" /></div>
<br />
<div id="YMapsID" style="width:700px;height:550px"></div>
</form>

Это код той формы, которую я тогда приводил. Сейчас мы по другому уже заморочились, там много всяких условий в коде (под нас четко заточено), не буду его приводить.
Кстати, у яндекс карт, вышел обновленный API под номером 2.0. Они пишут, что ключ уже получать не надо под домен. Как сделать без ключа, пока не знаю - еще даже не читал по новой версии инфу.
Основатель и экс-директор интернет-магазина с оборотом более миллиарда рублей. Автор книги "Успешный интернет-магазин с нуля". Автор персонального блога, пишу об электронной коммерции и бизнесе в целом. Бизнес-практик и наставник. Куратор и идейный вдохновитель ряда корпоративных веб-разработок. Да и просто хороший позитивный человек! ;)

#13 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 327 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 10 Сентябрь 2014 - 22:49

Вариант с отображением карты в начале темы более не работает. Использовал API Яндекс карт 2.1
Код ниже добавьте в форму.
Используйте свои название полей из таблицы.
Подробности о настройке меток и цветов.
Пример использования прямого геокодирования.

echo "
	<script src=\"//api-maps.yandex.ru/2.1/?lang=ru_RU\" type=\"text/javascript\"></script>
	<style type=\"text/css\">
		html, body, #map {
			width: 100%;
			height: 100%;
			margin: 0;
			padding: 0;
		}
	</style>

<script type=\"text/javascript\">
ymaps.ready(init);
function init() {
	var myMap = new ymaps.Map('map', {
		center: [0, 0],
		zoom: 9
	});
	// Поиск координат
	ymaps.geocode('" . $line['Адрес'] . "', {
		/**
		 * Опции запроса
		 * @see http://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/geocode.xml
		 */
		// boundedBy: myMap.getBounds(), // Сортировка результатов от центра окна карты
		// strictBounds: true, // Вместе с опцией boundedBy будет искать строго внутри области, указанной в boundedBy
		results: 1 // Если нужен только один результат, экономим трафик пользователей
	}).then(function (res) {
			// Выбираем первый результат геокодирования.
			var firstGeoObject = res.geoObjects.get(0),
				// Координаты геообъекта.
				coords = firstGeoObject.geometry.getCoordinates(),
				// Область видимости геообъекта.
				bounds = firstGeoObject.properties.get('boundedBy');
			// Добавляем первый найденный геообъект на карту.
			myMap.geoObjects.add(firstGeoObject);
			// Масштабируем карту на область видимости геообъекта.
			myMap.setBounds(bounds, {
				checkZoomRange: true // проверяем наличие тайлов на данном масштабе.
			});
			/**
			 * Если нужно добавить по найденным геокодером координатам метку со своими стилями и контентом балуна, создаем новую метку по координатам найденной и добавляем ее на карту вместо найденной.
			 */
			 var myPlacemark = new ymaps.Placemark(coords, {
			 iconContent: '" . $line['Название'] . "',
			 balloonContent: '" . $line['Название'] . "<br/>" . $line['Телефон'] .
			 "<br/><a target=\'_blank\' href=\'mailto:" . $line['Email'] . "\'>" . $line['Email'] . "</a>" .
			 "<br/><a target=\'_blank\' href=\'http://" . $line['Сайт']. "\'>" . $line['Сайт'] . "</a>'
			 }, {
			 preset: 'islands#darkBlueStretchyIcon'
			 });
			 myMap.geoObjects.add(myPlacemark);
			
		});
}
</script>
<div id=\"map\"/>
";

Творческая группа "ТАВР".

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.


#14 slavagrom

    Участник

  • Пользователи
  • PipPip
  • 14 сообщений

Отправлено 16 Сентябрь 2014 - 10:47

Просмотр сообщенияandibrag (10 Сентябрь 2014 - 22:49) писал:



Подскажите пожалуйста почему когда в свойствах доп действия указываю "Отображать в всплывающем окне" при отображении таблицы в меню "Дополнительно" не появляется возможность выполнить это действие, а когда указываю "Отображать в текущем окне" оно (это дополнительное действие) в меню отражается?

#15 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 635 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 16 Сентябрь 2014 - 15:29

Потому что действия во всплывающих окнах доступны только в режиме просмотра записи.

#16 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 430 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 20 Сентябрь 2014 - 14:05

Что-то не работает алгоритм

#17 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 430 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 01 Ноябрь 2014 - 22:46

Пустое окно выводит

#18 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 327 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 03 Ноябрь 2014 - 01:14

Просмотр сообщенияАлександр Пономарев (01 Ноябрь 2014 - 22:46) писал:

Пустое окно выводит
У меня работает. Что выводит, какой-нибудь код присутствует на станице?

Творческая группа "ТАВР".

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.


#19 Александр Пономарев

    Активный участник

  • Пользователи
  • PipPipPip
  • 430 сообщений
  • Пол:Мужчина
  • Город:Таганрог

Отправлено 03 Ноябрь 2014 - 16:05

Вчера день убил целый. Оказалось, на хромиумных браузерах просто не работает! Перешел на лису и все заработало, хоть и не сразу.

#20 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 327 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 07 Ноябрь 2014 - 11:03

Просмотр сообщенияАлександр Пономарев (03 Ноябрь 2014 - 16:05) писал:

Вчера день убил целый. Оказалось, на хромиумных браузерах просто не работает! Перешел на лису и все заработало, хоть и не сразу.
У меня google chrome.

Творческая группа "ТАВР".

www.MEGATAVR.com Художественная ковка, витражи, мозаика, фрески.

www.iGal.pro Уникальный мангал.






Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных