code: func (s *HTTPServer) CoordinateDatacenters(resp http.ResponseWriter, req *http.Request) (interface{}, error) {
  	if s.checkCoordinateDisabled(resp, req) {
  		return nil, nil
  	}
  
  	var out []structs.DatacenterMap
  	if err := s.agent.RPC("Coordinate.ListDatacenters", struct{}{}, &out); err != nil {
  		for i := range out {
  			sort.Sort(&sorter{out[i].Coordinates})
  		}
  		return nil, err
  	}
  
  	// Use empty list instead of nil (these aren't really possible because
  	// Serf will give back a default coordinate and there's always one DC,
  	// but it's better to be explicit about what we want here).
  	for i := range out {
  		if out[i].Coordinates == nil {
  			out[i].Coordinates = make(structs.Coordinates, 0)
  		}
  	}
  	if out == nil {
  		out = make([]structs.DatacenterMap, 0)
  	}
  	return out, nil
  }
docs: // CoordinateDatacenters returns the WAN nodes in each datacenter, along with
  // raw network coordinates.