google 地图标记 php
google map markers php
我可以正常显示我的 mp,但是当我去添加标记时它不再加载地图...即当我将后者 php 代码添加到我的初始化函数时它不会'不工作!有什么想法吗??!
<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>
您对 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);
-> 在 initialize
函数范围内声明。
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!!!
?>
我可以正常显示我的 mp,但是当我去添加标记时它不再加载地图...即当我将后者 php 代码添加到我的初始化函数时它不会'不工作!有什么想法吗??!
<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>
您对 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);
-> 在 initialize
函数范围内声明。
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!!!
?>