Определение местоположения по IP

Open in CodeSandbox

API позволяет получить информацию о предполагаемом местоположении пользователя по IP-адресу.

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

<!DOCTYPE html>

<html>
    <head>
        <title>
            Примеры. Определение местоположение пользователя по IP
        </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.0/?load=package.standard&amp;lang=ru-RU&amp;apikey=<ваш API-ключ>"
            type="text/javascript"
        ></script>

        <script src="geolocation_ip.js" type="text/javascript"></script>
    </head>

    <body>
        <div id="map" style="width:400px; height:300px"></div>
    </body>
</html>
ymaps.ready(init);

function init() {
    // Данные о местоположении, определённом по IP
    var geolocation = ymaps.geolocation,
        // координаты
        coords = [geolocation.latitude, geolocation.longitude],
        myMap = new ymaps.Map("map", {
            center: coords,
            zoom: 10,
        });

    myMap.geoObjects.add(
        new ymaps.Placemark(coords, {
            // В балуне: страна, город, регион.
            balloonContentHeader: geolocation.country,
            balloonContent: geolocation.city,
            balloonContentFooter: geolocation.region,
        })
    );
}