如何从mysql数据库中检索值到谷歌地图中的infowindow?

时间:2013-01-19 16:07:51

标签: php javascript database google-maps

如何从mysql数据库中检索值并根据标记在infowindow中显示?

示例第一个标记,信息窗口应显示“A”..现在,它显示了所有内容。我该怎么做呢?请指导我。谢谢!

<script>
        var map;
        var marker;
        var infowindow;

        var info = <?php echo json_encode($infoWindow); ?>;
        var placeX= <?php echo json_encode($getX); ?>;
        var placeY= <?php echo json_encode($getY); ?>;

        function initialize()
        {
            var mapProp = {
              center:new google.maps.LatLng(1.35208,103.81984),
              zoom:11,
              mapTypeId:google.maps.MapTypeId.ROADMAP
              };

            map = new google.maps.Map(document.getElementById("googleMap"),mapProp);

            for(var x=0; x<placeX.length; x++)
            {
                retrieve(placeX[x],placeY[x],info[x])
            }   

        }

        function retrieve(x,y,i)
        {
            var marker=new google.maps.Marker({
              position:new google.maps.LatLng(y,x),
              });

            marker.setMap(map);

            marker.setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png')



            marker.info = new google.maps.InfoWindow ({content: '<b>No. of people who choose this location:</b> '+ info});
            google.maps.event.addListener(marker, 'click',function(){
                marker.info.open(map,marker);
                });

        }

        function addInfoWindow(x,y,h) 
        {
           var infowindow = new google.maps.InfoWindow({
              content:"Hello World!"
              });

            google.maps.event.addListener(marker, 'click', function() {
            infowindow.open(map,marker);
            });
        }

        google.maps.event.addDomListener(window, 'load', initialize);

    </script>

1 个答案:

答案 0 :(得分:0)

包含信息的retrieve参数为i而非info

marker.info = new google.maps
.InfoWindow ({content: '<b>No. of people who choose this location:</b> '+ i});
//------------------------------------------------------------------------^

与评论相关:(为最高值应用其他标记)

var info = <?php echo json_encode($infoWindow); ?>;

之后立即行动
max=Math.max.apply(null,info);

它将定义一个变量max,其中最高的info项为value。

现在您可以将此值用于条件标记:

marker.setIcon('http://maps.google.com/mapfiles/ms/icons/'+
                  ((i==max)?'red':'‌​green')+'-dot.png');