【问题标题】:Google map does not show satellite view谷歌地图不显示卫星视图
【发布时间】:2014-03-06 22:18:39
【问题描述】:

亲爱的程序员们,

谁能帮我解决我在想强制 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>

【问题讨论】:

    标签: api google-maps satellite


    【解决方案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

    【讨论】:

    • 非常感谢,我完全错过了这个。很奇怪,即使修正了它也不起作用。我正在本地开发。我仍然不明白这可能会如何干扰?
    • PHP 生成的 HTML 是什么样的?您是否收到任何 javascript 错误?
    • `
    • 这是 php 呈现的内容。控制台保持完全安静。我从来没有遇到过。我惊呆了。
    • 如果您使用 HTML 更新您的问题会更好(而不是尝试将其作为评论发布)。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-11-29
      • 2012-05-11
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      相关资源
      最近更新 更多