如何触发Google Maps Weather Layer标记点击?

时间:2012-07-06 10:03:33

标签: google-maps weather

我想触发点击谷歌地图实例的天气层,以打开城市的天气信息窗口:

//Create the map
var options = {
  center: new google.maps.LatLng(49.265984,-123.127491),
};
var map = new google.maps.Map(document.getElementById("map_canvas"), options);

//Create the weather layer
var weatherLayer = new google.maps.weather.WeatherLayer();
weatherLayer.setMap(map);

//Create the event, how?
var event = ?;

//Trigger the click
google.maps.event.trigger(weatherLayer, 'click', event);

问题是我必须传递给触发器功能的事件。它必须是WeatherMouseEvent的实例。当用户点击其中一个标记时,该实例由图层创建,我不知道如何生成此事件。

谢谢!

2 个答案:

答案 0 :(得分:1)

试试这个:

var infoWindow = new google.maps.InfoWindow();

var wEvent = google.maps.event.addListener(weatherLayer, 'click', myWeatherClick);

function myWeatherClick(wme) {
    infoWindow.setPosition(wme.latLng);
    infoWindow.setContent(wme.infoWindowHtml);
    infoWindow.open(map);
}

触发事件:

var wme = {
        latLng: map.getCenter(),
        infoWindowHtml:'I\'ve been clicked'
    }
    google.maps.event.trigger(weatherLayer, 'click', wme);

答案 1 :(得分:1)

目前不可能。我得到了response from a Google Employee

  

不幸的是,无法以编程方式打开天气   图层信息窗口。如果您想在API中看到这一点,请提交一份   功能请求:http://code.google.com/p/gmaps-api-issues/issues/list

     

我创建了一个feature request