Привет, дружисче! Нашел на форуме только тему про Google maps, а про карты Яндекса нет, поэтому решил создать отдельную. Думаю, будет интересна многим.
Для формы добавления доски объявлений и вида материала, хочу добавить яндекс карты. Есть вот такой скрипт:
Код
<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 () {
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');
});
}
</script>
<div id="map" style="width:600px;height:300px"></div>
Кое-что взял взял с форума юкоз, кое что доработал сам из описания 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');
});
$("#toggle").attr('value', 'Скрыть карту');
}
else {
bMap.destroy();
bMap = null;
$("#toggle").attr('value', 'Показать карту снова');
}
}
});
}
</script>
<input type="button" value="Показать на карте" id="toggle"><br>
<div id="map" style="width:600px;height:300px"></div>
Есть ещё в Песочнице пример.