- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Гуглил, но мой вариант так и не смог найти. Мне нужна не просто одиночная карта для страницы "контакты", а совсем другое.
Задача: установить на html сайт Яндекс карты. На сайте есть справочный раздел с примерно 100 страницами разных адресов - нужно чтобы автоматом каждый адрес был отображен на карте. Соответственно, на каждой странице должен быть только один адрес на карте.
Прошу подсказать, если существует такой вариант.
Нашел что-то такого плана, но не совсем понимаю это оно или нет :)
https://github.com/just-boris/angular-ymaps
Например так https://tech.yandex.ru/maps/jsbox/2.1/direct_geocode
вам можно сделать это и без сторонних модулей, если на странице есть адрес, то его можно подставить и посредством геокодирования вывести карту:
подключить api карт и код:
<script type="text/javascript">
YMaps.jQuery(function ()
{
var container = YMaps.jQuery("#YMapsID"),
map = new YMaps.Map(container[0]);
var point = new YMaps.GeoPoint(37.609218,55.753559); // Координаты центра Москвы
map.setCenter(point);
map.addControl(new YMaps.TypeControl());
map.addControl(new YMaps.ToolBar());
map.addControl(new YMaps.Zoom());
map.addControl(new YMaps.ScaleLine());
map.enableScrollZoom();
var s = new YMaps.Style();
s.balloonContentStyle = new YMaps.BalloonContentStyle(
new YMaps.Template('<div style=\"margin-bottom: 10px;\"><b>$[name]</b></div><div><b>Адрес:</b> $[description]</div><div><b>Телефоны:</b> $[phone]</div>')
);
var geocoder = new YMaps.Geocoder("<?php print $node->field_adres; ?>");
YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) {
if (geocoder.length()) {
var result = geocoder.get(0)
map.setBounds(result.getBounds());
pm = new YMaps.Placemark(result.getGeoPoint(), {style: s})
pm.name = "<?php print $title;?>";
pm.description = "<?php print $node->field_adres; ?>";
pm.phone = "<?php print $node->field_phone; ?>";
pm.setIconContent('<?php print $title ?>');
map.addOverlay(pm);
}
map.setZoom(10);
});
});
</script>
<div style="margin: 10px 0 15px 8px;"><div id="YMapsID" style="width:99%;height:400px;"></div></div>
Переменные адрес $node->field_adres, телефон $node->field_phone, заголовок $title взять из шаблона вашей cms или убрать все кроме адреса.
key= ваш ключ, лень искать код на api 2.0 который используется без ключа.
vandamme, Спасибо за попытку помочь :) Не подскажете какой пункт выбирать в моем случае или где получить нужный ключ, а то полученный ранее не работает? https://tech.yandex.ru/maps/
Sergh545, только что прочитал https://tech.yandex.ru/maps/doc/jsapi/1.x/dg/tasks/quick-start-docpage/
vandamme, то есть, у меня ничего не получится?)
Sergh545, держите пример работы на api2:
http://webmap-blog.ru/examples/ymap-api-v2/ymap_api2_pr2-1.html
код страницы думаю сможете просмотреть - там три с половиной строки)
Для определения центра по адресу смотрите API Яндекс.Карт Геокодер:
https://tech.yandex.ru/maps/geocoder/
"В бесплатной версии API Карт можно делать не более 25 000 запросов к геокодеру в сутки. Чтобы сократить число обращений, одинаковые ответы геокодера можно кешировать. Заодно это снизит нагрузку на ваш сайт или сервис."
25 000 запросов в сутки думаю на первое время хватит, а далее можно кешировать или в базу записывать)
Sergh545, это значит будет работать без ключа.
vandamme, не работает и с ключом, и без него
---------- Добавлено 27.01.2016 в 00:20 ----------
irisat, у меня много городов и Ваш вариант мне не подходит, к сожалению
у меня много городов и Ваш вариант мне не подходит, к сожалению
Так какая разница сколько городов - центр вы получаете по запросу (по адресу) через API:
https://tech.yandex.ru/maps/doc/geocoder/desc/examples/geocoder_examples-docpage/
Запрос "город Москва, Тверская улица, дом 18, корпус 1":
https : / / geocode-maps.yandex.ru/1.x/?geocode=город Москва, Тверская улица, дом 18, корпус 1
Попробуйте в запросе изменить город и улицу, даже в других странах определят города без прямого указания страны!
При формировании страницы отправляйте запрос в Геокодер по адресу, получайте центр и формируйте карту...
Геокодер по адресу, получайте центр и формируйте карту...
ты ему код напиши, потрать свое время.
это пипец, дал рабочий код, который работает 100%, в итоге
не работает