首页 文章

谷歌 Map v3:标记和折线无法渲染 . 我的代码出了什么问题?

提问于
浏览
0

Problem: 我正在尝试使用Google Map v3将标记和折线添加到我的 Map 中,但它不起作用 . 它实际上没有呈现任何东西,我一直在关注Google文档,我有一个有效的API密钥所以不知道...建议?先感谢您!

<!DOCTYPE html>
    <html>
      <head>
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
        <meta charset="utf-8">
        <title>Simple Polylines</title>
     <style>
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #map {
        height: 100%;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
        <script>

    function initMap() {
    var myOptions = {
      zoom: 4,
      center: new google.maps.LatLng(42.0, 10.0),
      mapTypeId: google.maps.MapTypeId.TERRAIN
    }

    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var points = [     
        new google.maps.LatLng(39.0, -3.0),     
        new google.maps.LatLng(52.1, 12.1),     
        new google.maps.LatLng(40.2, 32.7)  
    ]; 
    var markers = [];
    var path = [];
    for (var i = 0; i < points.length; ++i) {
        var marker = new google.maps.Marker({map: map, position: points[i]});
        markers.push(marker);
        path.push(marker.position);
    }
    var polyline = new google.maps.Polyline({     
        path: path,     
        strokeColor: "#FF0000"
    });    
    polyline.setMap(map);  
    }

    </script>

    <script async defer
        src="https://maps.googleapis.com/maps/api/js?key=AIzaSyD6SfOqSpJQa45i0LWO-9zSrV9HDPzACYg&signed_in=true&callback=initMap"></script>
   
  </body>
</html>

1 回答

  • 1

    正如Dr.Molle在他的评论中观察到的那样: Map 容器的ID是 map ,而不是 map_canvas

    function initMap() {
        var myOptions = {
          zoom: 4,
          center: new google.maps.LatLng(42.0, 10.0),
          mapTypeId: google.maps.MapTypeId.TERRAIN
        }
    
        var map = new google.maps.Map(document.getElementById("map"), myOptions);
        var points = [     
            new google.maps.LatLng(39.0, -3.0),     
            new google.maps.LatLng(52.1, 12.1),     
            new google.maps.LatLng(40.2, 32.7)  
        ]; 
        var markers = [];
        var path = [];
        for (var i = 0; i < points.length; ++i) {
            var marker = new google.maps.Marker({map: map, position: points[i]});
            markers.push(marker);
            path.push(marker.position);
        }
        var polyline = new google.maps.Polyline({     
            path: path,     
            strokeColor: "#FF0000"
        });    
        polyline.setMap(map);  
        }
    
    html, body {
            height: 100%;
            margin: 0;
            padding: 0;
          }
          #map {
            height: 100%;
          }
    
    <div id="map"></div>
        <script async defer
            src="https://maps.googleapis.com/maps/api/js?signed_in=true&callback=initMap"></script>
    

相关问题