2016-01-12 139 views
-1

我试图实现一个标记,把它放在不同的位置,但它没有显示出来。不过,它确实集中在这个地方。谷歌地图标记不显示

这是JavaScript我想:

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

var map; 
var markers = [ 
    ['Kapelstraat 13', 52.408421,6.896036,21], 
]; 

function initMap() { 
    var mapOptions = { 
     zoom: 16, 
     disableDoubleClickZoom: true, 
     draggable: true, 
     panControl: false, 
     scrollwheel: true, 
     zoomControl: true, 
     streetViewControl: false, 
     overviewMapControl: false, 
     mapTypeControl: false, 
     center: new google.maps.LatLng(52.408421,6.896036,21) 
    }; 

    map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions); 
    setMarkers(); 
} 

function setMarkers(){ 
    for (i = 0; i < markers.length; i++) { 
     var post = new google.maps.LatLng(markers[i][1], markers[i][2]); 
     var marker = new google.maps.Marker({ 
      position: post, 
      map: map 
     }); 

     var infowindow = new google.maps.InfoWindow({ 
      content: markers[i][0] 
     }); 

     infowindow.open(map,marker); 
    } 
} 

我没有使用此链接到地图链接:

<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"type="text/javascript"></script> 

预先感谢您

+2

[发布的代码适用于我](http://jsfiddle.net/geocodezip/zbvajphn/)(它显示一个标记)。请提供证明此问题的[最小,完整,测试和可读示例](http://stackoverflow.com/help/mcve)。 – geocodezip

回答

0
<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"type="text/javascript"></script> 

我不得不删除异步推迟出这个剧本的。它解决了这个问题,无论如何感谢大家

-1

相反其中:

var markers = [ 
    ['Kapelstraat 13', 52.408421,6.896036,21], 
]; 

试试这个:

var markers = ['Kapelstraat 13', 52.408421,6.896036,21]; 

逗号和额外的括号内是只需要如果你正在一个数组的数组。如果这是您的目标,那么您需要添加另一个标记数据数组,而不是用逗号结束数组列表。否则,系统会提示您查找下一个数组,并且找不到可能只是在控制台中抛出错误的数组。