Свойства события. Координаты щелчка
Событие карты представляет собой объект класса MapEvent. Извлечение данных из этого объекта производится с помощью метода get.
В данном примере из объекта-события извлекаются координаты точки щелчка левой кнопки мыши.
index.html
event_properties.js
<!DOCTYPE html>
<html>
<head>
<title>Свойства события. Координаты щелчка</title>
<meta
http-equiv="Content-Type"
content="text/html; charset=utf-8"
/>
<!--
Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
-->
<script
src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey=<ваш API-ключ>"
type="text/javascript"
></script>
<script src="event_properties.js" type="text/javascript"></script>
<style>
html,
body,
#map {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div id="map"></div>
</body>
</html>
ymaps.ready(init);
var myMap;
function init() {
myMap = new ymaps.Map(
"map",
{
center: [57.5262, 38.3061], // Углич
zoom: 11,
},
{
balloonMaxWidth: 200,
searchControlProvider: "yandex#search",
}
);
// Обработка события, возникающего при щелчке
// левой кнопкой мыши в любой точке карты.
// При возникновении такого события откроем балун.
myMap.events.add("click", function (e) {
if (!myMap.balloon.isOpen()) {
var coords = e.get("coords");
myMap.balloon.open(coords, {
contentHeader: "Событие!",
contentBody:
"<p>Кто-то щелкнул по карте.</p>" +
"<p>Координаты щелчка: " +
[
coords[0].toPrecision(6),
coords[1].toPrecision(6),
].join(", ") +
"</p>",
contentFooter: "<sup>Щелкните еще раз</sup>",
});
} else {
myMap.balloon.close();
}
});
// Обработка события, возникающего при щелчке
// правой кнопки мыши в любой точке карты.
// При возникновении такого события покажем всплывающую подсказку
// в точке щелчка.
myMap.events.add("contextmenu", function (e) {
myMap.hint.open(e.get("coords"), "Кто-то щелкнул правой кнопкой");
});
// Скрываем хинт при открытии балуна.
myMap.events.add("balloonopen", function (e) {
myMap.hint.close();
});
}