2017-08-31 56 views
1

我有一个谷歌地图,我想在我的数据库中添加一个新的标记与它的经度和纬度,但它不工作,我发现了一些错误 “未捕获的语法错误:缺少)参数列表后“回应告诉我。感谢您的帮助。我想用地图标记从数据库

<!DOCTYPE html> 
<html> 
    <head> 
    <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> 

    <style> 
     #map { 
     height: 400px; 
     width: 100%; 
     } 
    </style> 
    </head> 
    <body> 
    <h3>My Google Maps Demo</h3> 
    <div id="map"></div> 
    <script> 
     function initMap() { 
      var mapOptions = { 
       center: {lat: 13.847860, lng: 100.604274}, 
       zoom: 10, 
      } 
      var map = new google.maps.Map(document.getElementById('map'),mapOptions); 
      var marker, info; 
      $.getJSON("jsondata.php", funtion(jsonObj){ 
       $.each(jsonObj, function(i, item){ 
        marker = new google.maps.Marker({ 
         position: new google.maps.LatLng(item.lat, item.lng), 
         map: maps, 
        }); 
        info = new google.maps.Infowindow(); 
        google.maps.event.addListener(marker, 'click', (function(marker, i){ 
         return function() { 
          info.setContent(item.name); 
          info.open(maps, marker); 
         } 
        })(marker, i)); 
       }); 
      });  
     } 
    </script> 
    <script async defer 
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA6oLvZzDHD-qxeX3g17_uHQMWXFXCxU30&callback=initMap"> 

    </script> 
    </body> 
</html> 

和我的连接文件

<?php 
header('Content-Type: application/json'); 
$objConnect = mysqli_connect("localhost","root","root","username-databasename"); 
$strSQL = "SELECT * FROM markers "; 
$objQuery = mysqli_query($objConnect,$strSQL); 
$resultArry = arry(); 
while($obResult = mysql_fetch_assoc($objQuery)) 
{ 
    array_push($resultArray,$obResult); 
} 
echo json_encode($resultArray); 
?> 

https://i.stack.imgur.com/CLvCe.png

+1

请使用mysqli或pdo进行数据库相关任务;进一步你有一个错误的PHP文件在$ resultArry = arry();你是否将json响应输出到控制台 - 可能输出结果不符合预期。 – Roman

回答

1

第24行错误应该是这样的:

$.getJSON("jsondata.php", funtion(jsonObj)){ 
+0

也检查'funtion'的拼写;) – phuzi

1

解决方案:

<!DOCTYPE html> 
<html> 
    <head> 
    <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> 

    <style> 
     #map { 
     height: 400px; 
     width: 100%; 
     } 
    </style> 
    </head> 
    <body> 
    <h3>My Google Maps Demo</h3> 
    <div id="map"></div> 
    <script> 
     function initMap() { 
      var mapOptions = { 
       center: {lat: 13.847860, lng: 100.604274}, 
       zoom: 10, 
      } 
      var map = new google.maps.Map(document.getElementById('map'),mapOptions); 
      var marker, info; 

      $.getJSON("jsondata.php", function(jsonObj) { 
       $.each(jsonObj, function(i, item){ 
        marker = new google.maps.Marker({ 
         position: new google.maps.LatLng(item.lat, item.lng), 
         map: maps, 
        }); 
        info = new google.maps.Infowindow(); 
        google.maps.event.addListener(marker, 'click', (function(marker, i){ 
         return function() { 
          info.setContent(item.name); 
          info.open(maps, marker); 
         } 
        })(marker, i)); 
       }); 
      }); 

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

    </script> 
    </body> 
</html> 
相关问题