Выборка долготы и широты из базы данных - PullRequest
0 голосов
/ 14 марта 2019

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

<script>

  function initMap() {

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 3,
      //mkoa wa dodoma location
      center: {lat: -6.1630, lng: 35.7516}
    });

    // Create an array of alphabetical characters used to label the markers.
    var labels = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';

    // Add some markers to the map.
    // Note: The code uses the JavaScript Array.prototype.map() method to
    // create an array of markers based on a given "locations" array.
    // The map() method here has nothing to do with the Google Maps API.
    var markers = locations.map(function(location, i) {
      return new google.maps.Marker({
        position: location,
        label: labels[i % labels.length]
      });
    });

    // Add a marker clusterer to manage the markers.
    var markerCluster = new MarkerClusterer(map, markers,
        {imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m'});
  }
   //kwajiri ya miji
  var locations = [
    {lat: -6.1730, lng: 35.7516},
    {lat: -6.2330, lng: 35.7523},
    {lat: -6.2330, lng: 35.7523},
    {lat: -6.2330, lng: 35.7523},
    {lat: -6.2330, lng: 35.7523},
    {lat: -6.1730, lng: 35.7516},
    {lat: -6.1730, lng: 35.7516},
    {lat: -7.773094,lng: 35.699120},
    {lat: -7.773094,lng: 35.699120},
    {lat: -7.773094,lng: 35.699120},
    {lat: -5.030461,lng: 32.819431},
    {lat: -5.030461,lng: 32.819431},
    {lat: -5.030461,lng: 32.819431},
    {lat: -5.030461,lng: 32.819431},
    {lat: -8.909401,lng: 33.460773},
    {lat: -8.909401,lng: 33.460773},
    {lat: -8.909401,lng: 33.460773},
    {lat: -6.802353,lng: 39.279556},
    {lat: -6.802353,lng: 39.279556},
    {lat: -6.802353,lng: 39.279556},
    {lat: -6.802100,lng: 39.279119},
    {lat: -6.1730, lng: 35.7516}
  ]
</script>

как видите, переменная находится в массиве

1 Ответ

0 голосов
/ 14 марта 2019

AJAX-вызов на стороне клиента может выглядеть примерно так:

$.ajax({
    type: "GET",
    url : "https://epicsite.com/getLocations.php",
    success : function (data) 
    {
        if(data.error) {
            console.log(data.error);
        } else {
            console.log(data);
            callFunctionToAddMarkersToMap(data);
        }
    }
});

Серверный скрипт может выглядеть примерно так:

<?php
    $con = mysqli_connect('localhost','user','pass','db');
    if (!$con) {
        die('Could not connect: ' . mysqli_error($con));
    }

    mysqli_select_db($con,"locations");
    $sql="SELECT * FROM locations";
    $result = mysqli_query($con,$sql);
    mysqli_close($con);

    return $result;
?>

Итак, сначала в вашем клиентском скрипте вы хотите вызвать тот AJAX-маршрут, который будет получать координаты маркера. Затем он вызовет функцию callFunctionToAddMarkersToMap(data) и вы передадите результат запроса в качестве параметра. Затем в функции вы просто зацикливаете данный результат запроса и добавляете маркеры на карту.

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