Информационное окно карты Google не зацикливается на базе данных php в проекте laravel - PullRequest
0 голосов
/ 05 марта 2020

В моем проекте Laravel я беру значения широт и долгот из базы данных Mysql и отображаю их в качестве маркера на картах Google, чтобы показать одно местоположение клини c, одно клини c может или не может есть несколько мест. Он работает отлично, но проблема в том, что clini c в каждом месте будет предлагать разные услуги.

Когда я нажимаю на каждый маркер местоположения I, я должен показать несколько названий услуг, которые каждый clini c предлагает как infowindow

Когда я утешаюсь, получаю вещи, как показано ниже

{servicename: "Service A", locid: 53, locname: "Ventura Systems Pvt Ltd"}
{servicename: "Service B", locid: 53, locname: "Ventura Systems Pvt Ltd"}

Но на моем маркере карты Google отображается только последнее название службы.

Ниже приведен код карты Google

<script>
var locations = <?php echo $locations ?>;
var services =<?php echo json_encode($services);?>;
console.log(services);

function initMap() {
    var locations = <?php echo $locations ?>;

    var j;
    for (j = 0; j < locations.length; j++) { 
    var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 8,
    center: {lat: parseFloat(locations[j]['locationLat']), lng:parseFloat(locations[j]['locationLong'])}
  });
    setMarkers(map);
  }
}
function setMarkers(map) {
var locations = <?php echo $locations ?>;
var services = <?php echo $services ?>;



for (var i = 0; i < locations.length; i++) {


   var marker = new google.maps.Marker({
                map: map,
                position: {lat: parseFloat(locations[i]['locationLat']), lng:parseFloat(locations[i]['locationLong'])},
                map: map,
                title: locations[i]['locationName']
               });
    var infowindow = new google.maps.InfoWindow()

    var content = '<p><b>#Client_Company#</b><br>'+
                        '#Client_Address#<br>'+
                        '#Client_City#,&nbsp; #Client_State# &nbsp; #Client_Zip#<br>'+
                        '<a href="member_detail.cfm?ID=#Client_ID#">View Details</a>';

    google.maps.event.addListener(marker,'click', (function(marker,content,infowindow){ 
    return function() {
        infowindow.setContent(content);
        infowindow.open(map,marker);
    };
})(marker, content,infowindow));  

  }

}
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=MY_API_KEY&callback=initMap">
 </script>

Можете ли вы помочь мне показать несколько названий услуг в каждом местоположении относительно их местоположения

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