gpt4 book ai didi

google-maps - 通过API自定义Google Maps Layers?

转载 作者:行者123 更新时间:2023-12-04 04:06:34 25 4
gpt4 key购买 nike

这与Google Maps API v3有关:

当您在自定义Google Map中绘制各种PolylinesPolygonsMapLabels或任何其他Overlay元素时,它将在mapPane上绘制它们。是否可以以某种方式创建多个自定义图层,然后在这些图层上绘制Overlay对象,然后轻松地启用/禁用(显示/隐藏)这些图层?

我在这里看到有关图层的文档:https://developers.google.com/maps/documentation/javascript/layers

但是关于自定义层一无所获。

最佳答案

您可以创建一个自定义的OverlayView来做到这一点:

var LayerOverlay = function () {
this.overlays = [];
}
LayerOverlay.prototype = new google.maps.OverlayView();
LayerOverlay.prototype.addOverlay = function (overlay) {
this.overlays.push(overlay);
};
LayerOverlay.prototype.updateOverlays = function () {
for (var i = 0; i < this.overlays.length; i++) {
this.overlays[i].setMap(this.getMap());
}
};
LayerOverlay.prototype.draw = function () {};
LayerOverlay.prototype.onAdd = LayerOverlay.prototype.updateOverlays;
LayerOverlay.prototype.onRemove = LayerOverlay.prototype.updateOverlays;

然后,将叠加层添加到 LayerOverlay后,您只能使用一个 setMap来显示或隐藏它们:

var layer1 = new LayerOverlay();
layer1.addOverlay(createMarker());
layer1.addOverlay(createMarker());
layer1.addOverlay(createMarker());

// hide all markers
layer1.setMap(null);

// show all markers
layer1.setMap(map);

关于google-maps - 通过API自定义Google Maps Layers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13698653/

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