Javascript 谷歌地图标记

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

我可以显示我的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 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处理后粘贴函数吗?一旦页面完成加载,就从源代码复制它。