<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
//Клик по div после которого должен открыться балун и отцентрироваться позиция
$('.contacts-map-link').click(function()
{
var geo_adres = $(this).attr('attr-geo');
var myMap = init(geo_adres, 1);
FirstMetka(geo_adres, myMap);
});
function init(geo_adres, my_map = false)
{
myMap = new ymaps.Map('map_append_yandex',
{
center: [55.753994, 37.622093],
zoom: 16
});
myCollection = new ymaps.GeoObjectCollection();
if(my_map)
{
return myMap;
}
else
{
ymaps.geocode(geo_adres,
{
results: 1
}).
then(function (res, geo_code)
{
var firstGeoObject = res.geoObjects.get(0),
coords = firstGeoObject.geometry.getCoordinates(),
bounds = firstGeoObject.properties.get('boundedBy');
firstGeoObject.options.set('preset', 'islands#darkBlueDotIconWithCaption');
firstGeoObject.properties.set('iconCaption', firstGeoObject.getAddressLine());
myMap.geoObjects.add(firstGeoObject);
myMap.setBounds(bounds,
{
checkZoomRange: true
});
});
}
}
function FirstMetka(geo_adres, myMap)
{
myMap.firstGeoObject.balloon.open();
}
</script>
<div attr-geo="г. Тула, ул. Сойфера, д. 6" class="contacts-map-link" rel="nofollow"> Перейти на сойфера </div>
Возвращенный "myMap" почему-то не является экземпляром пространства ymaps.Map. Подскажите как решить проблему. В перспективе у меня будет ObjectCollection() Т.е несколько гео-объектов
https://jsfiddle.net/nqsxbf1o/ - рабочий пример
ymaps.ready(function () {
//Клик по div после которого должен открыться балун и отцентрироваться позиция
$('.contacts-map-link').click(function() {
var geo_adres = $(this).attr('attr-geo');
var myMap = createMap();
getGeocodeReq(myMap, geo_adres).then(function () {
createFirstMetka(myMap, geo_adres);
});
});
});
function getGeocodeReq(myMap, geo_adres) {
return ymaps.geocode(geo_adres, {
results: 1
}).then(function (res, geo_code) {
var firstGeoObject = res.geoObjects.get(0),
coords = firstGeoObject.geometry.getCoordinates(),
bounds = firstGeoObject.properties.get('boundedBy');
firstGeoObject.options.set('preset', 'islands#darkBlueDotIconWithCaption');
firstGeoObject.properties.set('iconCaption', firstGeoObject.getAddressLine());
myMap.geoObjects.add(firstGeoObject);
myMap.setBounds(bounds, {
checkZoomRange: true
});
});
}
function createMap() {
return new ymaps.Map('map_append_yandex', {
center: [55.753994, 37.622093],
zoom: 16
});
}
function createFirstMetka(myMap, geo_adres)
{
myMap.geoObjects.get(0).balloon.open();
}
Не совсем понял, что и в какой последовательности должно происходить. Если имелось ввиду другое, пишите.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь сделать через Яндекс API, чтобы по введенному адересу определяло координаты пользователя, а после проверяло, входят ли эти координаты...
Вообщем, сделал меню для сайта, обычное выдвигающееся меню (сверху на кнопку нажать и появится), но вот незадача: между контентом сайта и самом...
Скажите как я могу отобразить модальное окно /login над предыдущим роутом(например /home)