我想触发点击谷歌地图实例的天气层,以打开城市的天气信息窗口:
//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的实例。当用户点击其中一个标记时,该实例由图层创建,我不知道如何生成此事件。
谢谢!
答案 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。