2

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

//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的一个实例。当用户单击其标记之一时,此实例由图层创建,我不知道如何生成此事件。

谢谢!

4

2 回答 2

1

目前这是不可能的。我收到了一位 Google 员工的回复

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

以诺

我创建了一个功能请求

于 2012-07-07T11:08:09.203 回答
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);
于 2012-07-07T06:22:23.597 回答