Mysql 我无法显示多段线的信息窗口

Mysql 我无法显示多段线的信息窗口,mysql,google-maps,google-maps-api-3,Mysql,Google Maps,Google Maps Api 3,请帮帮我。 我找不到信息窗口 使用谷歌地图api v3。 我的错在哪里 var infowindow = new google.maps.InfoWindow({ content: "test line" }); downloadUrl('phpsqlinfo_addrow_lin.php', function(data) { var xml = data.responseXML; var lines = xml

请帮帮我。 我找不到信息窗口 使用谷歌地图api v3。 我的错在哪里

var infowindow = new google.maps.InfoWindow({
        content: "test line"
});
           downloadUrl('phpsqlinfo_addrow_lin.php', function(data) {
           var xml = data.responseXML;

           var lines = xml.documentElement.getElementsByTagName('line');

           for (var a = 0; a < lines.length; a++) {


            var colour = lines[a].getAttribute("colour");
            var name = lines[a].getAttribute("name");
            var width  = parseFloat(lines[a].getAttribute("width"));

           var points = lines[a].getElementsByTagName('point');
           var pts = [];
           for (var i = 0; i < points.length; i++) {
           pts[i] = new google.maps.LatLng(
              parseFloat(points[i].getAttribute('lat')),
              parseFloat(points[i].getAttribute('lng')));

         }

       var polyline = new google.maps.Polyline({
                          path:pts,
                          strokeColor:colour,
                          strokeOpacity:0.5,
                          strokeWeight:width,
                          clickable: true
                          });

       polyline.setMap(map);


       function createInfoWindow(polyline,content) {
        google.maps.event.addListener(polyline, "click", function (event) {
        infowindow.setPosition(event.LatLng);
        infowindow.setContent = content;
        infowindow.open(map);
    });
}
}  
});
var infowindow=new google.maps.infowindow({
内容:“测试线”
});
下载URL('phpsqlinfo\u addrow\u lin.php',函数(数据){
var xml=data.responseXML;
var lines=xml.documentElement.getElementsByTagName('line');
对于(var a=0;a
线的坐标是从基准线中选择的。
行正常显示,并且不显示点击信息窗口

您的代码中有几个输入错误:

  • 您从不调用
    createInfoWindow
    函数
  • setContent
    是一种方法,而不是
    InfoWindow
  • event.LatLng
    应该是
    event.LatLng
  • 代码片段:

    函数初始化(){
    var映射;
    var bounds=new google.maps.LatLngBounds();
    var infowindow=new google.maps.infowindow();
    变量映射选项={
    中心:{
    拉脱维亚:45,
    液化天然气:-100
    },
    缩放:2,
    mapTypeId:“路线图”
    };
    //在页面上显示地图
    map=new google.maps.map(document.getElementById(“map_canvas”),mapOptions);
    var xml=xmlParse(xmlStr);
    var lines=xml.documentElement.getElementsByTagName('line');
    对于(var a=0;a
    html,
    身体,
    #地图画布{
    身高:100%;
    宽度:100%;
    填充:0px;
    边际:0px;
    }
    
    
    function createInfoWindow(polyline, content) {
      google.maps.event.addListener(polyline, "click", function(event) {
        infowindow.setPosition(event.latLng);
        infowindow.setContent (content);
        infowindow.open(map);
      });
    }
    createInfoWindow(polyline, "my polyline");