Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   карта метро с яндекса (https://javascript.ru/forum/misc/41347-karta-metro-s-yandeksa.html)

him 09.09.2013 19:33

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

Яростный Меч 09.09.2013 20:04

him,

похоже, какого-то API нет..
придется рисовать самостоятельно. на странице с метром есть объект metroData, можешь его взять, там все линии и станции.
ну и фоновая картинка - http://yandex.st//metro-data/maps/moscow.gif?1.0.52
в общем, нетрудно сделать

him 10.09.2013 21:35

Странно только нашел http://javascript.ru/forum/dom-windo...k-z-index.html но код не своим рабочий у меня точка стоит на станции медведково на яндексе описание тоже не нашел, Записался в клуб разработчиков, ну что то как задать вопрос не нашел. Складывается впечатление что Яндекс не хочет делиться своими секретами :)

him 10.09.2013 23:45

Интересно..... Если пойти от обратно.....
Можно как то получить координаты клика, для последующей обработки?

tsigel 11.09.2013 14:37

В чем проблема реализовать карту самостоятельно?
Качаете карту с интернета, какую вам нравится. С помощью CSS расставляете дивы размером со станцию на карте над каждой станцией. И слушаете клик по этому диву.

tsigel 11.09.2013 14:46

<img src="http://www.karta-metro.ru/images/moscowMetroMap.gif">
<div class='station' onclick='alert(this.getAttribute("name"))' style='cursor: pointer; position: absolute; width: 10px; height: 10px;top: 360px; right: 404px;' name='Авиамоторная'></div>


Для примера кликните по станции Авиамоторной.

him 11.09.2013 17:58

<html !DOCTYPE html>
 <head>
  <title></title>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
 </head>
<body>

<img src="http://www.karta-metro.ru/images/moscowMetroMap.gif">
<div class='station' onclick='alert(this.getAttribute("name"))' style='cursor: pointer; position: absolute; width: 10px; height: 10px;top: 360px; right: 404px;' name='Авиамоторная'></div>

</body>
</html>


не работает! :(

Яростный Меч 11.09.2013 18:00

работает, только координаты неправильные - квадратик, по которому можно кликнуть, оказался между Таганской и Римской :)

tsigel 11.09.2013 18:53

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

рони 11.09.2013 21:49

Цитата:

Сообщение от tsigel
На данном сайте представлена замечательная статья о консоли хрома.

где ссылка?

tsigel 11.09.2013 22:16

Цитата:

Сообщение от рони
где ссылка?

рони,
Вот

him 12.09.2013 09:43

ух да что то есть! за координаты отвечают параметры top: 360px; right: 404px; ?
открыл в фотошопе карту подвел курсор к месту клика 360 на 460 он показывает координаты. что то не стыковочка я так понимаю... разница в 55 пикселей??
от куда они вылезают??? или тут не какой логики просто метод научного тыка?

tsigel 12.09.2013 10:40

Ммм.. top: 360px - означает 360 пикселей от ближайшего родительского блока с position relative или верхнего края экрана (гуглите position css).
Положение элемента можно отследить либо через консоль браузера (если это хром, то там есть вкладка "Elements". Если вы в коде верстки в консоли наведёте на этот див - браузер его подсветит), или на время отладки залейте его цветом и сможете видеть где он находится.

him 07.10.2013 22:18

залил, подвигал ширину браузера. координаты берутся не от края картинку, а от края браузера.
как это можно поправить?

и еще, как Вы думаете есть смысл смотреть в сторону jQuery


Часовой пояс GMT +3, время: 09:13.