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
Javascript 谷歌地图:重叠标记器_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 谷歌地图:重叠标记器

Javascript 谷歌地图:重叠标记器,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,所以我是谷歌地图的初学者,我一直在看重叠Markerspiderfier Github的说明,但经过几个小时的摆弄,我什么都做不到!我的代码非常简单,因为我正在学习。代码如下: <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> <meta charset="utf-8">

所以我是谷歌地图的初学者,我一直在看重叠Markerspiderfier Github的说明,但经过几个小时的摆弄,我什么都做不到!我的代码非常简单,因为我正在学习。代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Simple markers</title>
    <style>
      html, body, #map-canvas {
        height: 100%;
        margin: 0px;
        padding: 0px
      }
      </style>
      <script src="http://jawj.github.io/OverlappingMarkerSpiderfier/bin/oms.min.js"></script> //added the file
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>
    <script> 

    function initialize() {
      var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
      var mapOptions = {
        zoom: 4,
        center: myLatlng
      }
      var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
      var oms = new OverlappingMarkerSpiderfier(map); //Spiderfied it here
      var iw = new gm.InfoWindow();
      oms.addListener('click', function(marker, event) {
        iw.setContent(marker.desc);
        iw.open(map, marker);
      });
      oms.addListener('spiderfy', function(markers) {
        iw.close();
      });

      var locations = ["Sydney, Australia", "Sydney, Australia", "Sydney, Australia", "Sydney, Australia"]

      for (var i = 0; i < locations.length; i ++) {
        var title_i = "title " + i;
        var desc_i = "description " + i;
        var loc = new gm.LatLng(-35.3080, 149.1245);
        var marker = new gm.Marker({
          position: loc,
          title: title_i,
          map: map
        });
        marker.desc = desc_i;
        oms.addMarker(marker);  // <-- here attempted to add markers
      } 
    }

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

    </script>
  </head>
  <body>
    <div id="map-canvas"></div>
  </body>
</html>

简单标记
html,正文,#地图画布{
身高:100%;
边际:0px;
填充:0px
}
//添加了该文件
函数初始化(){
var mylatng=new google.maps.LatLng(-25.363882131.044922);
变量映射选项={
缩放:4,
中心:myLatlng
}
var map=new google.maps.map(document.getElementById('map-canvas'),mapOptions);
var oms=new OverlappingMarkerSpiderfier(map);//在此处对其进行了加密
var iw=新的gm.InfoWindow();
oms.addListener('click',函数(标记,事件){
iw.setContent(marker.desc);
iw.打开(地图、标记);
});
oms.addListener('spiderfy',函数(标记){
iw.close();
});
var地点=[“澳大利亚悉尼”、“澳大利亚悉尼”、“澳大利亚悉尼”、“澳大利亚悉尼”、“澳大利亚悉尼”]
对于(变量i=0;i
  • 您必须首先加载maps API,然后加载
    oms.min.js
  • 您已经完成了此部分:
    var gm=google.maps;
    。请将其放在
    initialize()的开头。

  • 我可以再问一个问题吗?@user3758332你当然可以再问一个问题: