Google maps api 3 谷歌天气图书馆
我用谷歌图书馆时间在地图上显示它 我的问题是,第一个显示的窗口非常小,你必须滚动。 如何控制此窗口的大小 其次,我只想显示我给出的坐标的地图,并显示我想要的最少时间。我该怎么做 这是我的代码:Google maps api 3 谷歌天气图书馆,google-maps-api-3,weather,Google Maps Api 3,Weather,我用谷歌图书馆时间在地图上显示它 我的问题是,第一个显示的窗口非常小,你必须滚动。 如何控制此窗口的大小 其次,我只想显示我给出的坐标的地图,并显示我想要的最少时间。我该怎么做 这是我的代码: 函数generartiempo(36.745,-3.87665,'mapatiempo'){ 变量映射选项={ 缩放:11, 中心:新google.maps.LatLng(lat,lng,true), mapTypeId:google.maps.mapTypeId.ROADMAP }; var infow
函数generartiempo(36.745,-3.87665,'mapatiempo'){
变量映射选项={
缩放:11,
中心:新google.maps.LatLng(lat,lng,true),
mapTypeId:google.maps.mapTypeId.ROADMAP
};
var infowindow=new google.maps.infowindow();
var map=new google.maps.map(document.getElementById('mapatiempo'),
地图选项);
var weatherLayer=new google.maps.weather.weatherLayer({
温度单位:google.maps.weather.TemperatureUnit.CELSIUS,
windSpeedUnit:google.maps.weather.windSpeedUnit.km/h
});
weatherLayer.setMap(weatherLayer.getMap()?null:map);
var cloudLayer=new google.maps.weather.cloudLayer();
cloudLayer.setMap(map);
}
#马帕蒂恩波{
宽度:268px;
高度:200px;
边框:1px实心#AAAAA 8;
边缘底部:5px;
边缘顶部:15px;
}
有人能帮忙吗?
编辑示例:
解决方案
谢谢 没有定义默认信息窗口大小的选项。此外,信息窗口的大小受地图大小的限制,它不能再大,因此需要放大地图 您可以做的是:使用自定义信息窗口覆盖默认信息窗口,并自行定义内容,使其适合较小的信息窗口
自定义信息窗口的示例代码:(假设一个变量包含
google.maps.Map
)
//创建weatherLayer
var weatherLayer=new google.maps.weather.weatherLayer({
温度单位:google.maps.weather.TemperatureUnit.FAHRENHEIT,
可点击:正确,
suppressInfoWindows:true
});
//创建InfoWondow实例
var weatherWindow=new google.maps.InfoWindow();
//观察点击事件
google.maps.event.addListener(weatherLayer,'click',函数(e){
//隐藏信息窗口
天气窗。关闭();
var content=document.createElement('ul'),
天气=e.featureDetails.forecast,
单位=“°”+e.featureDetails.temperatureUnit.toUpperCase();
//合并当前天气和预测
天气。推送(如功能详情。当前);
//创建一些内容(这里是一个简短的摘要)
对于(var i=0;i)您所说的“使用谷歌图书馆时间在地图上显示它”的确切含义是什么,你指的是天气预报吗?你是在问如何更改显示的地图的大小吗?如果我使用此文档WeatherLayerNo,请更改信息的窗口大小,而不是地图。当你单击你的eg时,你打开一个窗口并希望滚动更新Hepl me?谢谢,我非常担心你。你知道我如何ld获取图像例如:太阳和覆盖默认窗口信息地图上的太阳/云/任何东西都不是图像,它们是平铺的一部分,因此您无法将它们作为单个图像获取(但您可以单击它们,API将在单击时响应)。若要获取自定义信息窗口,请将weatherlayer的suppressInfoWindows
-选项设置为true
,并观察weatherlayer的单击事件。当发生单击时,传递给单击回调的参数包含该位置的天气特征,您可以使用它们为信息窗口创建在insi中定义的内容删除文档。再次感谢你,我真的不知道如何得到马赛克的那部分。如果不太需要的话,你能给我举个例子吗。谢谢!!!哦,我的上帝,我爱你。非常感谢。我欠你一个拥抱。
function generartiempo(36.745,-3.87665,'mapatiempo') {
var mapOptions = {
zoom: 11,
center: new google.maps.LatLng(lat,lng,true),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var infowindow = new google.maps.InfoWindow();
var map = new google.maps.Map(document.getElementById('mapatiempo'),
mapOptions);
var weatherLayer = new google.maps.weather.WeatherLayer({
temperatureUnits: google.maps.weather.TemperatureUnit.CELSIUS,
windSpeedUnit: google.maps.weather.WindSpeedUnit.KILOMETERS_PER_HOUR
});
weatherLayer.setMap(weatherLayer.getMap() ? null : map);
var cloudLayer = new google.maps.weather.CloudLayer();
cloudLayer.setMap(map);
}
<div id="mapatiempo"></div>
#mapatiempo {
width: 268px;
height: 200px;
border: 1px solid #AAAAA8;
margin-bottom: 5px;
margin-top: 15px;
}
//create the weatherLayer
var weatherLayer = new google.maps.weather.WeatherLayer({
temperatureUnits: google.maps.weather.TemperatureUnit.FAHRENHEIT,
clickable:true,
suppressInfoWindows:true
});
//create InfoWondow-instance
var weatherWindow=new google.maps.InfoWindow();
//observe click-event
google.maps.event.addListener(weatherLayer,'click',function(e){
//hide infoindow
weatherWindow.close();
var content = document.createElement('ul'),
weather = e.featureDetails.forecast,
unit = '°'+e.featureDetails.temperatureUnit.toUpperCase();
//merge current weather and forecast
weather.push(e.featureDetails.current);
//create some content(here a short summary)
for(var i = 0; i<weather.length; ++i){
var item = content.appendChild(document.createElement('li'))
.appendChild(document.createTextNode(''))
w = weather[i];
item.data='['+w.shortDay+']'+w.description+
'('+w.low+unit+'/'+w.high+unit+')';
}
//set content and position of the infoWindow
weatherWindow.setOptions({position:e.latLng,content:content});
//...and open the infowindow
weatherWindow.open(map);
});
weatherLayer.setMap(map);