mapping a digraph across sectors of countries

Given a (9,9) matrix representing three countries (for example, the US, China, Russia), each one of which has three sectors (vertices/sectors {1, 2, 3) for the US; {4, 5, 6} for China; and {7,8,9} for Russia), I like to create a map of the directed linkages between all 9 sectors using the actual world map.

SeedRandom[01]; g={{1.09738, 0.0440055, 0.113012, 0.0436654, 0.0550311, 0.0365684,   0.0990232, 0.0550859, 0.0629618}, {0.0850364, 1.05189, 0.0803699,   0.0999457, 0.0846171, 0.115742, 0.078153, 0.111992,   0.0828957}, {0.0982489, 0.0712597, 1.07401, 0.0723417, 0.0431498,   0.0824737, 0.126777, 0.0569532, 0.0808742}, {0.089248, 0.114673,   0.135009, 1.10033, 0.0743107, 0.107282, 0.133689, 0.0850109,   0.0467125}, {0.0921911, 0.0582554, 0.0937256, 0.0535134, 1.10261,   0.0882558, 0.0366383, 0.154662, 0.0893078}, {0.0835567, 0.0541454,   0.0971447, 0.0458107, 0.132431, 1.08961, 0.0726788, 0.108789,   0.118664}, {0.0747554, 0.150188, 0.139565, 0.0936757, 0.132907,   0.140158, 1.05936, 0.0964287, 0.116732}, {0.0667764, 0.0489254,   0.137437, 0.0962666, 0.0882702, 0.0704283, 0.0807027, 1.05768,   0.101375}, {0.0824603, 0.11258, 0.135069, 0.110204, 0.102288,   0.103722, 0.0453945, 0.0473116, 1.10549}}; n = 9; d = 0.12; G = RandomGraph[{Round[n], Round[n*(n - 1)*d]}, DirectedEdges ->True]; Ga = AdjacencyMatrix[G]*g; sa = SparseArray[Ga]; weightedG =    Graph[sa["NonzeroPositions"], EdgeWeight -> sa["NonzeroValues"],    DirectedEdges -> True, VertexCapacity -> {i_ :> i},    VertexSize -> .3]; SetProperty[weightedG,    VertexLabels -> {i_ :>    Placed[PropertyValue[{weightedG, i}, VertexCapacity], Center]}]