自谷歌更新以来谷歌地图天气层不再有效

时间:2014-03-10 13:31:40

标签: javascript google-maps google-maps-api-3 weather-api

我了解Google在一两天前更新了地图。自更新以来,天气层不再适用于我正在构建的网页。我有安装了Apache服务器的MacBook Air。

当地图加载时,标记仍然有效且纬度和经度正确,但城市名称不再显示,也没有任何天气功能。

这是我试图解决的问题:
*我尝试了我在MacBook上安装的三种不同的网络浏览器 - Firefox,Safari,Google。三者中的问题相同。
*我尝试关闭Mac并重新打开。
*我去了谷歌地图API网站,根据我的编码是正确的 *如果我将zoom属性设置为13,城市名称将显示但没有天气层...我理解这是缩放设置为13或更高的正确行为。
*在Google maps API网站上,我复制并粘贴了天气图层的示例代码,但它确实有效!它们具有美国以外国家的经纬度。我将编码与示例编码进行了比较,除了纬度和经度之外,我的编码是相同的。因此,当我将示例编码中的纬度和经度更改为另一个位置时,天气层停止工作。

这是我的代码,但在我看来,问题出在谷歌的最后。有人建议我在这里发布问题(我已经在productforums.google.com上发布了这个问题),因为Google的员工会看到这个问题。

var map;

      function initialize() 
      {
        var mapOptions = 
        {
          center: new google.maps.LatLng(40.0157394, -105.2792435),
          /*center: new google.maps.LatLng(49.265984,-123.127491),*/
          zoom: 13,
          mapTypeId: google.maps.MapTypeId.ROADMAP,
          mapTypeControl: true,
          mapTypeControlOptions: {
          style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
          position: google.maps.ControlPosition.TOP_LEFT
          },
          zoomControl: true,
          zoomControlOptions: {
            style: google.maps.ZoomControlStyle.SMALL,
            position: google.maps.ControlPosition.LEFT_CENTER
          } 
        }; 

         map = new google.maps.Map(document.getElementById("gmap"), mapOptions); 


         /* Weather */
         var weatherLayer = new google.maps.weather.WeatherLayer({
           temperatureUnits: google.maps.weather.TemperatureUnit.FAHRENHEIT
          });

         weatherLayer.setMap(map);

         var cloudLayer = new google.maps.weather.CloudLayer();
         cloudLayer.setMap(map);


         /* Marker & InfoWindow */   
         var marker = new google.maps.Marker(
          {
           position: mapOptions.center,
           map: map
           });

           var text = '<div id="mapText">' + 'I live in beautiful Boulder, CO!' + '</div>';  

        var infowin = new google.maps.InfoWindow(
          {
           content: text,
           pixelOffset: new google.maps.Size(0, 20)
          }); 

          infowin.open(map, marker);

          google.maps.event.addListener(marker, 'click', function() 
          {
            infowin.open(map,marker);
          });
      };

google.maps.event.addDomListener(window, 'load', initialize);

要解决此问题,我将缩放设置为13,这样至少会显示城市和街道名称,并且当缩放设置为13或更高时,天气功能将被禁用。

我很确定我的编码是正确的。任何想法将不胜感激。

0 个答案:

没有答案