Qwest-fx
Профессор
- Регистрация
- 3 Апр 2007
- Сообщения
- 134
- Реакции
- 41
- Автор темы
- #1
Приветствую, появилась задача, вывести несколько меток на карте Яндекса, но проблема в том что нет координат, их нужно получать с помощью
Под спойлером, пример, чтобы ничего не искать.
Точек несколько, соответственно, нужно нужно несколько раз запрашивать координаты, предварительно сохранив результаты например в массив.
Проблема в том, что если запустить по циклу код описанный выше, то результаты не видны их родительского класса. Т.е. по идеи в firstGeoObject должен быть массив, но в результате
Если кто-то найдет рабочий пример с поиском и наложением координат на карту, буду очень благодарен. Документацию смотрел, результата нет.
HTML:
ymaps.geocode('Москва').then(function (res) {
// первый геообъект в коллекции результатов
firstGeoObject = res.geoObjects.get(0).geometry.getCoordinates();
});
console.log(firstGeoObject); // Uncaught ReferenceError: firstGeoObject is not defined
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Быстрый старт. Размещение интерактивной карты на странице</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script src="http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU"
type="text/javascript"></script>
<script src="http://yandex.st/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
ymaps.ready(init);
var myMap,
myPlacemark;
function init() {
// myMap = new ymaps.Map ("map", {
// center: [55.76, 37.64],
// zoom: 7
// });
//
// myPlacemark = new ymaps.Placemark([55.76, 37.64], {
// content: 'Москва!',
// balloonContent: 'Столица России'
// });
//
// myMap.geoObjects.add(myPlacemark);
ymaps.geocode('Москва').then(function (res) {
// первый геообъект в коллекции результатов
var firstGeoObject = res.geoObjects.get(0).geometry.getCoordinates();
// console.log(firstGeoObject);
// // все данные геообъекта
// console.log(firstGeoObject.properties.getAll());
// // Область видимости геообъекта
// console.log(firstGeoObject.properties.get('boundedBy'));
// // Данные об адресе геообъекта
// console.log(firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.AddressDetails'));
// // Точность поиска
// console.log('precision', firstGeoObject.properties.get('metaDataProperty.GeocoderMetaData.precision'));
// // Поля геообъекта
// console.log(firstGeoObject.properties.get('text'));
// console.log(firstGeoObject.properties.get('name'));
// console.log(firstGeoObject.properties.get('description'));
});
console.log(firstGeoObject);
}
console.log(firstGeoObject);
</script>
</head>
<body>
<div id="map" style="width: 600px; height: 400px"></div>
</body>
</html>
Точек несколько, соответственно, нужно нужно несколько раз запрашивать координаты, предварительно сохранив результаты например в массив.
Проблема в том, что если запустить по циклу код описанный выше, то результаты не видны их родительского класса. Т.е. по идеи в firstGeoObject должен быть массив, но в результате
Uncaught ReferenceError: firstGeoObject is not defined
Если кто-то найдет рабочий пример с поиском и наложением координат на карту, буду очень благодарен. Документацию смотрел, результата нет.