Клуб API Карт

что то не работает...

a1212121.1
6 января 2014, 12:35

 


<!DOCTYPE html>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Примеры. Размещение карты на странице.</title>

    <script src="http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
    <script src="http://api-maps.yandex.ru/1.1/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ==&modules=metro" type="text/javascript"></script>
<script type="text/javascript">
var myMap;

// Дождёмся загрузки API и готовности DOM.
ymaps.ready(init);

function init () {

    myMap = new ymaps.Map('map', {
        // При инициализации карты обязательно нужно указать
        // её центр и коэффициент масштабирования.
        center:[55.625984, 37.619396], // Москва
        zoom:13
    });    
        
    // Поиск ближайших станций метро
    var metro = new YMaps.Metro.Closest(new YMaps.GeoPoint(55.625984, 37.619396), { results : 1 } )

    // Обработчик успешного завершения
    YMaps.Events.observe(metro, metro.Events.Load, function (metro) {
        if (metro.length()) {
            metro.setStyle("default#greenSmallPoint");
            myMap.addOverlay(metro);
        } else {
            alert("Поблизости не найдено станций метро");
        }
    });

    YMaps.Events.observe(metro, metro.Events.Fault, function (metro, error) {
        alert("При выполнении запроса произошла ошибка: " + error);
    });        
}

</script>
</head>

<body>
    <div id="map" style="width:400px; height:300px"></div>
    <input type="button" id="destroyButton" value="Удалить карту"/>
</body>

</html>

 

при запуске количество найденых станций - 0

в чем может быть причина?

 

глобальная задача которую приследую, по координатам получить статистику как тут:

http://maps.yandex.ru/?text=Россия, Москва, Варшавское шоссе, 125&sll=37.619396,55.625984&ll=37.619396,55.625984&spn=0.011737,0.003970&z=17&l=map

слева:

Ближайшее метро

Южная760 м
Пражская1,9 км

ну или пересчет в минутах пешком





Примеры. Размещение карты на странице.








 

13 комментариев
Подписаться на комментарии к посту

Чтобы у других участников клуба не рвало ленту новостей от 3-х экранов вашего "что то", его надо убирать под кат.

Сейчас я сделал это за вас

 

По существу — часть кода от одной версии АПИ, часть от другой. Так работать не будет

учту.

подскажите как сдлать правильно, так как разные вещи действительно брал из разных примеров. новичок, еще не все нюансы знаю.

расскажите про ваш проект.

для чего вам эта статистика?

проекта как такового нету. просто изучаю возможности.

текушая задача следующая.

в текстовом поле пишем: Москва Варшавское шоссе дом 125

получить три ближыйшие станции метро и растояние до них пешком.

 

этот результат видел в приведенном выше примере. хочу повторить.

на текущий момент мне с помощью api1.0 удалось получить координаты и поставить метку на объект.

следующая пока не решенная задача получить три ближайшие станции метро, я так понял что это делается с помощью api2.x которое не совместимо с первой версией.

изучение документации официальной пока результата не дало. примеров крайне мало, специализированных форумов, кроме этого, нету.

есть некие недопанимания в плане загрузки модулей, об обязательности этого действия упомянается в документации, в примерах этого нету. тоесть грузится получается автоматически.

так же сталкивался с интересным поведением кода при отладке, наверное это связано с моей не опытностью.

грызу гранит науки.. помогите чем сможите..

 

http://api.yandex.ru/maps/jsbox/reverse_geocode

 

странно... но этот код "все вмести" я скопировал в файл, назвал его 1.html и он не работает...

 

отладчик показывает что сначало исполняется

ymaps.ready(init);

нажимаю выход из функции

}

на фигурной скобке и все.

не работает на firefox 24.0 и хром Версия 31.0.1650.63 m

складывается такое впечатление что подцепляемая библиотека не грузится, хотя если в браузере вбить //api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU то что то открывается..

ага разобрался нехватало http:

сьрочка доджна выглядеть так:

http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU

появился вопрос по этому примеру:

мы указываем маштаб: zoom: 9,

но почемуто маштаб определяется параметром:

results: 1

и если в нем поставить значение один то на карте получим

"Для этого участнка месности нет данных"

это какой то баг?

Это не баг, просто надо проверять диапазон масштабов для данного участка

myMap.setBounds(res.geoObjects.getBounds(), {checkZoomRange: true});

 мне из res дано получить массив с координатами станций метро. какая должна быть логика моих дествий?

что то пока справка по объектам наследования дается трудно..

это надо, для нахождения расстояния до метро..

 

нашел из готовых примеров:

a = res.geoObjects.get(0).geometry.getCoordinates();

помогите понять логику поиска нужных функций.

http://api.yandex.ru/maps/doc/jsapi/2.x/ref/reference/GeoObject.xml

откуда здесь берется функция get ?

 я ее тут в справке не вижу..

 

поиск как то тоже не очень помогает

http://api.yandex.ru/search.xml?text=get()&project=maps

res.geoObjects это GeoObjectArray

В документации есть этот метод