0

亲爱的程序员,

任何人都可以帮助我解决我在想强制 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>
4

2 回答 2

1

Javascript 区分大小写。MapTypeId 选项有一个小写的“d”:

mapOptions: [{mapTypeID: "satellite"}] 

应该:

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

文件

更新:您使用的插件仍在使用已弃用(并已关闭)的 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>

工作示例

于 2014-03-06T22:29:11.233 回答
0

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

于 2014-03-06T22:29:07.240 回答