code: def test_custom_traits(self):
      test_layer = heatmap_layer([(1.0, 2.0), (3.0, 4.0)])
      m = maps.Map(
          map_type="HYBRID",
          mouse_handling="NONE",
          initial_viewport=maps.InitialViewport.from_zoom_center(
              10, (5.0, 10.0)
          ),
          layers=[test_layer],
      )
      state = m.get_state()
      assert state["map_type"] == "HYBRID"
      assert state["initial_viewport"] == {
          "type": "ZOOM_CENTER",
          "center": (5.0, 10.0),
          "zoom_level": 10,
      }
      assert state["layers"] == ["IPY_MODEL_" + test_layer.model_id]
      assert state["mouse_handling"] == "NONE"
  
file_path: gmaps/gmaps/tests/test_maps.py
imports: import unittest
  import traitlets
  from ..None import maps, heatmap_layer
label_desc: Use image node_id 2 for calling the Map obj's underlying member method code with example usage: obj.test_custom_traits() without return types