Php Google地图API不显示标记JavaScript
我试图从我的数据库中抓取latlng单词,将它们显示在一个网页上,当用户搜索某个特定的内容时,该网页将动态更新,但它们根本没有出现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 =
<?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;模具();