Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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 将mysql页面更改为mysqli,现在google maps initMap函数抛出错误?_Php_Javascript_Mysql_Google Maps - Fatal编程技术网

Php 将mysql页面更改为mysqli,现在google maps initMap函数抛出错误?

Php 将mysql页面更改为mysqli,现在google maps initMap函数抛出错误?,php,javascript,mysql,google-maps,Php,Javascript,Mysql,Google Maps,我将此页面更改为mysqli并切换了数据库。我只改变了连接和查询 如果删除查询,则地图显示时不带标记 如果添加查询,映射将消失,并告诉我initMap()未定义。var_转储显示查询工作正常 我做错了什么??这真的很奇怪 提前感谢您的帮助。我最初将代码改编自 var icon=new google.maps.MarkerImage(“http://maps.google.com/mapfiles/ms/micons/red.png", 新的google.maps.Size(32,32),新的go

我将此页面更改为mysqli并切换了数据库。我只改变了连接和查询

如果删除查询,则地图显示时不带标记

如果添加查询,映射将消失,并告诉我initMap()未定义。var_转储显示查询工作正常

我做错了什么??这真的很奇怪

提前感谢您的帮助。我最初将代码改编自

var icon=new google.maps.MarkerImage(“http://maps.google.com/mapfiles/ms/micons/red.png",
新的google.maps.Size(32,32),新的google.maps.Point(0,0),
新的google.maps.Point(16,32));
var中心=null;
var-map=null;
var-currentPopup;
var bounds=new google.maps.LatLngBounds();
功能添加标记(lat、lng、info){
var pt=新的google.maps.LatLng(lat,lng);
边界扩展(pt);
var marker=new google.maps.marker({
职位:pt,
图标:图标,
地图:地图
});
var popup=new google.maps.InfoWindow({
内容:“”+信息+“”,
最大宽度:300,
});
google.maps.event.addListener(标记“单击”,函数(){
如果(currentPopup!=null){
currentPopup.close();
currentPopup=null;
}
弹出。打开(地图、标记);
当前弹出=弹出;
});
google.maps.event.addListener(弹出窗口“closeclick”,函数(){
潘托地图(中);
currentPopup=null;
});
}
函数initMap(){
map=new google.maps.map(document.getElementById(“map”){
中心:新google.maps.LatLng(0,0),
缩放:14,
mapTypeId:google.maps.mapTypeId.HYBRID,
mapTypeControl:true,
mapTypeControlOptions:{
样式:google.maps.MapTypeControlStyle.HORIZONTAL\u栏
},
导航控制:对,
导航控制选项:{
样式:google.maps.NavigationControlStyle.DEFAULT
}
});

问题是,新数据库在lat/lng字段中有一个空默认值。我将其更改为没有默认值(顺便说一句,它是一个浮点值)。感谢您提供的有用意见


我们都知道,我自学成才,在编码知识上有很大的差距。如果有人想解释我的代码在哪里更好,为什么更好,老师,我会很感激你的智慧。

echo(“addMarker($lat,$lng,“”)。$name.


$addr2
$city,$state$zip
$country”);\n);让我困惑。为什么在一个项目上使用字符串连接?两个问题:为什么不检查查询的返回值?我猜它返回了一个错误,但你永远不会知道。为什么要从
位置
表中选择所有内容?第三个问题:你是否打开了数据库连接并初始化了
$dbc
se检查控制台以了解更多错误。如果不查看echo的输出,我们无法回答此问题。可能数据库中存储的值包含一些有问题的字符(换行符或单引号)。我对Google maps非常陌生,因此这就是字符串concat的原因。您有更好的建议吗?我乐于接受新想法。
 var icon = new google.maps.MarkerImage("http://maps.google.com/mapfiles/ms/micons/red.png",
 new google.maps.Size(32, 32), new google.maps.Point(0, 0),
 new google.maps.Point(16, 32));
 var center = null;
 var map = null;
 var currentPopup;
 var bounds = new google.maps.LatLngBounds();
 function addMarker(lat, lng, info) {
 var pt = new google.maps.LatLng(lat, lng);
 bounds.extend(pt);
 var marker = new google.maps.Marker({
 position: pt,
 icon: icon,
 map: map
 });
 var popup = new google.maps.InfoWindow({
 content: '<div style="color: #000">' + info + '</div>',
 maxWidth: 300,
 });
 google.maps.event.addListener(marker, "click", function() {
 if (currentPopup != null) {
 currentPopup.close();
 currentPopup = null;
 }

 popup.open(map, marker);
 currentPopup = popup;
 });
 google.maps.event.addListener(popup, "closeclick", function() {
 map.panTo(center);
 currentPopup = null;
 });
 }
 function initMap() {
 map = new google.maps.Map(document.getElementById("map"), {
 center: new google.maps.LatLng(0, 0),
 zoom: 14,
 mapTypeId: google.maps.MapTypeId.HYBRID,
 mapTypeControl: true,
 mapTypeControlOptions: {
 style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR
 },
 navigationControl: true,
 navigationControlOptions: {
 style: google.maps.NavigationControlStyle.DEFAULT
 }
 });
 <?php 
 $query = mysqli_query($dbc, "SELECT * FROM location");
 while ($row = mysqli_fetch_array($query)){
 $name=$row['name'];
 $addr1=$row['address'];
 $addr2=$row['address2'];
 $city=$row['city'];
 $state=$row['state'];
 $zip=$row['zip'];
 $country=$row['country'];
 $lat=$row['lat'];
 $lng=$row['lng'];

 echo ("addMarker($lat, $lng,'<p>". $name ."</p><br/>$addr2<br/>$city, $state $zip<br />$country');\n");
 }
 ?>
 center = bounds.getCenter();
 map.fitBounds(bounds);
 }
 </script>

 </head>
 <body onLoad="initMap()" style="margin:0px; border:0px; padding:0px;">
 <div class="container">
<?php 
var_dump($lat, $lng, $addr2);
?>

<div class="content">   
<h1 class="marked" align="left">
  <div id="child" >The Big Map</div></h1><br />


  <br/>

<div id="map"></div><br/>
</div>     
<br/>