2016-01-10 4 views
-2

У меня проблемы с картами, показывающими маркеры из базы данных MySql.GoogleMaps v3 - карта не хочет загружать маркеры из mysql db

Карта не отображается, но я вижу, что карта начинает инициализироваться. Он не показывает никаких маркеров.

Я использую ту же карту, показывая только один lat/long из mysql db. Он отлично работает без маркеров, но когда я петлю, чтобы помещать маркеры, просто не хочу показывать маркеры.

Я действительно не хочу усложнять работу с помощью xml-таблиц. Я также использовал аналогичный код в v2-картах, и все работало нормально. Это мой код:

<script src="https://maps.googleapis.com/maps/api/js?v=3.11&sensor=false" type="text/javascript"></script> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> 

<script type="text/javascript"> 

     $(document).ready(function(){ 
     (function(){ 

     var map = new google.maps.Map(document.getElementById('map_canvas'), options); 

PHP начинает

 while($apa = mysql_fetch_array($result)) 
     { 
      $lat_map = $apa["lat"]; 
      $lon_map = $apa["lon"]; 
      $adr_apa = $apa["adresa"]; 

PHP заканчивается

  var options = { 
       zoom: 12, 
       center: new google.maps.LatLng(<?php echo $lat_map; ?>, <?php echo $lon_map; ?>), 
       mapTypeId: google.maps.MapTypeId.HYBRID, 
       mapTypeControl: false 
      }; 

      var marker = new google.maps.Marker({ 
        position: new google.maps.LatLng(<?php echo $lat_map; ?>, <?php echo $lon_map; ?>), 
        map: map, 
        title: 'Click Me' 
       }); 

       google.maps.event.addListener(marker, 'click', function() { 
         infowindow = new google.maps.InfoWindow({ 
          content: '<p><?php echo $adr_apa; ?></p>' 
         }); 
         infowindow.open(map, marker); 
        }); 

    <?php } ?>  

     })(); 

     }); 

    </script> 


<?php 

echo ' 

<body> 

    <div id="map_canvas" style="width: 800px; height: 420px"></div> 

</body> 

+0

Как выглядит код, который видит браузер? Просьба представить [Минимальный, полный, проверенный и читаемый пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему. Мне кажется, что вы должны получать ошибку javascript 'options' не определена. – geocodezip

ответ

0

Поскольку вы объявляете маркер и параметры JavaScript переменные, как столько раз, сколько элементов у вас есть :) Речь идет не о картах Google, а о вашем JS не соответствует t, и браузер не интерпретирует его. Переместить декларацию переменной за пределами времени, пока

var marker, options; 

    <? php stuff ?>