在聚类Google地图标记时,对象没有方法'getPosition'(api v3)

Dan*_*Dan 7 google-maps google-maps-api-3 google-maps-markers markerclusterer

我正在使用Google Maps Utility Library v3Google地图上尝试群集标记的基本实现.

当我运行此操作时,我在Chrome开发者工具控制台上收到错误消息:

Uncaught TypeError: Object #<Object> has no method 'getPosition'
Run Code Online (Sandbox Code Playgroud)

这与实用程序库脚本中的第649行有关:http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer.js.以下功能如下:

/**
 * Determins if a marker is contained in a bounds.
 *
 * @param {google.maps.Marker} marker The marker to check.
 * @param {google.maps.LatLngBounds} bounds The bounds to check against.
 * @return {boolean} True if the marker is in the bounds.
 * @private
 */
MarkerClusterer.prototype.isMarkerInBounds_ = function(marker, bounds) {
  return bounds.contains(marker.getPosition());
};
Run Code Online (Sandbox Code Playgroud)

我正在使用的代码是相当标准的Google地图内容,其主要功能是:

function initialize(items,loop,zoom) {
  geocoder = new google.maps.Geocoder();
  if (items.length > 0) {
    var latlng = new google.maps.LatLng(items[0].Lat, items[0].Lng);
    var myOptions = {
      zoom: zoom,
      center: latlng,
      //mapTypeControl: false,
      streetViewControl: false,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    map = new google.maps.Map(document.getElementById("map"), myOptions);
    map.setOptions({styles: stylez});

    for (var i = 0; i < items.length; i++) {
      var marker = new google.maps.Marker({
        position: new google.maps.LatLng(items[i].Lat, items[i].Lng),
        title: items[i].Title,
        icon: _iconCenter,
        shadow: shadow,
        infocontent: items[i].Description
      });
      marker.setMap(map);
      markersArray.push(marker);
    }
    var markerCluster = new MarkerClusterer(map, items);
    google.maps.event.addListener(map, "tilesloaded", function () {
      if(loop == true){
        SetLoop();
      }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经根据我的理解追溯了错误函数,并且应该接收地图边缘的坐标以便能够确定边界,这应该只是标准行为,但显然有些不对.

我想知道是否有人可以对此有所了解?

感谢任何人们的指点......

Dan*_*Dan 5

问题出在我是在Google Maps脚本之前声明了markerclusterer脚本的事实。调用地图脚本首先解决了它……现在显而易见!

  • 您的帖子中没有足够的信息供任何人帮助。 (3认同)
  • 事后看来,您是对的,但我没有意识到这是问题所在-我认为问题出在我的功能或集群库上。 (2认同)