Google地图不显示卫星视图

时间:2014-03-06 22:18:39

标签: api google-maps satellite

亲爱的程序员,

在想要强制googlemap在卫星视图中显示时,有没有人可以帮我解决我遇到的真正头痛问题?由于API文档,下面的代码是必须要做的。然而它仍然以正常的地图模式出现。

有没有人遇到类似问题或看到我无法识别的错误?

感谢您阅读和努力。

PHP:

<?php if($gmapaddress!=""){ ?>
    <div class="gmap"><div id="gmap_inner"></div></div>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=es"></script> 
    <script type="text/javascript" src="<?php echo $template_uri;?>/js/jquery.gmap.js"></script> 
    <script> 
          jQuery(window).load(function(){
              //set google map with marker
              jQuery("#gmap_inner").gMap({
                  markers: [{
                      address: '<?php echo $gmapaddress; ?>'<?php if($gmapinfo!="") {?>,
                      html: '<?php echo $gmapinfo; ?>' <?php } ?>                         
                    }],  
                  zoom: <?php echo $gmapzoom;?>,
                  mapOptions: [{mapTypeID: "satellite"}] 
              });
          });
    </script>
<?php } ?>

生成HTML / javascript:

<div class="gmap"><div id="gmap_inner"></div></div>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=es"></script> 
<script type="text/javascript" src="http://localhost:8888/csmlu/wp-content/themes/zeitgeist/js/jquery.gmap.js"></script> 
<script> 
      jQuery(window).load(function(){
          //set google map with marker
          jQuery("#gmap_inner").gMap({
              markers: [{
                  address: '-40.297357°,-73.084091°'                          
                }],  
              zoom: 18,
              mapOptions: [{mapTypeId: "satellite"}] 
          });
      });
</script>

2 个答案:

答案 0 :(得分:1)

Javascript区分大小写。 MapTypeId选项具有小写“d”:

mapOptions: [{mapTypeID: "satellite"}] 

应该是:

mapOptions: [{mapTypeId: google.maps.MapTypeId.SATELLITE}] 

documentation

更新:您使用的插件仍在使用deprecated (and turned off) Google Maps Javascript API v2,其语法和选项不同,请将maptype属性设置为G_SATELLITE_MAP,没有mapOptions属性。

<script> 
      jQuery(window).load(function(){
          //set google map with marker
          jQuery("#gmap_inner").gMap({
              markers: [{
                  address: '-40.297357,-73.084091'
                }],
              zoom: 18,
              maptype: G_SATELLITE_MAP
          });
      });
</script>

working example

答案 1 :(得分:0)

好的,仍然不太清楚为什么我在上面的代码中的调用实际上没有做它应该做的事情。我刚刚找到的解决方法是查找gmaps.js核心文件并将其中的maptypeID从ROADMAPS更改为SATELLITE。如果有人遇到同样的问题,这可能会有所帮助。