Jak*_*son 9 google-maps google-maps-api-3
这与Google Maps API v3有关:
当你绘制各种Polylines,Polygons,MapLabels或在自定义谷歌地图的其他覆盖物元件的,它吸引过来的mapPane.是否有可能以某种方式创建多个自定义图层,您可以在其上绘制叠加对象,然后轻松启用/禁用(显示/隐藏)这些图层?
我在这里看到有关图层的文档: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;
Run Code Online (Sandbox Code Playgroud)
然后,一旦添加了叠加层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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5396 次 |
| 最近记录: |