Создание меток на карте API 2GIS из функции AJAX

84
21 ноября 2020, 17:50

Есть два файла: gps_tracker.php

<?php
    $str= mysqli_connect('localhost', 'root', '', 'diplom');
    $select_gps_tracker=mysqli_query($str, "SELECT `lat`, `lon`, `data` FROM `gps_tracker` ORDER BY `id` DESC LIMIT 1;");
    if ($r1= mysqli_fetch_array($select_gps_tracker))
        {
            echo "<div class='myClass'>Широта: $r1[lat]</div>";
            echo "<div class='myClass'>Долгота: $r1[lon]</div>";
            echo "<div class='myClass'>Дата: $r1[data]</div>";
        }
?>

и index.php

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" type="text/css" href="style.css">
    <script src="https://maps.api.2gis.ru/2.0/loader.js?pkg=full"></script>
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.0.js"></script> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
</head>
<body>
    <div id="map">
        <script>
            DG.then(function() {
                DG.map('map', {
                    center: [40, 40],
                    zoom: 12
                });
            });
        </script>
    </div>
    <div id="contentgpstr">
    <p> Данные об местоположении </p>
    <script type="text/javascript">
        function show()
        {
            $.ajax({
                url: 'gps_tracker.php',
                cache: false,
                success: function(html){
                    $('#contentgpstr').html(html);
                }
            });
        }
        $(document).ready(function(){
            show();
            setInterval('show()',500);  
        });
    </script>
    </div>

Функция show в контейнере contentgpstr получает широту, долготу и дату с БД и выводит на сайт в реалтайме. Я хочу сделать маркер на карте, который будет показывать текущее местоположение основываясь на данных, прилетающих с бд. Согласно документации, маркер создается следующим образом: "DG.marker([54.98, 82.89]).addTo(map);", где 54.98 - широта и 82.89 - долгота. Как я могу это сделать?