Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Google地图API不显示标记JavaScript_Php_Mysqli - Fatal编程技术网

Php Google地图API不显示标记JavaScript

Php Google地图API不显示标记JavaScript,php,mysqli,Php,Mysqli,我试图从我的数据库中抓取latlng单词,将它们显示在一个网页上,当用户搜索某个特定的内容时,该网页将动态更新,但它们根本没有出现 <?php include_once '../db/dbconnect.php'; $query = "SELECT * FROM property WHERE city='Sheffield' AND type='House'"; $result = $mysqli->query($sql); $num_rows =

我试图从我的数据库中抓取latlng单词,将它们显示在一个网页上,当用户搜索某个特定的内容时,该网页将动态更新,但它们根本没有出现

<?php
    include_once '../db/dbconnect.php';

    $query = "SELECT * FROM property WHERE city='Sheffield' AND type='House'";
    $result = $mysqli->query($sql);
    $num_rows = mysql_num_rows($result);
    if($num_rows > 0){
       for($i=0;$i<$num_rows;$i++){
            $row=mysql_fetch_row($result);
            $location[] = $row[3].','.$row[6].','.$row[7].','.($i+1);
      }
   }

?>


我在从数据库中获取数据时遇到问题,因为$location中似乎没有任何值。

我可以看到HTML代码结构中的问题,您已经启动了div标记,但它在javascript代码之后结束。因此,请启动div并结束该div,然后编写您的javascript代码,如下所述

<div id='map'></div>
<script type="text/javascript">
    var locations = <?php echo json_encode($location); ?>;

    var map;
    function initMap() {
     if(typeof locations !== "undefined")
     {
        map = new google.maps.Map(document.getElementById('map'), {
        center: {lat: 53.3811, lng: -1.4701},
        zoom: 13

        });
    var infowindow = new google.maps.InfoWindow();

    var marker, i;
    alert(locations.length);

    for (i = 0; i < locations.length; i++) { 
        loc_array = locations[i].split(",");

        marker = new google.maps.Marker({
            position: new google.maps.LatLng(loc_array[1], loc_array[2]),
            map: map
        });

        google.maps.event.addListener(marker, 'click', (function(marker, i) {
            return function() {
                infowindow.setContent(loc_array[0]);
                infowindow.open(map, marker);
                }
            })(marker, i));
        } 
      }
    }
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCtf7Q1QeO9cQfwsBo7FQ-g3en_zJbk8Iw&callback=initMap" async defer></script>

var位置=;
var映射;
函数initMap(){
如果(位置类型!=“未定义”)
{
map=new google.maps.map(document.getElementById('map'){
中心:{lat:53.3811,lng:-1.4701},
缩放:13
});
var infowindow=new google.maps.infowindow();
var标记,i;
警报(位置、长度);
对于(i=0;i
我不确定这是否行得通

您的php代码应该是

<?php
include_once '../db/dbconnect.php';
$query = "SELECT * FROM property WHERE city='Sheffield' AND type='House'";
$result = mysql_query($sql);
$location=array();

if(mysql_num_rows($result)> 0){
while($row=mysql_fetch_assoc($result)){
   $location[] = array($row['lat'],$row['lng']);
}}
?>

请提供一个示例来演示这个问题,包括PHP到浏览器的输出;在浏览器中使用时,转换为var locations=null;谢谢你指出这一点!我最初是这样设置的,但在我沮丧的时候开始移动东西。然后从与此代码相关的浏览器(而不是从inspect元素)提供源代码。sheffield.php:105 Uncaught TypeError:Cannot read属性'length'为null,这是什么意思?抱歉,我不熟悉堆栈Overflowvar位置=;在该行之后输入警报(位置类型);让我知道什么是警报?我认为您得到未定义或null,请通过print\r($location)检查php变量$location;模具();