Привет, дружисче! Нашел на форуме только тему про Google maps, а про карты Яндекса нет, поэтому решил создать отдельную. Думаю, будет интересна многим. Для формы добавления доски объявлений и вида материала, хочу добавить яндекс карты. Есть вот такой скрипт:
Кое-что взял взял с форума юкоз, кое что доработал сам из описания API. Хоть и работает как надо, но посмотри, пожалуйста, может где ошибся. Сейчас не получается у меня сделать Создание карты по требованию. Пытался сделать сам, но похоже что попало делаю:
Код
<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script> <script type="text/javascript"> ymaps.ready(init); function init () {
var bMap; $('#toggle').bind({ click: function () { if (!bMap) {
ymaps.geocode('Барнаул', {results: 1}).then(function (res) { var aMap = res.geoObjects.get(0); var bMap = new ymaps.Map('map', { center: aMap.geometry.getCoordinates(), zoom: 15, controls: ['smallMapDefaultSet'], type: 'yandex#hybrid' }); bMap.geoObjects.add(res.geoObjects); bMap.controls.remove('geolocationControl').remove('searchControl'); });
Или может завернуть карту в системный спойлер? Просто с их API мне кажется карта именно подгружается, а не просто скрывается. А с SuggestView у меня вообще беда. Вроде получается добавить, но почему-то подсказка выводится не под input, а в верхней части страницы слева. Не получается задать ей родителем input. Уже подумываю сделать все проще, но менее функционально.
Короче, решил проблему с SuggestView. Почему-то оно убегало если input отображался в таблицах с определенными стилями, не понял до конца какими. Но помогло если взять его в блок div и добавить CSS position:relative.
Посему, выкладываю пример, как добавить подсказку с географическими данными для дополнительного поля в модуле "Доска объявлений" на uCoz. На странице добавления материалов, между тегами <head> и </head>, вставляем следующее:
Код
<script src="http://api-maps.yandex.ru/2.1/?lang=ru_RU&load=SuggestView" type="text/javascript"></script> <script type='text/javascript'> window.onload=function(){ ymaps.load(function () { var suggestView = new ymaps.SuggestView('bdF13'); }); } </script>
Где bdF13 - это id "Дополнительного поля 1", к которому мы прикрепляем подсказку, его можно узнать из исходного кода страницы. Если подсказка как у меня выводится не под полем или вообще не выводится, попробуйте добавить туда же следующее: