Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 谷歌地图API-不绘制所有标记_Google Maps - Fatal编程技术网

Google maps 谷歌地图API-不绘制所有标记

Google maps 谷歌地图API-不绘制所有标记,google-maps,Google Maps,我试图根据包含信息窗口文本和邮政编码的数据数组在地图上绘制多个点。我还添加了一个监听器,这样当点击标记时,信息窗口就会弹出 当我运行下面的代码时,只放置最后一个标记。有人能帮忙吗 <div class="GoogleMap"> <script src="http://maps.google.com/maps/api/js?sensor=false"type="text/javascript"></script> <div id="map" st

我试图根据包含信息窗口文本和邮政编码的数据数组在地图上绘制多个点。我还添加了一个监听器,这样当点击标记时,信息窗口就会弹出

当我运行下面的代码时,只放置最后一个标记。有人能帮忙吗

<div class="GoogleMap">
  <script src="http://maps.google.com/maps/api/js?sensor=false"type="text/javascript"></script>

  <div id="map" style="width: 977px; height: 600px;"></div>
  <script type="text/javascript">
    var locations = [
      ['<h4>Test</h4>', 'CH45 4SQ'],
      ['<h4>Test2</h4>', 'CH63 9AL']
    ];

    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 8,
      center: new google.maps.LatLng(53.45631, -2.73710),
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });

    var infowindow = new google.maps.InfoWindow();
    var geocoder = new google.maps.Geocoder();
    var marker = new google.maps.Marker({ map: map });
    var i;

    for (i = 0; i < locations.length; i++) {

      geocoderRequest = {address: locations[i][1]}
      geocoder.geocode(geocoderRequest, function(results, status) {
        marker.setPosition(results[0].geometry.location);
      });

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0]);
          infowindow.open(map, marker);
        }
      })(marker, i));
    }
  </script>

</div>

变量位置=[
['Test','CH45 4SQ'],
['Test2','CH63 9AL']
];
var map=new google.maps.map(document.getElementById('map'){
缩放:8,
中心:新google.maps.LatLng(53.45631,-2.73710),
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var infowindow=new google.maps.infowindow();
var geocoder=new google.maps.geocoder();
var marker=new google.maps.marker({map:map});
var i;
对于(i=0;i
看起来您只是在创建一个标记对象并在地图上移动它

看看这个例子:

特别是这部分代码

 var marker, i;

for (i = 0; i < locations.length; i++) {  
  marker = new google.maps.Marker({
    position: new google.maps.LatLng(locations[i][1], locations[i][2]),
    map: map
  });
var标记,i;
对于(i=0;i