สำหรับ QGIS 3 QgsMapLayerRegistryฟังก์ชั่น 's QgsProjectได้ถูกย้ายไป
ดังนั้นสำหรับการวนซ้ำเลเยอร์แผนที่คุณควรใช้โครงสร้างนั้น:
layers = QgsProject.instance().mapLayers()
.mapLayers(){layer_x_id: layer_x, layer_y_id: layer_y, ....}กลับพจนานุกรมโครงสร้างเป็น จากนั้นคุณสามารถวนซ้ำเลเยอร์เช่น:
for layer_id, layer in layers.items():
    print(layer.name())
เนื่องจาก.mapLayers()คืนค่าพจนานุกรม ( dict) คุณยังสามารถใช้.values()วิธีการตั้งค่าพจนานุกรมซึ่งส่งคืนเฉพาะlistชั้นที่มีเลเยอร์ในกรณีนั้น จากนั้นคุณสามารถวนซ้ำเลเยอร์เช่น:
layers = QgsProject.instance().mapLayers().values()
for layer in layers:
    print(layer.name())
หากคุณต้องการคุณสามารถทำซ้ำในวิธีนี้:
layers = QgsProject.instance().mapLayers() # dictionary
for layer in layers.values():
    print(layer.name())