Javascript OverlappingMarkerSpider:无法读取属性'__e3';未定义的

Javascript OverlappingMarkerSpider:无法读取属性'__e3';未定义的,javascript,google-maps,google-maps-api-3,markers,Javascript,Google Maps,Google Maps Api 3,Markers,我尝试使用重叠标记spidefier,我遵循了我在这里找到的代码: 但是当我创建OverlappingMarkersPiderFire对象时,我得到了一个错误:UncaughtTypeError:无法读取undefined的属性“\uuuuue3”。 生成此错误的行是: oms = new OverlappingMarkerSpiderfier(map); 我正在将之前链接的示例代码与我的代码集成。但我被这个错误难住了 我改编的代码介于//--spyderfy-->之间,其余代码是我之前的代

我尝试使用重叠标记spidefier,我遵循了我在这里找到的代码:

但是当我创建OverlappingMarkersPiderFire对象时,我得到了一个错误:UncaughtTypeError:无法读取undefined的属性“\uuuuue3”。 生成此错误的行是:

oms = new OverlappingMarkerSpiderfier(map);
我正在将之前链接的示例代码与我的代码集成。但我被这个错误难住了

我改编的代码介于//--spyderfy-->之间,其余代码是我之前的代码,但有一些改动:

    'use strict'

window.onload = function() {
  var map;
  var oms;

  if ("geolocation" in navigator){
    navigator.geolocation.getCurrentPosition(onLocation, onError);
  }

  function onLocation(position){

    var myPosition = {
      lat: position.coords.latitude,
      lng: position.coords.longitude
    };

    createMap(myPosition);
    setupAutocomplete();
  }

  //----------------------------------spyderfy-------------------------------->>
  debugger;
  oms = new OverlappingMarkerSpiderfier(map);

    // listeners need to be registered only once
    oms.addListener('click', function(marker, event) {
      infowindow.setContent(marker.description);
      infowindow.open(map, marker);
    });

    oms.addListener('spiderfy', function(markers) {
      for(var i = 0; i < markers.length; i++) {
        // markers[i].setIcon(iconWithColor(spiderfiedColor));
        markers[i].setShadow(null);
      } 
      infowindow.close();
    });

    oms.addListener('unspiderfy', function(markers) {
      for(var i = 0; i < markers.length; i++) {
        // markers[i].setIcon(iconWithColor(usualColor));
        // markers[i].setShadow(shadow);
      }
    });

    function handleSucess(data){
      data.forEach(function(position_hash) {
        handleItem(position_hash);
      });
    };

    function handleItem(position_hash){


      debugger;
      //Info window content 
      var contentString = '<div id="content">'+
                          '<div id="siteNotice">'+
                          '</div>'+
                          '<h1 id="firstHeading" class="firstHeading">'+position_hash.title+'</h1>'+
                          '<div id="bodyContent">'+
                          '<p>'+position_hash.description+'</p>'+
                          '<p>'+ position_hash.date +'</p>'+
                          '<p>'+ position_hash.formatted_addres +'</p>'
                          '</div>'+
                          '</div>';

      var img = 'http://www.google.com/mapfiles/marker.png';
      var myLatLng = new google.maps.LatLng(position_hash.latitude, position_hash.longitude);
      var marker = new google.maps.Marker({
          position: myLatLng,
          map: map,
          icon: "https://cdn1.iconfinder.com/data/icons/Map-Markers-Icons-Demo-PNG/48/Map-Marker-Marker-Inside-Azure.png"
          });

      // to be possible in "click" show specific content
      marker.description = contentString;

      oms.addMarker(marker);

    };

//---------------------------------------spyderfy----------------------------->>


  function onError(err){
    console.log("What browser are you using? IE 7??", err);
  }

  function createMap(position){
    map = new google.maps.Map($('#map')[0], {
      center: position,
      zoom: 15,
    });
    yourPosition(position);

    $( document ).ready(function() {
      $.ajax({
        url:"http://localhost:3000/events.json",
        dataType: "json",
        success: handleSucess,
        error: handleError
      });
    });
  }

  function yourPosition(position){

    var marker = new google.maps.Marker({
      position: position,
      animation: google.maps.Animation.DROP,
      map: map,
      icon: {
      url: 'assets/your_pos.png',
      scaledSize: new google.maps.Size(60, 60), // scaled size
      origin: new google.maps.Point(0,0), // origin
      anchor: new google.maps.Point(0, 0) // anchor
      },          
      title: "You are here",
    });
  };

  function createMarker(position, position_hash) {};

    function handleError(jqXHR, status, errorThrown){
      alert("Something bad happened: "
        + status + ', ' + errorThrown);
    }
};
“使用严格的”
window.onload=函数(){
var映射;
var oms;
if(导航器中的“地理位置”){
navigator.geolocation.getCurrentPosition(onLocation,onError);
}
功能定位(位置){
var myPosition={
纬度:位置坐标纬度,
lng:position.coords.longitude
};
创建地图(myPosition);
setupAutocomplete();
}
//----------------------------------spyderfy----------------->
调试器;
oms=新重叠标记器(map);
//侦听器只需注册一次
oms.addListener('click',函数(标记,事件){
infowindow.setContent(marker.description);
信息窗口。打开(地图、标记);
});
oms.addListener('spiderfy',函数(标记){
对于(var i=0;i”+
“”+位置\u hash.date+”

”+ “”+position\u hash.formatted\u addres+”

” ''+ ''; var img=http://www.google.com/mapfiles/marker.png'; var myLatLng=new google.maps.LatLng(position\u hash.latitude,position\u hash.longitude); var marker=new google.maps.marker({ 职位:myLatLng, 地图:地图, 图标:“https://cdn1.iconfinder.com/data/icons/Map-Markers-Icons-Demo-PNG/48/Map-Marker-Marker-Inside-Azure.png" }); //可以在“单击”中显示特定内容 marker.description=contentString; oms.addMarker(标记器); }; //---------------------------------------spyderfy-----------------> 函数ONERR(错误){ log(“您使用的是什么浏览器?IE 7??”,错误); } 函数createMap(位置){ map=new google.maps.map($('#map')[0]{ 中锋:位置,, 缩放:15, }); 你的职位(职位); $(文档).ready(函数(){ $.ajax({ url:“http://localhost:3000/events.json", 数据类型:“json”, 成功:手感, 错误:handleError }); }); } 职能职位(职位){ var marker=new google.maps.marker({ 职位:职位,, 动画:google.maps.animation.DROP, 地图:地图, 图标:{ url:“资产/your_pos.png”, scaledSize:new google.maps.Size(60,60),//缩放大小 原点:新的google.maps.Point(0,0),//原点 锚点:新的google.maps.Point(0,0)//锚点 }, 标题:“你在这里”, }); }; 函数createMarker(position,position_hash){}; 函数句柄错误(jqXHR、状态、错误抛出){ 警报(“发生了不好的事情:” +状态+','+错误抛出); } };
我正在尝试传递一个片段,以便轻松查看我的错误:

“严格使用”
window.onload=函数(){
var映射;
var oms;
//----------------------------------启动spyderfy----------------->>
oms=新重叠标记器(map);
//侦听器只需注册一次
oms.addListener('click',函数(标记,事件){
infowindow.setContent(marker.description);
信息窗口。打开(地图、标记);
});
oms.addListener('spiderfy',函数(标记){
对于(var i=0;i>
函数createMap(位置){
map=new google.maps.map($('#map')[0]{
中心:{
纬度:41.4064557,
液化天然气:2.1920477
},
缩放:15,
});
函数ONERR(错误){
控制台日志(“
    'use strict'
  var map;
  var oms;

  //Create info window (need only one)   
  var infowindow = new google.maps.InfoWindow(); 

  if ("geolocation" in navigator){
    navigator.geolocation.getCurrentPosition(onLocation, onError);
  }

  function onLocation(position){

    var myPosition = {
      lat: position.coords.latitude,
      lng: position.coords.longitude
    };

    createMap(myPosition);
    oms = new OverlappingMarkerSpiderfier(map);
    // listeners need to be registered only once
    oms.addListener('click', function(marker, event) {
      infowindow.setContent(marker.description);
      infowindow.open(map, marker);
    });

    oms.addListener('spiderfy', function(markers) {
      for(var i = 0; i < markers.length; i++) {
        markers[i].setShadow(null);
      } 
      infowindow.close();
    });

    setupAutocomplete();
  }

  function createMap(position){
    map = new google.maps.Map($('#map')[0], {
      center: position,
      zoom: 15,
    });
    yourPosition(position);

    $( document ).ready(function() {
      $.ajax({
        url:"http://localhost:3000/events.json",
        dataType: "json",
        success: handleSucess,
        error: handleError
      });
    });
  }

    function handleSucess(data){
      data.forEach(function(position_hash) {
        if (moment(position_hash.date).isAfter(moment())) {
          handleItem(position_hash);
        };
      });
    };

    function handleItem(position_hash){
      //Info window content 
      var contentString = '<div id="content">'+
                          '<div id="siteNotice">'+
                          '</div>'+
                          '<h1 id="firstHeading" class="firstHeading">'+position_hash.title+'</h1>'+
                          '<div id="bodyContent">'+
                          '<p>'+position_hash.description+'</p>'+
                          '<p>'+ position_hash.date +'</p>'+
                          '<p>'+ position_hash.formatted_addres +'</p>'
                          '</div>'+
                          '</div>';

      var img = 'http://www.google.com/mapfiles/marker.png';
      var myLatLng = new google.maps.LatLng(position_hash.latitude, position_hash.longitude);
      var marker = new google.maps.Marker({
          position: myLatLng,
          map: map,
          icon: "https://cdn1.iconfinder.com/data/icons/Map-Markers-Icons-Demo-PNG/48/Map-Marker-Marker-Inside-Azure.png"
          });

      marker.description = contentString;

      oms.addMarker(marker);

    };


  function onError(err){
    console.log("What browser are you using? IE 7??", err);
  }

  function createMap(position){
    map = new google.maps.Map($('#map')[0], {
      center: position,
      zoom: 15,
    });
    yourPosition(position);

    $( document ).ready(function() {
      $.ajax({
        url:"http://localhost:3000/events.json",
        dataType: "json",
        success: handleSucess,
        error: handleError
      });
    });
  }

  function yourPosition(position){

    var marker = new google.maps.Marker({
      position: position,
      animation: google.maps.Animation.DROP,
      map: map,
      icon: {
      url: 'assets/your_pos.png',
      scaledSize: new google.maps.Size(60, 60), // scaled size
      origin: new google.maps.Point(0,0), // origin
      anchor: new google.maps.Point(0, 0) // anchor
      },          
      title: "You are here",
    });
  };

    function handleError(jqXHR, status, errorThrown){
      alert("Something bad happened: "
        + status + ', ' + errorThrown);
    }


  function setupAutocomplete(){
    var input = $('#location-placheholder')[0];
    var autocomplete = new google.maps.places.Autocomplete(input);
    autocomplete.addListener('place_changed', function(){
      var place = autocomplete.getPlace();
      if (place.geometry.location) {
        $("#location-longitude").val(place.geometry.location.lng().toFixed(7));
        $("#location-longitude").trigger('input');
        $("#location-latitude").val(place.geometry.location.lat().toFixed(7));
        $("#location-latitude").trigger('input');
        $(".filling").val(place.formatted_address);
        $(".filling").trigger('input');
        map.setCenter(place.geometry.location);
        //createMarker(place.geometry.location, place.formatted_address);
      } else {
        alert("The place has no location...?")
      }
    });
  };