我的轮子里有一个轮辐,我不知道如何解决这个问题。我已经挣扎了几天,它不像一个普通的信息框,因为它没有设置为标记而非多边形,这对我来说是新的东西。我有多边形,显示XML文件中的数据,它们显示正常。我搜索了网页,并将鼠标悬停设置为鼠标悬停在多边形上的位置,不透明度会发生变化并弹出信息框。问题是当弹出窗口显示“未定义”而不是我在其中设置的html以显示XML文件中的数据时的信息框。
以下是测试地图的链接。
http://www.mesquiteweather.net/googlemap_poly.html
这是XML文件的链接,我只是想在信息框中显示元素事件和过期。
http://www.mesquiteweather.net/xml/warnings_test.xml
这是我正在使用的代码来创建信息框和鼠标悬停事件
function attachPolygonInfoWindow(polygon, html, event, expires)
{
var html = "<strong>" + event + "</strong>";
eventWarnings.infoWindow = new google.maps.InfoWindow({content: html});
google.maps.event.addListener(eventWarnings, 'mouseover', function(e) {
var latLng = e.latLng;
this.setOptions({fillOpacity:80});
polygon.infoWindow.setPosition(latLng);
polygon.infoWindow.open(map);
});
google.maps.event.addListener(eventWarnings, 'mouseout', function() {
this.setOptions({fillOpacity:0.35});
polygon.infoWindow.close();
});
}
var polygon = new google.maps.Polygon(/* omitted for brevity */);
attachPolygonInfoWindow(eventWarnings);
eventWarnings.setMap(map);
}
});
我很确定这是我很容易忽视的东西,但我找不到任何与我的问题相关的东西。我很幸运,因为我已经知道它很棘手,因为多边形没有一个真正的中心,而且它们没有像你用我能处理的标记那样设置,我很幸运。
如果有人有任何建议,请告诉我。
-Thanks
答案 0 :(得分:0)
您使用4参数定义了attachPolygonInfoWindow函数,但只在调用时提供了一个:
// definition
function attachPolygonInfoWindow(polygon, html, event, expires)
...
// call
attachPolygonInfoWindow(eventWarnings);
可能你想要(我没有看到使用的html或expires参数):
attachPolygonInfoWindow(eventWarnings, "", event, null);
另一种选择是将定义更改为:
// definition
function attachPolygonInfoWindow(polygon, event, expires)
和调用(假设您将使用“expires”):
attachPolygonInfoWindow(eventWarnings, event, expires);
因为它看起来不像你需要传递那个参数(事件正在提供我希望它提供的功能)。
另外,仅供参考,你在alertColors.js中有一个“悬挂逗号”,这使得IE不满意......