Javascript 谷歌地图标记
我可以显示我的mp ok,但当我添加标记时,它不再加载地图。。。i、 当我将后一个php代码添加到我的初始化函数时,它不起作用!有什么想法吗Javascript 谷歌地图标记,javascript,php,mysql,google-maps-markers,Javascript,Php,Mysql,Google Maps Markers,我可以显示我的mp ok,但当我添加标记时,它不再加载地图。。。i、 当我将后一个php代码添加到我的初始化函数时,它不起作用!有什么想法吗 <script type="text/javascript"> var map = null; function addMarker(lat, lng){ var point = new google.maps.LatLng(lat, lng); var marker = new googl
<script type="text/javascript">
var map = null;
function addMarker(lat, lng){
var point = new google.maps.LatLng(lat, lng);
var marker = new google.maps.Marker({
position: point,
map: map
});
}
function initialize() {
var mapOptions = {
center: {lat: 54.872128, lng: -6.284874},
zoom: 15
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
<?php
$query = mysqli_query("select * from tester") or die(mysqli_error());
while($row = mysqli_fetch_array($query)){
$lat = $row['lat'];
$lng = $row['lng'];
echo ("addMarker($lat, $lng);");
?>
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<div id="map-canvas" style="height:600px; width:600px;
margin-top:100px; margin-bottom: 100px;
">
</div>
var-map=null;
功能添加标记器(lat、lng){
var point=new google.maps.LatLng(lat,lng);
var marker=new google.maps.marker({
位置:点,,
地图:地图
});
}
函数初始化(){
变量映射选项={
中心:{lat:54.872128,lng:-6.284874},
缩放:15
};
var map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
如果map
的范围有问题,在初始化函数中,您将在该范围内重新声明它,而不是填充以前的map变量,请按如下方式从函数中删除var
:
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); //Note i've removed the "var" keyword from this line.
再解释一下:
var-map=null代码>->在全局范围内声明
var-map=new google.maps.map(document.getElementById('map-canvas'),mapOptions)代码>->在初始化
功能范围内声明
var marker = new google.maps.Marker({
position: point,
map: map // -> NULL because it will look for map in the parent scope.
});
我发现了问题,您缺少while语句的结束括号:
<?php
$query = mysqli_query("select * from tester") or die(mysqli_error());
while ($row = mysqli_fetch_array($query)) {
$lat = $row['lat'];
$lng = $row['lng'];
echo ("addMarker($lat, $lng);");
} //Missing!!!
?>
当我从initialize()函数中删除php时,映射加载正常,但如果php处于nothing状态,则根本不会加载……打印javascript代码的文件是否具有.php扩展名?如果没有,php将永远不会被评估。另外,您的开发者控制台中是否有任何错误?SyntaxError:expected expression,get'您能在php处理后粘贴函数吗?一旦页面完成加载,就从源代码复制它。