Google maps 如何触发谷歌地图天气图层标记点击?
我试图点击谷歌地图实例的天气层,以打开城市的天气信息窗口:Google maps 如何触发谷歌地图天气图层标记点击?,google-maps,weather,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 = n
//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);
问题是我必须传递给触发器函数的事件。这一定是一个例子。这个实例是在用户单击它的一个标记时由层创建的,我不知道如何生成这个事件
谢谢 试试这个:
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);
目前这是不可能的。我得到一个: 不幸的是,无法通过编程方式打开天气 图层信息窗口。如果您想在API中看到这一点,请提交 功能要求: 以诺
我创建了一个。谢谢!你能解释一下这个代码吗?据我所知,您正在克隆单击天气层标记时显示的信息窗口。我还注意到您正在将
addListener
方法的返回保存到wEvent
中。我检查过它,它是一个物体,但我不知道它的用途是什么。最后,如何触发点击事件?我不是在“克隆”信息窗口。InfoWindow是需要实例化的对象。如果要删除事件侦听器,则使用wEvent变量。好的,谢谢!那么,如何使用此代码触发click事件?要触发该事件,需要向事件处理程序发送WeatherMouseEvent。我编辑了回复以包含它。此外,为了避免重复的信息窗口,您可以使用以下命令实例化天气层:var weatherLayer=new google.maps.weather.weatherLayer({suppressInfoWindows:true});