gpt4 book ai didi

javascript - 谷歌地图 v3 : clustering with custom markers

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:05:57 28 4
gpt4 key购买 nike

我正在尝试使用 MarkerClusterer对我 map 上的标记进行聚类。问题是我没有使用默认标记 (google.maps.Marker),而是使用从 google.maps.OverlayView 继承的自定义类。不幸的是,该库似乎是在假设使用基本标记的情况下开发的,实际上我遇到了错误,因为我的类没有实现 google.maps.Marker 中定义的方法。是否可以通过保留我的自定义标记来使用 MarkerClusterer

编辑:这比我预期的要容易得多,我通过在我的自定义类中实现 2 个方法来解决:

setVisible()getPosition()

为了帮助其他人,以下是我的完整界面(没有完全实现):

BFPushpin = function(config) 
{
this.setMap(config.map);
this.set("position", config.position);
// other settings...
};

// my class extends google.maps.OverlayView
BFPushpin.prototype = new google.maps.OverlayView();

BFPushpin.prototype.getBounds = function()
{
return new google.maps.LatLngBounds(this.position, this.position);
};

BFPushpin.prototype.getPoint = function()
{
var bounds = this.getBounds();
var projection = this.getProjection();
var sw = projection.fromLatLngToDivPixel(bounds.getSouthWest());
var ne = projection.fromLatLngToDivPixel(bounds.getNorthEast());

return new google.maps.Point(sw.x, ne.y);
};

BFPushpin.prototype.getSuperContainer = function()
{
var panes = this.getPanes();
return jQuery(panes ? panes.overlayImage : "");
};

BFPushpin.prototype.getContainer = function()
{
// return inner container
};

BFPushpin.prototype._generatePopupContent = function()
{
// return markup for the popupwindow
};

BFPushpin.prototype._addListeners = function()
{
// add handlers for the pushpin
};

BFPushpin.prototype.onAdd = function()
{
// customize content here
};

BFPushpin.prototype.onRemove = function()
{
// remove pin container here
};

BFPushpin.prototype.draw = function()
{
// set display style here
};

BFPushpin.prototype.setVisible = function(visible)
{
// set display block or hidden
};

BFPushpin.prototype.getPosition = function()
{
return this.position;
};

最佳答案

或者只定义 MarkerClusterer 期望在标记上的函数。 setMap 和 getPosition() 以及其他一些。

关于javascript - 谷歌地图 v3 : clustering with custom markers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8297456/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com