PHP和Google地图标记

PHP和Google地图标记,php,google-maps,Php,Google Maps,我不知道为什么我的谷歌标记没有显示出来。我正在使用PHP和Java脚本。我检查以确保$DNB中包含元素。这是我的密码: while($DNB -> fetch()) { ?> var point = new GLatLng(<?php echo intval($lat) ?>, <?php echo intval($lon) ?>); var marker = new google.maps.Marker({position: point,

我不知道为什么我的谷歌标记没有显示出来。我正在使用PHP和Java脚本。我检查以确保
$DNB
中包含元素。这是我的密码:

while($DNB -> fetch())
{
?>
    var point  = new GLatLng(<?php echo intval($lat) ?>, <?php echo intval($lon) ?>);
    var marker = new google.maps.Marker({position: point, map:map});
<?php
}
while($DNB->fetch())
{
?>
var点=新玻璃(,);
var marker=new google.maps.marker({position:point,map:map});

从您提供的代码来看,虽然您的
$DNB
中可能包含内容,但您的$lat和$lon似乎未初始化

如果这不能解决您的问题,请参考下面的工作示例:

function initialize() {
    var myOptions = {
        zoom: 10,
        center: new google.maps.LatLng(0, 0),
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var map = new google.maps.Map(
        document.getElementById("map_canvas"),myOptions);
        setMarkers(map, beaches);
    }

    var beaches = [
                ['SANTA MONICA HEALTHCARE CENTER',34.0295,-118.481],
                ['BRENTWOOD NURSING & REHAB',34.0389,-118.47],
                ['FIRESIDE CONVALESCENT HOSPITAL',34.0218,-118.503],
                ['ARBOR VIEW REHAB AN WELLNESS CENTER',34.0291,-118.481],
                ['SEAPORT 17TH CARE CENTER',34.0272,-118.484],
                ['GOLDSTAR HEALTHCARE CTR SANTA MONICA',34.0256,-118.486],
                ['PACIFIC CONVALESCENT CENTER',34.0273,-118.484],
                ['GOOD SHEPHERD HEALTH CARE CENTER',34.0234,-118.49],
                ['BERKLEY WEST CONVALESCENT HOSPITAL',34.0272,-118.485],
                ['SANTA MONICA CONVALESCENT CENTER II',34.0241,-118.459],
                ['BERKLEY EAST CONVALESCENT HOSPITAL',34.0302,-118.481],
                ['SANTA MONICA CONVALESCENT CENTER I',34.0241,-118.459]
            ];

    function setMarkers(map, locations) {
        var bounds = new google.maps.LatLngBounds();
        for (var i = 0; i < locations.length; i++) {
            var beach = locations[i];
            var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
            var marker = new google.maps.Marker({
            position: myLatLng,
            map: map,
            title: beach[0],
            zIndex: beach[3]
        });
        bounds.extend(myLatLng);
        map.fitBounds(bounds);
    }
}

google.maps.event.addDomListener(window, 'load', initialize);
函数初始化(){
变量myOptions={
缩放:10,
中心:新google.maps.LatLng(0,0),
mapTypeId:google.maps.mapTypeId.ROADMAP
}
var map=new google.maps.map(
getElementById(“地图画布”),myOptions;
设置标记(地图、海滩);
}
var海滩=[
[SANTA MONICA医疗中心”,34.0295,-118.481],
[BRENTWOOD护理与康复中心”,34.0389,-118.47],
[“炉边疗养医院”,34.0218,-118.503],
[ARBOR VIEW康复中心健康中心”,34.0291,-118.481],
[SEAPORT 17护理中心”,34.0272,-118.484],
[GOLDSTAR HEALTHCARE CTR SANTA MONICA',34.0256,-118.486],
[太平洋康复中心,34.0273,-118.484],
[“好牧人保健中心”,34.0234,-118.49],
['BERKLEY WEST康复医院',34.0272,-118.485],
['SANTA MONICA康复中心II',34.0241,-118.459],
['BERKLEY EAST康复医院',34.0302,-118.481],
['SANTA MONICA疗养中心I',34.0241,-118.459]
];
功能设置标记(地图、位置){
var bounds=new google.maps.LatLngBounds();
对于(变量i=0;i
GLatLng
是api的v2,而
google.maps.Marker
是api的v3。一次只能使用一个版本。坚持v3I编写$DNB->bind\u结果($businessname、$lat、$lon)所以它应该在那里。所以很难将php与js集成?一点也不。所以基本上你所要做的就是将$DNB结果存储到一个数组中,在var beats=[…]中,你只需要循环你的数组,例如:beats=[